{ "name": "azure", "version": "v3.24.0", "description": "A Pulumi package for creating and managing Microsoft Azure cloud resources.", "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/terraform-providers/terraform-provider-azurerm).", "repository": "https://github.com/pulumi/pulumi-azure", "meta": { "moduleFormat": "(.*)(?:/[^/]*)" }, "config": { "variables": { "auxiliaryTenantIds": { "type": "array", "items": { "type": "string" } }, "clientCertificatePassword": { "type": "string", "description": "The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client\nCertificate\n" }, "clientCertificatePath": { "type": "string", "description": "The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service\nPrincipal using a Client Certificate.\n" }, "clientId": { "type": "string", "description": "The Client ID which should be used.\n" }, "clientSecret": { "type": "string", "description": "The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.\n" }, "disableCorrelationRequestId": { "type": "boolean", "description": "This will disable the x-ms-correlation-request-id header.\n" }, "disableTerraformPartnerId": { "type": "boolean", "description": "This will disable the Terraform Partner ID which is used if a custom `partner_id` isn't specified.\n" }, "environment": { "type": "string", "description": "The Cloud Environment which should be used. Possible values are public, usgovernment, german, and china. Defaults to\npublic.\n", "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.\n", "default": "", "defaultInfo": { "environment": [ "ARM_METADATA_HOSTNAME" ] } }, "metadataUrl": { "type": "string", "description": "Deprecated - replaced by `metadata_host`.\n", "default": "", "defaultInfo": { "environment": [ "ARM_METADATA_URL" ] }, "deprecationMessage": "use `metadata_host` instead" }, "msiEndpoint": { "type": "string", "description": "The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected\nautomatically.\n" }, "partnerId": { "type": "string", "description": "A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.\n" }, "skipCredentialsValidation": { "type": "boolean", "description": "This will cause the AzureRM Provider to skip verifying the credentials being used are valid.\n" }, "skipProviderRegistration": { "type": "boolean", "description": "Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already\nregistered?\n", "default": false, "defaultInfo": { "environment": [ "ARM_SKIP_PROVIDER_REGISTRATION" ] } }, "storageUseAzuread": { "type": "boolean", "description": "Should the AzureRM Provider use AzureAD to access the Storage Data Plane API's?\n", "default": false, "defaultInfo": { "environment": [ "ARM_STORAGE_USE_AZUREAD" ] } }, "subscriptionId": { "type": "string", "description": "The Subscription ID which should be used.\n", "default": "", "defaultInfo": { "environment": [ "ARM_SUBSCRIPTION_ID" ] } }, "tenantId": { "type": "string", "description": "The Tenant ID which should be used.\n" }, "useMsi": { "type": "boolean", "description": "Allowed Managed Service Identity be used for Authentication.\n" } }, "defaults": [ "environment", "metadataHost" ] }, "types": { "azure:advisor/getRecommendationsRecommendation:getRecommendationsRecommendation": { "properties": { "category": { "type": "string", "description": "The category of the recommendation.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "The description of the issue or the opportunity identified by the recommendation.\n", "language": { "python": { "mapCase": false } } }, "impact": { "type": "string", "description": "The business impact of the recommendation.\n", "language": { "python": { "mapCase": false } } }, "recommendationName": { "type": "string", "description": "The name of the Advisor Recommendation.\n", "language": { "python": { "mapCase": false } } }, "recommendationTypeId": { "type": "string", "description": "The recommendation type id of the Advisor Recommendation.\n", "language": { "python": { "mapCase": false } } }, "resourceName": { "type": "string", "description": "The name of the identified resource of the Advisor Recommendation.\n", "language": { "python": { "mapCase": false } } }, "resourceType": { "type": "string", "description": "The type of the identified resource of the Advisor Recommendation.\n", "language": { "python": { "mapCase": false } } }, "suppressionNames": { "type": "array", "items": { "type": "string" }, "description": "A list of Advisor Suppression names of the Advisor Recommendation.\n", "language": { "python": { "mapCase": false } } }, "updatedTime": { "type": "string", "description": "The most recent time that Advisor checked the validity of the recommendation..\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "category", "description", "impact", "recommendationName", "recommendationTypeId", "resourceName", "resourceType", "suppressionNames", "updatedTime" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule": { "properties": { "name": { "type": "string", "description": "Specifies the name of the firewall rule.\n", "language": { "python": { "mapCase": false } } }, "rangeEnd": { "type": "string", "description": "End of the firewall rule range as IPv4 address.\n", "language": { "python": { "mapCase": false } } }, "rangeStart": { "type": "string", "description": "Start of the firewall rule range as IPv4 address.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "rangeEnd", "rangeStart" ] }, "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: `openapi`, `openapi+json`, `openapi+json-link`, `openapi-link`, `swagger-json`, `swagger-link-json`, `wadl-link-json`, `wadl-xml`, `wsdl` and `wsdl-link`.\n", "language": { "python": { "mapCase": false } } }, "contentValue": { "type": "string", "description": "The Content from which the API Definition should be imported. When a `content_format` of `*-link-*` is specified this must be a URL, otherwise this must be defined inline.\n", "language": { "python": { "mapCase": false } } }, "wsdlSelector": { "$ref": "#/types/azure:apimanagement/ApiImportWsdlSelector:ApiImportWsdlSelector", "description": "A `wsdl_selector` 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 `content_format` is `wsdl` or `wsdl-link`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contentFormat", "contentValue" ] }, "azure:apimanagement/ApiImportWsdlSelector:ApiImportWsdlSelector": { "properties": { "endpointName": { "type": "string", "description": "The name of endpoint (port) to import from WSDL.\n", "language": { "python": { "mapCase": false } } }, "serviceName": { "type": "string", "description": "The name of service to import from WSDL.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "endpointName", "serviceName" ] }, "azure:apimanagement/ApiOauth2Authorization:ApiOauth2Authorization": { "properties": { "authorizationServerName": { "type": "string", "description": "OAuth authorization server identifier. The name of an OAuth2 Authorization Server.\n", "language": { "python": { "mapCase": false } } }, "scope": { "type": "string", "description": "Operations scope.\n", "language": { "python": { "mapCase": false } } } }, "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 `query`.\n", "language": { "python": { "mapCase": false } } }, "openidProviderName": { "type": "string", "description": "OpenID Connect provider identifier. The name of an OpenID Connect Provider.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "headers": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationRequestHeader:ApiOperationRequestHeader" }, "description": "One or more `header` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "queryParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationRequestQueryParameter:ApiOperationRequestQueryParameter" }, "description": "One or more `query_parameter` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "representations": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationRequestRepresentation:ApiOperationRequestRepresentation" }, "description": "One or more `representation` blocks as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/ApiOperationRequestHeader:ApiOperationRequestHeader": { "properties": { "defaultValue": { "type": "string", "description": "The default value for this Header.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description of this Header.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Header.\n", "language": { "python": { "mapCase": false } } }, "required": { "type": "boolean", "description": "Is this Header Required?\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of this Header, such as a `string`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "One or more acceptable values for this Header.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "required", "type" ] }, "azure:apimanagement/ApiOperationRequestQueryParameter:ApiOperationRequestQueryParameter": { "properties": { "defaultValue": { "type": "string", "description": "The default value for this Query Parameter.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description of this Query Parameter.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Query Parameter.\n", "language": { "python": { "mapCase": false } } }, "required": { "type": "boolean", "description": "Is this Query Parameter Required?\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of this Query Parameter, such as a `string`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "One or more acceptable values for this Query Parameter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "required", "type" ] }, "azure:apimanagement/ApiOperationRequestRepresentation:ApiOperationRequestRepresentation": { "properties": { "contentType": { "type": "string", "description": "The Content Type of this representation, such as `application/json`.\n", "language": { "python": { "mapCase": false } } }, "formParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationRequestRepresentationFormParameter:ApiOperationRequestRepresentationFormParameter" }, "description": "One or more `form_parameter` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "sample": { "type": "string", "description": "An example of this representation.\n", "language": { "python": { "mapCase": false } } }, "schemaId": { "type": "string", "description": "The ID of an API Management Schema which represents this Response.\n", "language": { "python": { "mapCase": false } } }, "typeName": { "type": "string", "description": "The Type Name defined by the Schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contentType" ] }, "azure:apimanagement/ApiOperationRequestRepresentationFormParameter:ApiOperationRequestRepresentationFormParameter": { "properties": { "defaultValue": { "type": "string", "description": "The default value for this Form Parameter.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description of this Form Parameter.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Form Parameter.\n", "language": { "python": { "mapCase": false } } }, "required": { "type": "boolean", "description": "Is this Form Parameter Required?\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of this Form Parameter, such as a `string`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "One or more acceptable values for this Form Parameter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "required", "type" ] }, "azure:apimanagement/ApiOperationResponse:ApiOperationResponse": { "properties": { "description": { "type": "string", "description": "A description of the HTTP Response, which may include HTML tags.\n", "language": { "python": { "mapCase": false } } }, "headers": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationResponseHeader:ApiOperationResponseHeader" }, "description": "One or more `header` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "representations": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationResponseRepresentation:ApiOperationResponseRepresentation" }, "description": "One or more `representation` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "statusCode": { "type": "integer", "description": "The HTTP Status Code.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "statusCode" ] }, "azure:apimanagement/ApiOperationResponseHeader:ApiOperationResponseHeader": { "properties": { "defaultValue": { "type": "string", "description": "The default value for this Header.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description of this Header.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Header.\n", "language": { "python": { "mapCase": false } } }, "required": { "type": "boolean", "description": "Is this Header Required?\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of this Header, such as a `string`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "One or more acceptable values for this Header.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "required", "type" ] }, "azure:apimanagement/ApiOperationResponseRepresentation:ApiOperationResponseRepresentation": { "properties": { "contentType": { "type": "string", "description": "The Content Type of this representation, such as `application/json`.\n", "language": { "python": { "mapCase": false } } }, "formParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationResponseRepresentationFormParameter:ApiOperationResponseRepresentationFormParameter" }, "description": "One or more `form_parameter` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "sample": { "type": "string", "description": "An example of this representation.\n", "language": { "python": { "mapCase": false } } }, "schemaId": { "type": "string", "description": "The ID of an API Management Schema which represents this Response.\n", "language": { "python": { "mapCase": false } } }, "typeName": { "type": "string", "description": "The Type Name defined by the Schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contentType" ] }, "azure:apimanagement/ApiOperationResponseRepresentationFormParameter:ApiOperationResponseRepresentationFormParameter": { "properties": { "defaultValue": { "type": "string", "description": "The default value for this Form Parameter.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description of this Form Parameter.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Form Parameter.\n", "language": { "python": { "mapCase": false } } }, "required": { "type": "boolean", "description": "Is this Form Parameter Required?\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of this Form Parameter, such as a `string`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "One or more acceptable values for this Form Parameter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "required", "type" ] }, "azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter": { "properties": { "defaultValue": { "type": "string", "description": "The default value for this Template Parameter.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description of this Template Parameter.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Template Parameter.\n", "language": { "python": { "mapCase": false } } }, "required": { "type": "boolean", "description": "Is this Template Parameter Required?\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of this Template Parameter, such as a `string`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "One or more acceptable values for this Template Parameter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "required", "type" ] }, "azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames": { "properties": { "header": { "type": "string", "description": "The name of the HTTP Header which should be used for the Subscription Key.\n", "language": { "python": { "mapCase": false } } }, "query": { "type": "string", "description": "The name of the QueryString parameter which should be used for the Subscription Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "header", "query" ] }, "azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter": { "properties": { "name": { "type": "string", "description": "The Name of the Parameter.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The Value of the Parameter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "value" ] }, "azure:apimanagement/BackendCredentials:BackendCredentials": { "properties": { "authorization": { "$ref": "#/types/azure:apimanagement/BackendCredentialsAuthorization:BackendCredentialsAuthorization", "description": "An `authorization` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/BackendCredentialsAuthorization:BackendCredentialsAuthorization": { "properties": { "parameter": { "type": "string", "description": "The authentication Parameter value.\n", "language": { "python": { "mapCase": false } } }, "scheme": { "type": "string", "description": "The authentication Scheme name.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/BackendProxy:BackendProxy": { "properties": { "password": { "type": "string", "description": "The password to connect to the proxy server.\n", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "The URL of the proxy server.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username to connect to the proxy server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "url", "username" ] }, "azure:apimanagement/BackendServiceFabricCluster:BackendServiceFabricCluster": { "properties": { "clientCertificateThumbprint": { "type": "string", "description": "The client certificate thumbprint for the management endpoint.\n", "language": { "python": { "mapCase": false } } }, "managementEndpoints": { "type": "array", "items": { "type": "string" }, "description": "A list of cluster management endpoints.\n", "language": { "python": { "mapCase": false } } }, "maxPartitionResolutionRetries": { "type": "integer", "description": "The maximum number of retries when attempting resolve the partition.\n", "language": { "python": { "mapCase": false } } }, "serverCertificateThumbprints": { "type": "array", "items": { "type": "string" }, "description": "A list of thumbprints of the server certificates of the Service Fabric cluster.\n", "language": { "python": { "mapCase": false } } }, "serverX509Names": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/BackendServiceFabricClusterServerX509Name:BackendServiceFabricClusterServerX509Name" }, "description": "One or more `server_x509_name` blocks as documented below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientCertificateThumbprint", "managementEndpoints", "maxPartitionResolutionRetries" ] }, "azure:apimanagement/BackendServiceFabricClusterServerX509Name:BackendServiceFabricClusterServerX509Name": { "properties": { "issuerCertificateThumbprint": { "type": "string", "description": "The thumbprint for the issuer of the certificate.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the API Management backend. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "validateCertificateName": { "type": "boolean", "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for the backend host.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights": { "properties": { "instrumentationKey": { "type": "string", "description": "The instrumentation key used to push data to Application Insights.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "instrumentationKey" ] }, "azure:apimanagement/LoggerEventhub:LoggerEventhub": { "properties": { "connectionString": { "type": "string", "description": "The connection string of an EventHub Namespace.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of an EventHub.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "connectionString", "name" ] }, "azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation": { "properties": { "gatewayRegionalUrl": { "type": "string", "description": "The URL of the Regional Gateway for the API Management Service in the specified region.\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The name of the Azure Region in which the API Management Service should be expanded to.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:apimanagement/ServiceAdditionalLocationVirtualNetworkConfiguration:ServiceAdditionalLocationVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "location" ], "language": { "nodejs": { "requiredOutputs": [ "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "subnetId" ] }, "azure:apimanagement/ServiceCertificate:ServiceCertificate": { "properties": { "certificatePassword": { "type": "string", "description": "The password for the certificate.\n", "language": { "python": { "mapCase": false } } }, "encodedCertificate": { "type": "string", "description": "The Base64 Encoded PFX Certificate.\n", "language": { "python": { "mapCase": false } } }, "storeName": { "type": "string", "description": "The name of the Certificate Store where this certificate should be stored. Possible values are `CertificateAuthority` and `Root`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificatePassword", "encodedCertificate", "storeName" ] }, "azure:apimanagement/ServiceHostnameConfiguration:ServiceHostnameConfiguration": { "properties": { "developerPortals": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceHostnameConfigurationDeveloperPortal:ServiceHostnameConfigurationDeveloperPortal" }, "description": "One or more `developer_portal` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "managements": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceHostnameConfigurationManagement:ServiceHostnameConfigurationManagement" }, "description": "One or more `management` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "portals": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceHostnameConfigurationPortal:ServiceHostnameConfigurationPortal" }, "description": "One or more `portal` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "proxies": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceHostnameConfigurationProxy:ServiceHostnameConfigurationProxy" }, "description": "One or more `proxy` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "scms": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceHostnameConfigurationScm:ServiceHostnameConfigurationScm" }, "description": "One or more `scm` blocks as documented below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/ServiceHostnameConfigurationDeveloperPortal:ServiceHostnameConfigurationDeveloperPortal": { "properties": { "certificate": { "type": "string", "description": "One or more (up to 10) `certificate` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "certificatePassword": { "type": "string", "description": "The password for the certificate.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname to use for the Management API.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Should Client Certificate Negotiation be enabled for this Hostname? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName" ] }, "azure:apimanagement/ServiceHostnameConfigurationManagement:ServiceHostnameConfigurationManagement": { "properties": { "certificate": { "type": "string", "description": "The Base64 Encoded Certificate.\n", "language": { "python": { "mapCase": false } } }, "certificatePassword": { "type": "string", "description": "The password associated with the certificate provided above.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname to use for the Management API.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Should Client Certificate Negotiation be enabled for this Hostname? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName" ] }, "azure:apimanagement/ServiceHostnameConfigurationPortal:ServiceHostnameConfigurationPortal": { "properties": { "certificate": { "type": "string", "description": "One or more (up to 10) `certificate` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "certificatePassword": { "type": "string", "description": "The password for the certificate.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname to use for the Management API.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Should Client Certificate Negotiation be enabled for this Hostname? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName" ] }, "azure:apimanagement/ServiceHostnameConfigurationProxy:ServiceHostnameConfigurationProxy": { "properties": { "certificate": { "type": "string", "description": "The Base64 Encoded Certificate.\n", "language": { "python": { "mapCase": false } } }, "certificatePassword": { "type": "string", "description": "The password associated with the certificate provided above.\n", "language": { "python": { "mapCase": false } } }, "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 `false`.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname to use for the Management API.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Should Client Certificate Negotiation be enabled for this Hostname? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName" ], "language": { "nodejs": { "requiredOutputs": [ "defaultSslBinding", "hostName" ] } } }, "azure:apimanagement/ServiceHostnameConfigurationScm:ServiceHostnameConfigurationScm": { "properties": { "certificate": { "type": "string", "description": "One or more (up to 10) `certificate` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "certificatePassword": { "type": "string", "description": "The password for the certificate.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname to use for the Management API.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Should Client Certificate Negotiation be enabled for this Hostname? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName" ] }, "azure:apimanagement/ServiceIdentity:ServiceIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "A list of IDs for User Assigned Managed Identity resources to be assigned.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The Principal ID associated with this Managed Service Identity.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID associated with this Managed Service Identity.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId" ] } } }, "azure:apimanagement/ServicePolicy:ServicePolicy": { "properties": { "xmlContent": { "type": "string", "description": "The XML Content for this Policy.\n", "language": { "python": { "mapCase": false } } }, "xmlLink": { "type": "string", "description": "A link to an API Management Policy XML Document, which must be publicly available.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "xmlContent" ] } } }, "azure:apimanagement/ServiceProtocols:ServiceProtocols": { "properties": { "enableHttp2": { "type": "boolean", "description": "Should HTTP/2 be supported by the API Management Service? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/ServiceSecurity:ServiceSecurity": { "properties": { "enableBackendSsl30": { "type": "boolean", "description": "Should SSL 3.0 be enabled on the backend of the gateway? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableBackendTls10": { "type": "boolean", "description": "Should TLS 1.0 be enabled on the backend of the gateway? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableBackendTls11": { "type": "boolean", "description": "Should TLS 1.1 be enabled on the backend of the gateway? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableFrontendSsl30": { "type": "boolean", "description": "Should SSL 3.0 be enabled on the frontend of the gateway? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableFrontendTls10": { "type": "boolean", "description": "Should TLS 1.0 be enabled on the frontend of the gateway? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableFrontendTls11": { "type": "boolean", "description": "Should TLS 1.1 be enabled on the frontend of the gateway? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableTripleDesCiphers": { "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)? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:apimanagement/ServiceSignIn:ServiceSignIn": { "properties": { "enabled": { "type": "boolean", "description": "Should anonymous users be redirected to the sign in page?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:apimanagement/ServiceSignUp:ServiceSignUp": { "properties": { "enabled": { "type": "boolean", "description": "Can users sign up on the development portal?\n", "language": { "python": { "mapCase": false } } }, "termsOfService": { "$ref": "#/types/azure:apimanagement/ServiceSignUpTermsOfService:ServiceSignUpTermsOfService", "description": "A `terms_of_service` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Should Terms of Service be displayed during sign up?.\n", "language": { "python": { "mapCase": false } } }, "text": { "type": "string", "description": "The Terms of Service which users are required to agree to in order to sign up.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consentRequired", "enabled" ] }, "azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration": { "properties": { "subnetId": { "type": "string", "description": "The id of the subnet that will be used for the API Management.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "subnetId" ] }, "azure:apimanagement/getApiSubscriptionKeyParameterName:getApiSubscriptionKeyParameterName": { "properties": { "header": { "type": "string", "description": "The name of the HTTP Header which should be used for the Subscription Key.\n", "language": { "python": { "mapCase": false } } }, "query": { "type": "string", "description": "The name of the QueryString parameter which should be used for the Subscription Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "header", "query" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceAdditionalLocation:getServiceAdditionalLocation": { "properties": { "gatewayRegionalUrl": { "type": "string", "description": "Gateway URL of the API Management service in the Region.\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The location name of the additional region among Azure Data center regions.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "gatewayRegionalUrl", "location", "privateIpAddresses", "publicIpAddresses" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceHostnameConfiguration:getServiceHostnameConfiguration": { "properties": { "developerPortals": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceHostnameConfigurationDeveloperPortal:getServiceHostnameConfigurationDeveloperPortal" }, "description": "One or more `developer_portal` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "managements": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceHostnameConfigurationManagement:getServiceHostnameConfigurationManagement" }, "description": "One or more `management` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "portals": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceHostnameConfigurationPortal:getServiceHostnameConfigurationPortal" }, "description": "One or more `portal` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "proxies": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceHostnameConfigurationProxy:getServiceHostnameConfigurationProxy" }, "description": "One or more `proxy` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "scms": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceHostnameConfigurationScm:getServiceHostnameConfigurationScm" }, "description": "One or more `scm` blocks as documented below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault Secret which contains the SSL Certificate.\n", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Is Client Certificate Negotiation enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName", "keyVaultId", "negotiateClientCertificate" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceHostnameConfigurationManagement:getServiceHostnameConfigurationManagement": { "properties": { "hostName": { "type": "string", "description": "The Hostname used for the SCM URL.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault Secret which contains the SSL Certificate.\n", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Is Client Certificate Negotiation enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName", "keyVaultId", "negotiateClientCertificate" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceHostnameConfigurationPortal:getServiceHostnameConfigurationPortal": { "properties": { "hostName": { "type": "string", "description": "The Hostname used for the SCM URL.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault Secret which contains the SSL Certificate.\n", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Is Client Certificate Negotiation enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName", "keyVaultId", "negotiateClientCertificate" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceHostnameConfigurationProxy:getServiceHostnameConfigurationProxy": { "properties": { "defaultSslBinding": { "type": "boolean", "description": "Is this the default SSL Binding?\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname used for the SCM URL.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault Secret which contains the SSL Certificate.\n", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Is Client Certificate Negotiation enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "defaultSslBinding", "hostName", "keyVaultId", "negotiateClientCertificate" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceHostnameConfigurationScm:getServiceHostnameConfigurationScm": { "properties": { "hostName": { "type": "string", "description": "The Hostname used for the SCM URL.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault Secret which contains the SSL Certificate.\n", "language": { "python": { "mapCase": false } } }, "negotiateClientCertificate": { "type": "boolean", "description": "Is Client Certificate Negotiation enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName", "keyVaultId", "negotiateClientCertificate" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:apimanagement/getServiceIdentity:getServiceIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "A list of IDs for User Assigned Managed Identity resources to be assigned.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this API Management Service.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this API Management Service.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the type of Managed Service Identity that is configured on this API Management Service.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "identityIds", "principalId", "tenantId", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appconfiguration/ConfigurationStorePrimaryReadKey:ConfigurationStorePrimaryReadKey": { "properties": { "connectionString": { "type": "string", "description": "The Connection String for this Access Key - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "connectionString", "id", "secret" ] } } }, "azure:appconfiguration/ConfigurationStorePrimaryWriteKey:ConfigurationStorePrimaryWriteKey": { "properties": { "connectionString": { "type": "string", "description": "The Connection String for this Access Key - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "connectionString", "id", "secret" ] } } }, "azure:appconfiguration/ConfigurationStoreSecondaryReadKey:ConfigurationStoreSecondaryReadKey": { "properties": { "connectionString": { "type": "string", "description": "The Connection String for this Access Key - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "connectionString", "id", "secret" ] } } }, "azure:appconfiguration/ConfigurationStoreSecondaryWriteKey:ConfigurationStoreSecondaryWriteKey": { "properties": { "connectionString": { "type": "string", "description": "The Connection String for this Access Key - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "connectionString", "id", "secret" ] } } }, "azure:appconfiguration/getConfigurationStorePrimaryReadKey:getConfigurationStorePrimaryReadKey": { "properties": { "connectionString": { "type": "string", "description": "The Connection String for this Access Key - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "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 - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "connectionString", "id", "secret" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appconfiguration/getConfigurationStoreSecondaryReadKey:getConfigurationStoreSecondaryReadKey": { "properties": { "connectionString": { "type": "string", "description": "The Connection String for this Access Key - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "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 - comprising of the Endpoint, ID and Secret.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Access Key.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret of the Access Key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "connectionString", "id", "secret" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Managed Service Identity of this Spring Cloud Application.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Managed Service Identity of this Spring Cloud Application.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the identity type of the Spring Cloud Application. Possible value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting": { "properties": { "httpBasicAuth": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingHttpBasicAuth:SpringCloudServiceConfigServerGitSettingHttpBasicAuth", "description": "A `http_basic_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "repositories": { "type": "array", "items": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingRepository:SpringCloudServiceConfigServerGitSettingRepository" }, "description": "One or more `repository` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "searchPaths": { "type": "array", "items": { "type": "string" }, "description": "An array of strings used to search subdirectories of the Git repository.\n", "language": { "python": { "mapCase": false } } }, "sshAuth": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingSshAuth:SpringCloudServiceConfigServerGitSettingSshAuth", "description": "A `ssh_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:appplatform/SpringCloudServiceConfigServerGitSettingRepository:SpringCloudServiceConfigServerGitSettingRepository": { "properties": { "httpBasicAuth": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth:SpringCloudServiceConfigServerGitSettingRepositoryHttpBasicAuth", "description": "A `http_basic_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "A name to identify on the Git repository, required only if repos exists.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "searchPaths": { "type": "array", "items": { "type": "string" }, "description": "An array of strings used to search subdirectories of the Git repository.\n", "language": { "python": { "mapCase": false } } }, "sshAuth": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSettingRepositorySshAuth:SpringCloudServiceConfigServerGitSettingRepositorySshAuth", "description": "A `ssh_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "privateKey": { "type": "string", "description": "The SSH private key to access the Git repository, required when the URI starts with `git@` or `ssh://`.\n", "language": { "python": { "mapCase": false } } }, "strictHostKeyCheckingEnabled": { "type": "boolean", "description": "Indicates whether the Config Server instance will fail to start if the host_key does not match.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "privateKey": { "type": "string", "description": "The SSH private key to access the Git repository, required when the URI starts with `git@` or `ssh://`.\n", "language": { "python": { "mapCase": false } } }, "strictHostKeyCheckingEnabled": { "type": "boolean", "description": "Indicates whether the Config Server instance will fail to start if the host_key does not match.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "privateKey" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "appSubnetId", "cidrRanges", "serviceRuntimeSubnetId" ], "language": { "nodejs": { "requiredOutputs": [ "appNetworkResourceGroup", "appSubnetId", "cidrRanges", "serviceRuntimeNetworkResourceGroup", "serviceRuntimeSubnetId" ] } } }, "azure:appplatform/SpringCloudServiceTrace:SpringCloudServiceTrace": { "properties": { "instrumentationKey": { "type": "string", "description": "The Instrumentation Key used for Application Insights.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "instrumentationKey" ] }, "azure:appplatform/getSpringCloudServiceConfigServerGitSetting:getSpringCloudServiceConfigServerGitSetting": { "properties": { "httpBasicAuths": { "type": "array", "items": { "$ref": "#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingHttpBasicAuth:getSpringCloudServiceConfigServerGitSettingHttpBasicAuth" }, "description": "A `http_basic_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "repositories": { "type": "array", "items": { "$ref": "#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepository:getSpringCloudServiceConfigServerGitSettingRepository" }, "description": "One or more `repository` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "searchPaths": { "type": "array", "items": { "type": "string" }, "description": "An array of strings used to search subdirectories of the Git repository.\n", "language": { "python": { "mapCase": false } } }, "sshAuths": { "type": "array", "items": { "$ref": "#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingSshAuth:getSpringCloudServiceConfigServerGitSettingSshAuth" }, "description": "A `ssh_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "uri": { "type": "string", "description": "The URI of the Git repository\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used to access the Http Basic Authentication Git repository server.\n", "language": { "python": { "mapCase": false } } } }, "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 `http_basic_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies The name of the Spring Cloud Service resource.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "searchPaths": { "type": "array", "items": { "type": "string" }, "description": "An array of strings used to search subdirectories of the Git repository.\n", "language": { "python": { "mapCase": false } } }, "sshAuths": { "type": "array", "items": { "$ref": "#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSettingRepositorySshAuth:getSpringCloudServiceConfigServerGitSettingRepositorySshAuth" }, "description": "A `ssh_auth` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "uri": { "type": "string", "description": "The URI of the Git repository\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used to access the Http Basic Authentication Git repository server.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "hostKeyAlgorithm": { "type": "string", "description": "The host key algorithm.\n", "language": { "python": { "mapCase": false } } }, "privateKey": { "type": "string", "description": "The SSH private key to access the Git repository, needed when the URI starts with `git@` or `ssh://`.\n", "language": { "python": { "mapCase": false } } }, "strictHostKeyCheckingEnabled": { "type": "boolean", "description": "Indicates whether the Config Server instance will fail to start if the host_key does not match.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "hostKeyAlgorithm": { "type": "string", "description": "The host key algorithm.\n", "language": { "python": { "mapCase": false } } }, "privateKey": { "type": "string", "description": "The SSH private key to access the Git repository, needed when the URI starts with `git@` or `ssh://`.\n", "language": { "python": { "mapCase": false } } }, "strictHostKeyCheckingEnabled": { "type": "boolean", "description": "Indicates whether the Config Server instance will fail to start if the host_key does not match.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostKey", "hostKeyAlgorithm", "privateKey", "strictHostKeyCheckingEnabled" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/AppServiceAuthSettings:AppServiceAuthSettings": { "properties": { "activeDirectory": { "$ref": "#/types/azure:appservice/AppServiceAuthSettingsActiveDirectory:AppServiceAuthSettingsActiveDirectory", "description": "A `active_directory` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Authentication enabled?\n", "language": { "python": { "mapCase": false } } }, "facebook": { "$ref": "#/types/azure:appservice/AppServiceAuthSettingsFacebook:AppServiceAuthSettingsFacebook", "description": "A `facebook` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "google": { "$ref": "#/types/azure:appservice/AppServiceAuthSettingsGoogle:AppServiceAuthSettingsGoogle", "description": "A `google` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "issuer": { "type": "string", "description": "Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\n", "language": { "python": { "mapCase": false } } }, "microsoft": { "$ref": "#/types/azure:appservice/AppServiceAuthSettingsMicrosoft:AppServiceAuthSettingsMicrosoft", "description": "A `microsoft` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "runtimeVersion": { "type": "string", "description": "The runtime version of the Authentication/Authorization module.\n", "language": { "python": { "mapCase": false } } }, "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 72.\n", "language": { "python": { "mapCase": false } } }, "tokenStoreEnabled": { "type": "boolean", "description": "If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "twitter": { "$ref": "#/types/azure:appservice/AppServiceAuthSettingsTwitter:AppServiceAuthSettingsTwitter", "description": "A `twitter` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "unauthenticatedClientAction": { "type": "string", "description": "The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientId": { "type": "string", "description": "The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId" ] }, "azure:appservice/AppServiceAuthSettingsFacebook:AppServiceAuthSettingsFacebook": { "properties": { "appId": { "type": "string", "description": "The App ID of the Facebook app used for login\n", "language": { "python": { "mapCase": false } } }, "appSecret": { "type": "string", "description": "The App Secret of the Facebook app used for Facebook Login.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. https://developers.facebook.com/docs/facebook-login\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The client secret associated with the Google web application.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The OAuth 2.0 client secret that was created for the app used for authentication.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId", "clientSecret" ] }, "azure:appservice/AppServiceAuthSettingsTwitter:AppServiceAuthSettingsTwitter": { "properties": { "consumerKey": { "type": "string", "language": { "python": { "mapCase": false } } }, "consumerSecret": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consumerKey", "consumerSecret" ] }, "azure:appservice/AppServiceBackup:AppServiceBackup": { "properties": { "enabled": { "type": "boolean", "description": "Is this Backup enabled?\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name for this Backup.\n", "language": { "python": { "mapCase": false } } }, "schedule": { "$ref": "#/types/azure:appservice/AppServiceBackupSchedule:AppServiceBackupSchedule", "description": "A `schedule` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "storageAccountUrl": { "type": "string", "description": "The SAS URL to a Storage Container where Backups should be saved.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "schedule", "storageAccountUrl" ] }, "azure:appservice/AppServiceBackupSchedule:AppServiceBackupSchedule": { "properties": { "frequencyInterval": { "type": "integer", "description": "Sets how often the backup should be executed.\n", "language": { "python": { "mapCase": false } } }, "frequencyUnit": { "type": "string", "description": "Sets the unit of time for how often the backup should be executed. Possible values are `Day` or `Hour`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "retentionPeriodInDays": { "type": "integer", "description": "Specifies the number of days after which Backups should be deleted.\n", "language": { "python": { "mapCase": false } } }, "startTime": { "type": "string", "description": "Sets when the schedule should start working.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "frequencyInterval", "frequencyUnit" ] }, "azure:appservice/AppServiceConnectionString:AppServiceConnectionString": { "properties": { "name": { "type": "string", "description": "The name of the Connection String.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value for the Connection String.\n", "language": { "python": { "mapCase": false } } } }, "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 `type` is `UserAssigned`.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n", "language": { "python": { "mapCase": false } } }, "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 `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:appservice/AppServiceLogs:AppServiceLogs": { "properties": { "applicationLogs": { "$ref": "#/types/azure:appservice/AppServiceLogsApplicationLogs:AppServiceLogsApplicationLogs", "description": "An `application_logs` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "httpLogs": { "$ref": "#/types/azure:appservice/AppServiceLogsHttpLogs:AppServiceLogsHttpLogs", "description": "An `http_logs` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "applicationLogs", "httpLogs" ] } } }, "azure:appservice/AppServiceLogsApplicationLogs:AppServiceLogsApplicationLogs": { "properties": { "azureBlobStorage": { "$ref": "#/types/azure:appservice/AppServiceLogsApplicationLogsAzureBlobStorage:AppServiceLogsApplicationLogsAzureBlobStorage", "description": "An `azure_blob_storage` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "fileSystemLevel": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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 `http_logs`\n", "language": { "python": { "mapCase": false } } }, "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for.\n", "language": { "python": { "mapCase": false } } }, "sasUrl": { "type": "string", "description": "The URL to the storage container, with a Service SAS token appended. **NOTE:** there is currently no means of generating Service SAS tokens with the `azurerm` provider.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "level", "retentionInDays", "sasUrl" ] }, "azure:appservice/AppServiceLogsHttpLogs:AppServiceLogsHttpLogs": { "properties": { "azureBlobStorage": { "$ref": "#/types/azure:appservice/AppServiceLogsHttpLogsAzureBlobStorage:AppServiceLogsHttpLogsAzureBlobStorage", "description": "An `azure_blob_storage` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "fileSystem": { "$ref": "#/types/azure:appservice/AppServiceLogsHttpLogsFileSystem:AppServiceLogsHttpLogsFileSystem", "description": "A `file_system` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:appservice/AppServiceLogsHttpLogsAzureBlobStorage:AppServiceLogsHttpLogsAzureBlobStorage": { "properties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for.\n", "language": { "python": { "mapCase": false } } }, "sasUrl": { "type": "string", "description": "The URL to the storage container, with a Service SAS token appended. **NOTE:** there is currently no means of generating Service SAS tokens with the `azurerm` provider.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "retentionInDays", "sasUrl" ] }, "azure:appservice/AppServiceLogsHttpLogsFileSystem:AppServiceLogsHttpLogsFileSystem": { "properties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for.\n", "language": { "python": { "mapCase": false } } }, "retentionInMb": { "type": "integer", "description": "The maximum size in megabytes that http log files can use before being removed.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "retentionInDays", "retentionInMb" ] }, "azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig": { "properties": { "alwaysOn": { "type": "boolean", "description": "Should the app be loaded at all times? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "appCommandLine": { "type": "string", "description": "App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.\n", "language": { "python": { "mapCase": false } } }, "autoSwapSlotName": { "type": "string", "language": { "python": { "mapCase": false } } }, "cors": { "$ref": "#/types/azure:appservice/AppServiceSiteConfigCors:AppServiceSiteConfigCors", "description": "A `cors` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "defaultDocuments": { "type": "array", "items": { "type": "string" }, "description": "The ordering of default documents to load, if an address isn't specified.\n", "language": { "python": { "mapCase": false } } }, "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`) and `v4.0` (which corresponds to the latest version of the .net CLR v4 - which at the time of writing is `.net 4.7.1`). [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", "language": { "python": { "mapCase": false } } }, "ftpsState": { "type": "string", "description": "State of FTP / FTPS service for this App Service. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.\n", "language": { "python": { "mapCase": false } } }, "healthCheckPath": { "type": "string", "description": "The health check path to be pinged by App Service. [For more information - please see the corresponding Kudu Wiki page](https://github.com/projectkudu/kudu/wiki/Health-Check-(Preview)).\n", "language": { "python": { "mapCase": false } } }, "http2Enabled": { "type": "boolean", "description": "Is HTTP2 Enabled on this App Service? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "ipRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceSiteConfigIpRestriction:AppServiceSiteConfigIpRestriction" }, "description": "A list of objects representing ip restrictions as defined below.\n", "language": { "python": { "mapCase": false } } }, "javaContainer": { "type": "string", "description": "The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JAVA`, `JETTY`, and `TOMCAT`.\n", "language": { "python": { "mapCase": false } } }, "javaContainerVersion": { "type": "string", "description": "The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.\n", "language": { "python": { "mapCase": false } } }, "javaVersion": { "type": "string", "description": "The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8` and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "managedPipelineMode": { "type": "string", "description": "The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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`, and `7.3`.\n", "language": { "python": { "mapCase": false } } }, "pythonVersion": { "type": "string", "description": "The version of Python to use in this App Service. Possible values are `2.7` and `3.4`.\n", "language": { "python": { "mapCase": false } } }, "remoteDebuggingEnabled": { "type": "boolean", "description": "Is Remote Debugging Enabled? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "remoteDebuggingVersion": { "type": "string", "description": "Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2012`, `VS2013`, `VS2015` and `VS2017`.\n", "language": { "python": { "mapCase": false } } }, "scmIpRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceSiteConfigScmIpRestriction:AppServiceSiteConfigScmIpRestriction" }, "description": "A [List of objects](https://www.terraform.io/docs/configuration/attr-as-blocks.html) representing ip restrictions as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "scmUseMainIpRestriction": { "type": "boolean", "description": "IP security restrictions for scm to use main. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "use32BitWorkerProcess": { "type": "boolean", "description": "Should the App Service run in 32 bit mode, rather than 64 bit mode?\n", "language": { "python": { "mapCase": false } } }, "websocketsEnabled": { "type": "boolean", "description": "Should WebSockets be enabled?\n", "language": { "python": { "mapCase": false } } }, "windowsFxVersion": { "type": "string", "description": "The Windows Docker container image (`DOCKER|\u003cuser/image:tag\u003e`)\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "cors", "ftpsState", "ipRestrictions", "linuxFxVersion", "localMysqlEnabled", "managedPipelineMode", "minTlsVersion", "remoteDebuggingVersion", "scmIpRestrictions", "scmType", "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", "language": { "python": { "mapCase": false } } }, "supportCredentials": { "type": "boolean", "description": "Are credentials supported?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "azure:appservice/AppServiceSiteConfigScmIpRestriction:AppServiceSiteConfigScmIpRestriction": { "properties": { "action": { "type": "string", "description": "Allow or Deny access for this IP range. Defaults to Allow.\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username which can be used to publish to this App Service\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "manualIntegration": { "type": "boolean", "description": "Limits to manual integration. Defaults to `false` if not specified.\n", "language": { "python": { "mapCase": false } } }, "repoUrl": { "type": "string", "description": "The URL of the source code repository.\n", "language": { "python": { "mapCase": false } } }, "rollbackEnabled": { "type": "boolean", "description": "Enable roll-back for the repository. Defaults to `false` if not specified.\n", "language": { "python": { "mapCase": false } } }, "useMercurial": { "type": "boolean", "description": "Use Mercurial if `true`, otherwise uses Git.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "accountName": { "type": "string", "description": "The name of the storage account.\n", "language": { "python": { "mapCase": false } } }, "mountPath": { "type": "string", "description": "The path to mount the storage within the site's runtime environment.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the storage account identifier.\n", "language": { "python": { "mapCase": false } } }, "shareName": { "type": "string", "description": "The name of the file share (container name, for Blob storage).\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of storage. Possible values are `AzureBlob` and `AzureFiles`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "Key Vault resource Id.\n", "language": { "python": { "mapCase": false } } }, "keyVaultSecretName": { "type": "string", "description": "Key Vault secret name.\n", "language": { "python": { "mapCase": false } } }, "provisioningState": { "type": "string", "description": "Status of the Key Vault secret.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "certificateName", "keyVaultId", "keyVaultSecretName", "provisioningState" ] } } }, "azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings": { "properties": { "activeDirectory": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettingsActiveDirectory:FunctionAppAuthSettingsActiveDirectory", "description": "A `active_directory` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Authentication enabled?\n", "language": { "python": { "mapCase": false } } }, "facebook": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettingsFacebook:FunctionAppAuthSettingsFacebook", "description": "A `facebook` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "google": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettingsGoogle:FunctionAppAuthSettingsGoogle", "description": "A `google` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "issuer": { "type": "string", "description": "Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\n", "language": { "python": { "mapCase": false } } }, "microsoft": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettingsMicrosoft:FunctionAppAuthSettingsMicrosoft", "description": "A `microsoft` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "runtimeVersion": { "type": "string", "description": "The runtime version of the Authentication/Authorization module.\n", "language": { "python": { "mapCase": false } } }, "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 72.\n", "language": { "python": { "mapCase": false } } }, "tokenStoreEnabled": { "type": "boolean", "description": "If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "twitter": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettingsTwitter:FunctionAppAuthSettingsTwitter", "description": "A `twitter` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "unauthenticatedClientAction": { "type": "string", "description": "The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientId": { "type": "string", "description": "The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId" ] }, "azure:appservice/FunctionAppAuthSettingsFacebook:FunctionAppAuthSettingsFacebook": { "properties": { "appId": { "type": "string", "description": "The App ID of the Facebook app used for login\n", "language": { "python": { "mapCase": false } } }, "appSecret": { "type": "string", "description": "The App Secret of the Facebook app used for Facebook Login.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. https://developers.facebook.com/docs/facebook-login\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The client secret associated with the Google web application.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The OAuth 2.0 client secret that was created for the app used for authentication.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId", "clientSecret" ] }, "azure:appservice/FunctionAppAuthSettingsTwitter:FunctionAppAuthSettingsTwitter": { "properties": { "consumerKey": { "type": "string", "language": { "python": { "mapCase": false } } }, "consumerSecret": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consumerKey", "consumerSecret" ] }, "azure:appservice/FunctionAppConnectionString:FunctionAppConnectionString": { "properties": { "name": { "type": "string", "description": "The name of the Connection String.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value for the Connection String.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "type", "value" ] }, "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 `type` is `UserAssigned`.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n", "language": { "python": { "mapCase": false } } }, "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 `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n", "language": { "python": { "mapCase": false } } } }, "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 `false`.\n", "language": { "python": { "mapCase": false } } }, "autoSwapSlotName": { "type": "string", "language": { "python": { "mapCase": false } } }, "cors": { "$ref": "#/types/azure:appservice/FunctionAppSiteConfigCors:FunctionAppSiteConfigCors", "description": "A `cors` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "ftpsState": { "type": "string", "description": "State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.\n", "language": { "python": { "mapCase": false } } }, "http2Enabled": { "type": "boolean", "description": "Specifies whether or not the http2 protocol should be enabled. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "ipRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSiteConfigIpRestriction:FunctionAppSiteConfigIpRestriction" }, "description": "A [List of objects](https://www.terraform.io/docs/configuration/attr-as-blocks.html) representing ip restrictions as defined below.\n", "language": { "python": { "mapCase": false } } }, "linuxFxVersion": { "type": "string", "description": "Linux App Framework and version for the AppService, e.g. `DOCKER|(golang:latest)`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "preWarmedInstanceCount": { "type": "integer", "description": "The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.\n", "language": { "python": { "mapCase": false } } }, "scmIpRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSiteConfigScmIpRestriction:FunctionAppSiteConfigScmIpRestriction" }, "description": "A [List of objects](https://www.terraform.io/docs/configuration/attr-as-blocks.html) representing ip restrictions as defined below.\n", "language": { "python": { "mapCase": false } } }, "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` (dafault), `OneDrive`, `Tfs`, `VSO`, and `VSTSRM`\n", "language": { "python": { "mapCase": false } } }, "scmUseMainIpRestriction": { "type": "boolean", "description": "IP security restrictions for scm to use main. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "use32BitWorkerProcess": { "type": "boolean", "description": "Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "websocketsEnabled": { "type": "boolean", "description": "Should WebSockets be enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "cors", "ftpsState", "ipRestrictions", "linuxFxVersion", "minTlsVersion", "scmIpRestrictions", "scmType" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "supportCredentials": { "type": "boolean", "description": "Are credentials supported?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "azure:appservice/FunctionAppSiteConfigScmIpRestriction:FunctionAppSiteConfigScmIpRestriction": { "properties": { "action": { "type": "string", "description": "Allow or Deny access for this IP range. Defaults to Allow.\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username which can be used to publish to this App Service\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "password", "username" ] } } }, "azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings": { "properties": { "activeDirectory": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettingsActiveDirectory:FunctionAppSlotAuthSettingsActiveDirectory", "description": "An `active_directory` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Authentication enabled?\n", "language": { "python": { "mapCase": false } } }, "facebook": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettingsFacebook:FunctionAppSlotAuthSettingsFacebook", "description": "A `facebook` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "google": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettingsGoogle:FunctionAppSlotAuthSettingsGoogle", "description": "A `google` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "issuer": { "type": "string", "description": "Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\n", "language": { "python": { "mapCase": false } } }, "microsoft": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettingsMicrosoft:FunctionAppSlotAuthSettingsMicrosoft", "description": "A `microsoft` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "runtimeVersion": { "type": "string", "description": "The runtime version of the Authentication/Authorization module.\n", "language": { "python": { "mapCase": false } } }, "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 72.\n", "language": { "python": { "mapCase": false } } }, "tokenStoreEnabled": { "type": "boolean", "description": "If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "twitter": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettingsTwitter:FunctionAppSlotAuthSettingsTwitter", "description": "A `twitter` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "unauthenticatedClientAction": { "type": "string", "description": "The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientId": { "type": "string", "description": "The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId" ] }, "azure:appservice/FunctionAppSlotAuthSettingsFacebook:FunctionAppSlotAuthSettingsFacebook": { "properties": { "appId": { "type": "string", "description": "The App ID of the Facebook app used for login\n", "language": { "python": { "mapCase": false } } }, "appSecret": { "type": "string", "description": "The App Secret of the Facebook app used for Facebook Login.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. https://developers.facebook.com/docs/facebook-login\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The client secret associated with the Google web application.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The OAuth 2.0 client secret that was created for the app used for authentication.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId", "clientSecret" ] }, "azure:appservice/FunctionAppSlotAuthSettingsTwitter:FunctionAppSlotAuthSettingsTwitter": { "properties": { "consumerKey": { "type": "string", "language": { "python": { "mapCase": false } } }, "consumerSecret": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consumerKey", "consumerSecret" ] }, "azure:appservice/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString": { "properties": { "name": { "type": "string", "description": "The name of the Connection String.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value for the Connection String.\n", "language": { "python": { "mapCase": false } } } }, "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 `type` is `UserAssigned`.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.\n", "language": { "python": { "mapCase": false } } }, "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 `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n", "language": { "python": { "mapCase": false } } } }, "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 `false`.\n", "language": { "python": { "mapCase": false } } }, "autoSwapSlotName": { "type": "string", "description": "The name of the slot to automatically swap to during deployment\n", "language": { "python": { "mapCase": false } } }, "cors": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteConfigCors:FunctionAppSlotSiteConfigCors", "description": "A `cors` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "ftpsState": { "type": "string", "description": "State of FTP / FTPS service for this function app. Possible values include: `AllAllowed`, `FtpsOnly` and `Disabled`.\n", "language": { "python": { "mapCase": false } } }, "http2Enabled": { "type": "boolean", "description": "Specifies whether or not the http2 protocol should be enabled. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "ipRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteConfigIpRestriction:FunctionAppSlotSiteConfigIpRestriction" }, "description": "A [List of objects](https://www.terraform.io/docs/configuration/attr-as-blocks.html) representing ip restrictions as defined below.\n", "language": { "python": { "mapCase": false } } }, "linuxFxVersion": { "type": "string", "description": "Linux App Framework and version for the AppService, e.g. `DOCKER|(golang:latest)`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "preWarmedInstanceCount": { "type": "integer", "description": "The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.\n", "language": { "python": { "mapCase": false } } }, "scmIpRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteConfigScmIpRestriction:FunctionAppSlotSiteConfigScmIpRestriction" }, "language": { "python": { "mapCase": false } } }, "scmType": { "type": "string", "language": { "python": { "mapCase": false } } }, "scmUseMainIpRestriction": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "use32BitWorkerProcess": { "type": "boolean", "description": "Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "websocketsEnabled": { "type": "boolean", "description": "Should WebSockets be enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "cors", "ftpsState", "ipRestrictions", "linuxFxVersion", "minTlsVersion", "scmIpRestrictions", "scmType" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "supportCredentials": { "type": "boolean", "description": "Are credentials supported?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "azure:appservice/FunctionAppSlotSiteConfigScmIpRestriction:FunctionAppSlotSiteConfigScmIpRestriction": { "properties": { "action": { "type": "string", "description": "Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Function App. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username which can be used to publish to this App Service\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "manualIntegration": { "type": "boolean", "description": "Limits to manual integration. Defaults to `false` if not specified.\n", "language": { "python": { "mapCase": false } } }, "repoUrl": { "type": "string", "description": "The URL of the source code repository.\n", "language": { "python": { "mapCase": false } } }, "rollbackEnabled": { "type": "boolean", "description": "Enable roll-back for the repository. Defaults to `false` if not specified.\n", "language": { "python": { "mapCase": false } } }, "useMercurial": { "type": "boolean", "description": "Use Mercurial if `true`, otherwise uses Git.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "branch", "manualIntegration", "repoUrl", "rollbackEnabled", "useMercurial" ] } } }, "azure:appservice/PlanSku:PlanSku": { "properties": { "capacity": { "type": "integer", "description": "Specifies the number of workers associated with this App Service Plan.\n", "language": { "python": { "mapCase": false } } }, "size": { "type": "string", "description": "Specifies the plan's instance size.\n", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "Specifies the plan's pricing tier.\n", "language": { "python": { "mapCase": false } } } }, "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 `active_directory` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Authentication enabled?\n", "language": { "python": { "mapCase": false } } }, "facebook": { "$ref": "#/types/azure:appservice/SlotAuthSettingsFacebook:SlotAuthSettingsFacebook", "description": "A `facebook` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "google": { "$ref": "#/types/azure:appservice/SlotAuthSettingsGoogle:SlotAuthSettingsGoogle", "description": "A `google` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "issuer": { "type": "string", "description": "Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\n", "language": { "python": { "mapCase": false } } }, "microsoft": { "$ref": "#/types/azure:appservice/SlotAuthSettingsMicrosoft:SlotAuthSettingsMicrosoft", "description": "A `microsoft` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "runtimeVersion": { "type": "string", "description": "The runtime version of the Authentication/Authorization module.\n", "language": { "python": { "mapCase": false } } }, "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 72.\n", "language": { "python": { "mapCase": false } } }, "tokenStoreEnabled": { "type": "boolean", "description": "If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "twitter": { "$ref": "#/types/azure:appservice/SlotAuthSettingsTwitter:SlotAuthSettingsTwitter", "description": "A `twitter` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "unauthenticatedClientAction": { "type": "string", "description": "The action to take when an unauthenticated client attempts to access the app. Possible values are `AllowAnonymous` and `RedirectToLoginPage`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientId": { "type": "string", "description": "The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId" ] }, "azure:appservice/SlotAuthSettingsFacebook:SlotAuthSettingsFacebook": { "properties": { "appId": { "type": "string", "description": "The App ID of the Facebook app used for login\n", "language": { "python": { "mapCase": false } } }, "appSecret": { "type": "string", "description": "The App Secret of the Facebook app used for Facebook Login.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. https://developers.facebook.com/docs/facebook-login\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The client secret associated with the Google web application.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The OAuth 2.0 client secret that was created for the app used for authentication.\n", "language": { "python": { "mapCase": false } } }, "oauthScopes": { "type": "array", "items": { "type": "string" }, "description": "The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId", "clientSecret" ] }, "azure:appservice/SlotAuthSettingsTwitter:SlotAuthSettingsTwitter": { "properties": { "consumerKey": { "type": "string", "language": { "python": { "mapCase": false } } }, "consumerSecret": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consumerKey", "consumerSecret" ] }, "azure:appservice/SlotConnectionString:SlotConnectionString": { "properties": { "name": { "type": "string", "description": "The name of the Connection String.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value for the Connection String.\n", "language": { "python": { "mapCase": false } } } }, "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 `type` is `UserAssigned`.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "language": { "python": { "mapCase": false } } }, "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 `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:appservice/SlotLogs:SlotLogs": { "properties": { "applicationLogs": { "$ref": "#/types/azure:appservice/SlotLogsApplicationLogs:SlotLogsApplicationLogs", "description": "An `application_logs` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "httpLogs": { "$ref": "#/types/azure:appservice/SlotLogsHttpLogs:SlotLogsHttpLogs", "description": "An `http_logs` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "applicationLogs", "httpLogs" ] } } }, "azure:appservice/SlotLogsApplicationLogs:SlotLogsApplicationLogs": { "properties": { "azureBlobStorage": { "$ref": "#/types/azure:appservice/SlotLogsApplicationLogsAzureBlobStorage:SlotLogsApplicationLogsAzureBlobStorage", "description": "An `azure_blob_storage` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "fileSystemLevel": { "type": "string", "description": "The file system log level. Possible values are `Off`, `Error`, `Warning`, `Information`, and `Verbose`.\n", "language": { "python": { "mapCase": false } } } }, "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 `http_logs`\n", "language": { "python": { "mapCase": false } } }, "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for.\n", "language": { "python": { "mapCase": false } } }, "sasUrl": { "type": "string", "description": "The URL to the storage container, with a Service SAS token appended. **NOTE:** there is currently no means of generating Service SAS tokens with the `azurerm` provider.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "level", "retentionInDays", "sasUrl" ] }, "azure:appservice/SlotLogsHttpLogs:SlotLogsHttpLogs": { "properties": { "azureBlobStorage": { "$ref": "#/types/azure:appservice/SlotLogsHttpLogsAzureBlobStorage:SlotLogsHttpLogsAzureBlobStorage", "description": "An `azure_blob_storage` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "fileSystem": { "$ref": "#/types/azure:appservice/SlotLogsHttpLogsFileSystem:SlotLogsHttpLogsFileSystem", "description": "A `file_system` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:appservice/SlotLogsHttpLogsAzureBlobStorage:SlotLogsHttpLogsAzureBlobStorage": { "properties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for.\n", "language": { "python": { "mapCase": false } } }, "sasUrl": { "type": "string", "description": "The URL to the storage container, with a Service SAS token appended. **NOTE:** there is currently no means of generating Service SAS tokens with the `azurerm` provider.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "retentionInDays", "sasUrl" ] }, "azure:appservice/SlotLogsHttpLogsFileSystem:SlotLogsHttpLogsFileSystem": { "properties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for.\n", "language": { "python": { "mapCase": false } } }, "retentionInMb": { "type": "integer", "description": "The maximum size in megabytes that http log files can use before being removed.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "retentionInDays", "retentionInMb" ] }, "azure:appservice/SlotSiteConfig:SlotSiteConfig": { "properties": { "alwaysOn": { "type": "boolean", "description": "Should the app be loaded at all times? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "appCommandLine": { "type": "string", "description": "App command line to launch, e.g. `/sbin/myserver -b 0.0.0.0`.\n", "language": { "python": { "mapCase": false } } }, "autoSwapSlotName": { "type": "string", "description": "The name of the slot to automatically swap to during deployment\n", "language": { "python": { "mapCase": false } } }, "cors": { "$ref": "#/types/azure:appservice/SlotSiteConfigCors:SlotSiteConfigCors", "description": "A `cors` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "defaultDocuments": { "type": "array", "items": { "type": "string" }, "description": "The ordering of default documents to load, if an address isn't specified.\n", "language": { "python": { "mapCase": false } } }, "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`) and `v4.0` (which corresponds to the latest version of the .net CLR v4 - which at the time of writing is `.net 4.7.1`). [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", "language": { "python": { "mapCase": false } } }, "ftpsState": { "type": "string", "language": { "python": { "mapCase": false } } }, "healthCheckPath": { "type": "string", "language": { "python": { "mapCase": false } } }, "http2Enabled": { "type": "boolean", "description": "Is HTTP2 Enabled on this App Service? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "ipRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/SlotSiteConfigIpRestriction:SlotSiteConfigIpRestriction" }, "description": "A list of objects representing ip restrictions as defined below.\n", "language": { "python": { "mapCase": false } } }, "javaContainer": { "type": "string", "description": "The Java Container to use. If specified `java_version` and `java_container_version` must also be specified. Possible values are `JETTY` and `TOMCAT`.\n", "language": { "python": { "mapCase": false } } }, "javaContainerVersion": { "type": "string", "description": "The version of the Java Container to use. If specified `java_version` and `java_container` must also be specified.\n", "language": { "python": { "mapCase": false } } }, "javaVersion": { "type": "string", "description": "The version of Java to use. If specified `java_container` and `java_container_version` must also be specified. Possible values are `1.7`, `1.8`, and `11` and their specific versions - except for Java 11 (e.g. `1.7.0_80`, `1.8.0_181`, `11`)\n", "language": { "python": { "mapCase": false } } }, "linuxFxVersion": { "type": "string", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "managedPipelineMode": { "type": "string", "description": "The Managed Pipeline Mode. Possible values are `Integrated` and `Classic`. Defaults to `Integrated`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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`, and `7.3`.\n", "language": { "python": { "mapCase": false } } }, "pythonVersion": { "type": "string", "description": "The version of Python to use in this App Service Slot. Possible values are `2.7` and `3.4`.\n", "language": { "python": { "mapCase": false } } }, "remoteDebuggingEnabled": { "type": "boolean", "description": "Is Remote Debugging Enabled? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "remoteDebuggingVersion": { "type": "string", "description": "Which version of Visual Studio should the Remote Debugger be compatible with? Possible values are `VS2012`, `VS2013`, `VS2015`, and `VS2017`.\n", "language": { "python": { "mapCase": false } } }, "scmIpRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/SlotSiteConfigScmIpRestriction:SlotSiteConfigScmIpRestriction" }, "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "scmUseMainIpRestriction": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "use32BitWorkerProcess": { "type": "boolean", "description": "Should the App Service Slot run in 32 bit mode, rather than 64 bit mode?\n", "language": { "python": { "mapCase": false } } }, "websocketsEnabled": { "type": "boolean", "description": "Should WebSockets be enabled?\n", "language": { "python": { "mapCase": false } } }, "windowsFxVersion": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "cors", "ftpsState", "ipRestrictions", "linuxFxVersion", "localMysqlEnabled", "managedPipelineMode", "minTlsVersion", "remoteDebuggingVersion", "scmIpRestrictions", "scmType", "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", "language": { "python": { "mapCase": false } } }, "supportCredentials": { "type": "boolean", "description": "Are credentials supported?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "azure:appservice/SlotSiteConfigScmIpRestriction:SlotSiteConfigScmIpRestriction": { "properties": { "action": { "type": "string", "description": "Does this restriction `Allow` or `Deny` access for this IP range. Defaults to `Allow`.\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the App Service Slot component. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "deprecationMessage": "This field has been deprecated in favour of `virtual_network_subnet_id` and will be removed in a future version of the provider", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name", "subnetId", "virtualNetworkSubnetId" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username which can be used to publish to this App Service\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "password", "username" ] } } }, "azure:appservice/getAppServiceConnectionString:getAppServiceConnectionString": { "properties": { "name": { "type": "string", "description": "The name of the App Service.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of the Connection String.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value for the Connection String.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "size": { "type": "string", "description": "Specifies the plan's instance size.\n", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "Specifies the plan's pricing tier.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "capacity", "size", "tier" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getAppServiceSiteConfig:getAppServiceSiteConfig": { "properties": { "alwaysOn": { "type": "boolean", "description": "Is the app loaded at all times?\n", "language": { "python": { "mapCase": false } } }, "appCommandLine": { "type": "string", "description": "App command line to launch.\n", "language": { "python": { "mapCase": false } } }, "cors": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceSiteConfigCor:getAppServiceSiteConfigCor" }, "description": "A `cors` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "defaultDocuments": { "type": "array", "items": { "type": "string" }, "description": "The ordering of default documents to load, if an address isn't specified.\n", "language": { "python": { "mapCase": false } } }, "dotnetFrameworkVersion": { "type": "string", "description": "The version of the .net framework's CLR used in this App Service.\n", "language": { "python": { "mapCase": false } } }, "ftpsState": { "type": "string", "description": "State of FTP / FTPS service for this AppService.\n", "language": { "python": { "mapCase": false } } }, "healthCheckPath": { "type": "string", "description": "The health check path to be pinged by App Service.\n", "language": { "python": { "mapCase": false } } }, "http2Enabled": { "type": "boolean", "description": "Is HTTP2 Enabled on this App Service?\n", "language": { "python": { "mapCase": false } } }, "ipRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceSiteConfigIpRestriction:getAppServiceSiteConfigIpRestriction" }, "description": "One or more `ip_restriction` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "javaContainer": { "type": "string", "description": "The Java Container in use.\n", "language": { "python": { "mapCase": false } } }, "javaContainerVersion": { "type": "string", "description": "The version of the Java Container in use.\n", "language": { "python": { "mapCase": false } } }, "javaVersion": { "type": "string", "description": "The version of Java in use.\n", "language": { "python": { "mapCase": false } } }, "linuxFxVersion": { "type": "string", "description": "Linux App Framework and version for the AppService.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "managedPipelineMode": { "type": "string", "description": "The Managed Pipeline Mode used in this App Service.\n", "language": { "python": { "mapCase": false } } }, "minTlsVersion": { "type": "string", "description": "The minimum supported TLS version for this App Service.\n", "language": { "python": { "mapCase": false } } }, "phpVersion": { "type": "string", "description": "The version of PHP used in this App Service.\n", "language": { "python": { "mapCase": false } } }, "pythonVersion": { "type": "string", "description": "The version of Python used in this App Service.\n", "language": { "python": { "mapCase": false } } }, "remoteDebuggingEnabled": { "type": "boolean", "description": "Is Remote Debugging Enabled in this App Service?\n", "language": { "python": { "mapCase": false } } }, "remoteDebuggingVersion": { "type": "string", "description": "Which version of Visual Studio is the Remote Debugger compatible with?\n", "language": { "python": { "mapCase": false } } }, "scmIpRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceSiteConfigScmIpRestriction:getAppServiceSiteConfigScmIpRestriction" }, "description": "One or more `scm_ip_restriction` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "scmType": { "type": "string", "description": "The type of Source Control enabled for this App Service.\n", "language": { "python": { "mapCase": false } } }, "scmUseMainIpRestriction": { "type": "boolean", "description": "IP security restrictions for scm to use main.\n", "language": { "python": { "mapCase": false } } }, "use32BitWorkerProcess": { "type": "boolean", "description": "Does the App Service run in 32 bit mode, rather than 64 bit mode?\n", "language": { "python": { "mapCase": false } } }, "websocketsEnabled": { "type": "boolean", "description": "Are WebSockets enabled for this App Service?\n", "language": { "python": { "mapCase": false } } }, "windowsFxVersion": { "type": "string", "description": "Windows Container Docker Image for the AppService.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "alwaysOn", "appCommandLine", "cors", "defaultDocuments", "dotnetFrameworkVersion", "ftpsState", "healthCheckPath", "http2Enabled", "ipRestrictions", "javaContainer", "javaContainerVersion", "javaVersion", "linuxFxVersion", "localMysqlEnabled", "managedPipelineMode", "minTlsVersion", "phpVersion", "pythonVersion", "remoteDebuggingEnabled", "remoteDebuggingVersion", "scmIpRestrictions", "scmType", "scmUseMainIpRestriction", "use32BitWorkerProcess", "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", "language": { "python": { "mapCase": false } } }, "supportCredentials": { "type": "boolean", "description": "Are credentials supported?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the App Service.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "ipAddress", "name", "priority", "subnetId", "virtualNetworkSubnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getAppServiceSiteConfigScmIpRestriction:getAppServiceSiteConfigScmIpRestriction": { "properties": { "action": { "type": "string", "description": "Allow or Deny access for this IP range. Defaults to Allow.\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the App Service.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "ipAddress", "name", "priority", "subnetId", "virtualNetworkSubnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getAppServiceSiteCredential:getAppServiceSiteCredential": { "properties": { "password": { "type": "string", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "manualIntegration": { "type": "boolean", "description": "Limits to manual integration.\n", "language": { "python": { "mapCase": false } } }, "repoUrl": { "type": "string", "description": "The URL of the source code repository.\n", "language": { "python": { "mapCase": false } } }, "rollbackEnabled": { "type": "boolean", "description": "Is roll-back enabled for the repository.\n", "language": { "python": { "mapCase": false } } }, "useMercurial": { "type": "boolean", "description": "Uses Mercurial if `true`, otherwise uses Git.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "Key Vault resource Id.\n", "language": { "python": { "mapCase": false } } }, "keyVaultSecretName": { "type": "string", "description": "Key Vault secret name.\n", "language": { "python": { "mapCase": false } } }, "provisioningState": { "type": "string", "description": "Status of the Key Vault secret.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificateName", "keyVaultId", "keyVaultSecretName", "provisioningState" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getFunctionAppConnectionString:getFunctionAppConnectionString": { "properties": { "name": { "type": "string", "description": "The name of the Function App resource.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Managed Identity assigned to the function app.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value for the Connection String.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "type", "value" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getFunctionAppIdentity:getFunctionAppIdentity": { "properties": { "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal assigned to the function app.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant of the System Managed Service Principal assigned to the function app.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Managed Identity assigned to the function app.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "principalId", "tenantId", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getFunctionAppSiteConfig:getFunctionAppSiteConfig": { "properties": { "alwaysOn": { "type": "boolean", "description": "Is the app loaded at all times?\n", "language": { "python": { "mapCase": false } } }, "autoSwapSlotName": { "type": "string", "language": { "python": { "mapCase": false } } }, "cors": { "$ref": "#/types/azure:appservice/getFunctionAppSiteConfigCors:getFunctionAppSiteConfigCors", "description": "A `cors` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "ftpsState": { "type": "string", "description": "State of FTP / FTPS service for this AppService.\n", "language": { "python": { "mapCase": false } } }, "http2Enabled": { "type": "boolean", "description": "Is HTTP2 Enabled on this App Service?\n", "language": { "python": { "mapCase": false } } }, "ipRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppSiteConfigIpRestriction:getFunctionAppSiteConfigIpRestriction" }, "description": "One or more `ip_restriction` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "linuxFxVersion": { "type": "string", "description": "Linux App Framework and version for the AppService.\n", "language": { "python": { "mapCase": false } } }, "minTlsVersion": { "type": "string", "description": "The minimum supported TLS version for this App Service.\n", "language": { "python": { "mapCase": false } } }, "preWarmedInstanceCount": { "type": "integer", "description": "The number of pre-warmed instances for this function app. Only applicable to apps on the Premium plan.\n", "language": { "python": { "mapCase": false } } }, "scmIpRestrictions": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppSiteConfigScmIpRestriction:getFunctionAppSiteConfigScmIpRestriction" }, "description": "One or more `scm_ip_restriction` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "scmType": { "type": "string", "description": "The type of Source Control enabled for this App Service.\n", "language": { "python": { "mapCase": false } } }, "scmUseMainIpRestriction": { "type": "boolean", "description": "IP security restrictions for scm to use main.\n", "language": { "python": { "mapCase": false } } }, "use32BitWorkerProcess": { "type": "boolean", "description": "Does the App Service run in 32 bit mode, rather than 64 bit mode?\n", "language": { "python": { "mapCase": false } } }, "websocketsEnabled": { "type": "boolean", "description": "Are WebSockets enabled for this App Service?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "alwaysOn", "autoSwapSlotName", "cors", "ftpsState", "http2Enabled", "ipRestrictions", "linuxFxVersion", "minTlsVersion", "preWarmedInstanceCount", "scmIpRestrictions", "scmType", "scmUseMainIpRestriction", "use32BitWorkerProcess", "websocketsEnabled" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getFunctionAppSiteConfigCors:getFunctionAppSiteConfigCors": { "properties": { "allowedOrigins": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "supportCredentials": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Function App resource.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "ipAddress", "name", "priority", "subnetId", "virtualNetworkSubnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:appservice/getFunctionAppSiteConfigScmIpRestriction:getFunctionAppSiteConfigScmIpRestriction": { "properties": { "action": { "type": "string", "description": "Allow or Deny access for this IP range. Defaults to Allow.\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "description": "The IP Address used for this IP Restriction in CIDR notation.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Function App resource.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority for this IP Restriction.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetId": { "type": "string", "description": "The Virtual Network Subnet ID used for this IP Restriction.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "ipAddress", "name", "priority", "subnetId", "virtualNetworkSubnetId" ], "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username which can be used to publish to this App Service\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "manualIntegration": { "type": "boolean", "description": "Limits to manual integration.\n", "language": { "python": { "mapCase": false } } }, "repoUrl": { "type": "string", "description": "The URL of the source code repository.\n", "language": { "python": { "mapCase": false } } }, "rollbackEnabled": { "type": "boolean", "description": "Is roll-back enabled for the repository.\n", "language": { "python": { "mapCase": false } } }, "useMercurial": { "type": "boolean", "description": "Uses Mercurial if `true`, otherwise uses Git.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "branch", "manualIntegration", "repoUrl", "rollbackEnabled", "useMercurial" ], "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:authorization/getRoleDefinitionPermission:getRoleDefinitionPermission": { "properties": { "actions": { "type": "array", "items": { "type": "string" }, "description": "a list of actions supported by this role\n", "language": { "python": { "mapCase": false } } }, "dataActions": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "notActions": { "type": "array", "items": { "type": "string" }, "description": "a list of actions which are denied by this role\n", "language": { "python": { "mapCase": false } } }, "notDataActions": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actions", "notActions" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:automation/ModuleModuleLink:ModuleModuleLink": { "properties": { "hash": { "$ref": "#/types/azure:automation/ModuleModuleLinkHash:ModuleModuleLinkHash", "language": { "python": { "mapCase": false } } }, "uri": { "type": "string", "description": "The uri of the module content (zip or nupkg).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "uri" ] }, "azure:automation/ModuleModuleLinkHash:ModuleModuleLinkHash": { "properties": { "algorithm": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "algorithm", "value" ] }, "azure:automation/RunBookJobSchedule:RunBookJobSchedule": { "properties": { "jobScheduleId": { "type": "string", "language": { "python": { "mapCase": false } } }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "runOn": { "type": "string", "language": { "python": { "mapCase": false } } }, "scheduleName": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "scheduleName" ], "language": { "nodejs": { "requiredOutputs": [ "jobScheduleId", "scheduleName" ] } } }, "azure:automation/RunBookPublishContentLink:RunBookPublishContentLink": { "properties": { "hash": { "$ref": "#/types/azure:automation/RunBookPublishContentLinkHash:RunBookPublishContentLinkHash", "language": { "python": { "mapCase": false } } }, "uri": { "type": "string", "description": "The uri of the runbook content.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "uri" ] }, "azure:automation/RunBookPublishContentLinkHash:RunBookPublishContentLinkHash": { "properties": { "algorithm": { "type": "string", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "occurrence": { "type": "integer", "description": "Occurrence of the week within the month. Must be between `1` and `5`. `-1` for last week within the month.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "day", "occurrence" ] }, "azure:backup/PolicyFileShareBackup:PolicyFileShareBackup": { "properties": { "frequency": { "type": "string", "description": "Sets the backup frequency. Currently, only `Daily` is supported\n", "language": { "python": { "mapCase": false } } }, "time": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "frequency", "time" ] }, "azure:backup/PolicyFileShareRetentionDaily:PolicyFileShareRetentionDaily": { "properties": { "count": { "type": "integer", "description": "The number of daily backups to keep. Must be between `1` and `180` (inclusive)\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "count" ] }, "azure:backup/PolicyVMBackup:PolicyVMBackup": { "properties": { "frequency": { "type": "string", "description": "Sets the backup frequency. Must be either `Daily` or`Weekly`.\n", "language": { "python": { "mapCase": false } } }, "time": { "type": "string", "description": "The time of day to perform the backup in 24hour format.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "frequency", "time" ] }, "azure:backup/PolicyVMRetentionDaily:PolicyVMRetentionDaily": { "properties": { "count": { "type": "integer", "description": "The number of yearly backups to keep. Must be between `1` and `9999`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "count" ] }, "azure:backup/PolicyVMRetentionMonthly:PolicyVMRetentionMonthly": { "properties": { "count": { "type": "integer", "description": "The number of yearly backups to keep. Must be between `1` and `9999`\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "count", "weekdays", "weeks" ] }, "azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly": { "properties": { "count": { "type": "integer", "description": "The number of yearly backups to keep. Must be between `1` and `9999`\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "count", "weekdays" ] }, "azure:backup/PolicyVMRetentionYearly:PolicyVMRetentionYearly": { "properties": { "count": { "type": "integer", "description": "The number of yearly backups to keep. Must be between `1` and `9999`\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "count", "months", "weekdays", "weeks" ] }, "azure:batch/AccountKeyVaultReference:AccountKeyVaultReference": { "properties": { "id": { "type": "string", "description": "The Azure identifier of the Azure KeyVault to use.\n", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "The HTTPS URL of the Azure KeyVault to use.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id", "url" ] }, "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", "language": { "python": { "mapCase": false } } }, "formula": { "type": "string", "description": "The autoscale formula that needs to be used for scaling the Batch pool.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "formula" ] }, "azure:batch/PoolCertificate:PoolCertificate": { "properties": { "id": { "type": "string", "description": "The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.\n", "language": { "python": { "mapCase": false } } }, "storeLocation": { "type": "string", "description": "The location of the certificate store on the compute node into which to install the certificate. Possible values are `CurrentUser` or `LocalMachine`.\n", "language": { "python": { "mapCase": false } } }, "storeName": { "type": "string", "description": "The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: `My`, `Root`, `CA`, `Trust`, `Disallowed`, `TrustedPeople`, `TrustedPublisher`, `AuthRoot`, `AddressBook`, but any custom store name can also be used. The default value is `My`.\n", "language": { "python": { "mapCase": false } } }, "visibilities": { "type": "array", "items": { "type": "string" }, "description": "Which user accounts on the compute node should have access to the private data of the certificate.\n", "language": { "python": { "mapCase": false } } } }, "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`.\n", "language": { "python": { "mapCase": false } } }, "containerRegistries": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolContainerConfigurationContainerRegistry:PoolContainerConfigurationContainerRegistry" }, "description": "Additional container registries from which container images can be pulled by the pool's VMs.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of container configuration. Possible value is `DockerCompatible`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "registryServer": { "type": "string", "description": "The container registry URL. The default is \"docker.io\". Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "userName": { "type": "string", "description": "The user name to log into the registry server. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "registryServer", "userName" ] }, "azure:batch/PoolFixedScale:PoolFixedScale": { "properties": { "resizeTimeout": { "type": "string", "description": "The timeout for resize operations. Defaults to `PT15M`.\n", "language": { "python": { "mapCase": false } } }, "targetDedicatedNodes": { "type": "integer", "description": "The number of nodes in the Batch pool. Defaults to `1`.\n", "language": { "python": { "mapCase": false } } }, "targetLowPriorityNodes": { "type": "integer", "description": "The number of low priority nodes in the Batch pool. Defaults to `0`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:batch/PoolNetworkConfiguration:PoolNetworkConfiguration": { "properties": { "endpointConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolNetworkConfigurationEndpointConfiguration:PoolNetworkConfigurationEndpointConfiguration" }, "description": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "subnetId" ] }, "azure:batch/PoolNetworkConfigurationEndpointConfiguration:PoolNetworkConfigurationEndpointConfiguration": { "properties": { "backendPort": { "type": "integer", "description": "The port number on the compute node. Acceptable values are between `1` and `65535` except for `29876`, `29877` as these are reserved. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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 `1` and `65534` except ports from `50000` to `55000` 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 `100` nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "networkSecurityGroupRules": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule:PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule" }, "description": "A list of network security group rules 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 `25`. 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 network_security_group_rules block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority for this rule. The value must be at least `150`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "access", "priority", "sourceAddressPrefix" ] }, "azure:batch/PoolStartTask:PoolStartTask": { "properties": { "commandLine": { "type": "string", "description": "The command line executed by the start task.\n", "language": { "python": { "mapCase": false } } }, "environment": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of strings (key,value) that represents the environment variables to set in the start task.\n", "language": { "python": { "mapCase": false } } }, "maxTaskRetryCount": { "type": "integer", "description": "The number of retry count. Defaults to `1`.\n", "language": { "python": { "mapCase": false } } }, "resourceFiles": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolStartTaskResourceFile:PoolStartTaskResourceFile" }, "description": "One or more `resource_file` blocks that describe the files to be downloaded to a compute node.\n", "language": { "python": { "mapCase": false } } }, "userIdentity": { "$ref": "#/types/azure:batch/PoolStartTaskUserIdentity:PoolStartTaskUserIdentity", "description": "A `user_identity` block that describes the user identity under which the start task runs.\n", "language": { "python": { "mapCase": false } } }, "waitForSuccess": { "type": "boolean", "description": "A flag that indicates if the Batch pool should wait for the start task to be completed. Default to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "commandLine", "userIdentity" ] }, "azure:batch/PoolStartTaskResourceFile:PoolStartTaskResourceFile": { "properties": { "autoStorageContainerName": { "type": "string", "description": "The storage container name in the auto storage account.\n", "language": { "python": { "mapCase": false } } }, "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 `auto_storage_container_name` or `storage_container_url` 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", "language": { "python": { "mapCase": false } } }, "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 `resource_file` 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", "language": { "python": { "mapCase": false } } }, "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 `http_url` property is specified, the `file_path` is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the `auto_storage_container_name` or `storage_container_url` property is specified, `file_path` is optional and is the directory to download the files to. In the case where `file_path` 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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:batch/PoolStartTaskUserIdentity:PoolStartTaskUserIdentity": { "properties": { "autoUser": { "$ref": "#/types/azure:batch/PoolStartTaskUserIdentityAutoUser:PoolStartTaskUserIdentityAutoUser", "description": "A `auto_user` block that describes the user identity under which the start task runs.\n", "language": { "python": { "mapCase": false } } }, "userName": { "type": "string", "description": "The username to be used by the Batch pool start task.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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/en-us/azure/batch/batch-custom-images) for more details.\n---\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:batch/getAccountKeyVaultReference:getAccountKeyVaultReference": { "properties": { "id": { "type": "string", "description": "The Azure identifier of the Azure KeyVault reference.\n", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "The HTTPS URL of the Azure KeyVault reference.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "formula": { "type": "string", "description": "The autoscale formula that needs to be used for scaling the Batch pool.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "evaluationInterval", "formula" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolCertificate:getPoolCertificate": { "properties": { "id": { "type": "string", "description": "The fully qualified ID of the certificate installed on the pool.\n", "language": { "python": { "mapCase": false } } }, "storeLocation": { "type": "string", "description": "The location of the certificate store on the compute node into which the certificate is installed, either `CurrentUser` or `LocalMachine`.\n", "language": { "python": { "mapCase": false } } }, "storeName": { "type": "string", "description": "The name of the certificate store on the compute node into which the certificate is installed.\n", "language": { "python": { "mapCase": false } } }, "visibilities": { "type": "array", "items": { "type": "string" }, "description": "Which user accounts on the compute node have access to the private data of the certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id", "storeLocation" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of container configuration.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "containerImageNames", "containerRegistries", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolContainerConfigurationContainerRegistry:getPoolContainerConfigurationContainerRegistry": { "properties": { "password": { "type": "string", "description": "The password to log into the registry server.\n", "language": { "python": { "mapCase": false } } }, "registryServer": { "type": "string", "description": "The container registry URL. The default is \"docker.io\".\n", "language": { "python": { "mapCase": false } } }, "userName": { "type": "string", "description": "The user name to log into the registry server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "registryServer", "userName" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolFixedScale:getPoolFixedScale": { "properties": { "resizeTimeout": { "type": "string", "description": "The timeout for resize operations.\n", "language": { "python": { "mapCase": false } } }, "targetDedicatedNodes": { "type": "integer", "description": "The number of nodes in the Batch pool.\n", "language": { "python": { "mapCase": false } } }, "targetLowPriorityNodes": { "type": "integer", "description": "The number of low priority nodes in the Batch pool.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "resizeTimeout", "targetDedicatedNodes", "targetLowPriorityNodes" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolNetworkConfiguration:getPoolNetworkConfiguration": { "properties": { "endpointConfiguration": { "$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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool are joined too.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "endpointConfiguration", "subnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolNetworkConfigurationEndpointConfiguration:getPoolNetworkConfigurationEndpointConfiguration": { "properties": { "backendPort": { "type": "integer", "description": "The port number on the compute node.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the endpoint.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The protocol of the endpoint.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority for this rule.\n", "language": { "python": { "mapCase": false } } }, "sourceAddressPrefix": { "type": "string", "description": "The source address prefix or tag to match for the rule.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "access", "priority", "sourceAddressPrefix" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolStartTask:getPoolStartTask": { "properties": { "commandLine": { "type": "string", "description": "The command line executed by the start task.\n", "language": { "python": { "mapCase": false } } }, "environment": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of strings (key,value) that represents the environment variables to set in the start task.\n", "language": { "python": { "mapCase": false } } }, "maxTaskRetryCount": { "type": "integer", "description": "The number of retry count.\n", "language": { "python": { "mapCase": false } } }, "resourceFiles": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolStartTaskResourceFile:getPoolStartTaskResourceFile" }, "description": "One or more `resource_file` blocks that describe the files to be downloaded to a compute node.\n", "language": { "python": { "mapCase": false } } }, "userIdentities": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolStartTaskUserIdentity:getPoolStartTaskUserIdentity" }, "description": "A `user_identity` block that describes the user identity under which the start task runs.\n", "language": { "python": { "mapCase": false } } }, "waitForSuccess": { "type": "boolean", "description": "A flag that indicates if the Batch pool should wait for the start task to be completed.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "commandLine", "resourceFiles", "userIdentities" ], "language": { "nodejs": { "requiredInputs": [ "commandLine" ] } } }, "azure:batch/getPoolStartTaskResourceFile:getPoolStartTaskResourceFile": { "properties": { "autoStorageContainerName": { "type": "string", "description": "The storage container name in the auto storage account.\n", "language": { "python": { "mapCase": false } } }, "blobPrefix": { "type": "string", "description": "The blob prefix used when downloading blobs from an Azure Storage container.\n", "language": { "python": { "mapCase": false } } }, "fileMode": { "type": "string", "description": "The file permission mode attribute represented as a string in octal format (e.g. `\"0644\"`).\n", "language": { "python": { "mapCase": false } } }, "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 `http_url` property is specified, the `file_path` is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the `auto_storage_container_name` or `storage_container_url` property is specified.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerUrl": { "type": "string", "description": "The URL of the blob container within Azure Blob Storage.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "autoStorageContainerName", "blobPrefix", "fileMode", "filePath", "httpUrl", "storageContainerUrl" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolStartTaskUserIdentity:getPoolStartTaskUserIdentity": { "properties": { "autoUsers": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolStartTaskUserIdentityAutoUser:getPoolStartTaskUserIdentityAutoUser" }, "description": "A `auto_user` block that describes the user identity under which the start task runs.\n", "language": { "python": { "mapCase": false } } }, "userName": { "type": "string", "description": "The user name to log into the registry server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "autoUsers", "userName" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolStartTaskUserIdentityAutoUser:getPoolStartTaskUserIdentityAutoUser": { "properties": { "elevationLevel": { "type": "string", "description": "The elevation level of the user identity under which the start task runs.\n", "language": { "python": { "mapCase": false } } }, "scope": { "type": "string", "description": "The scope of the user identity under which the start task runs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "elevationLevel", "scope" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:batch/getPoolStorageImageReference:getPoolStorageImageReference": { "properties": { "id": { "type": "string", "description": "The fully qualified ID of the certificate installed on the pool.\n", "language": { "python": { "mapCase": false } } }, "offer": { "type": "string", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id", "offer", "publisher", "sku", "version" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:blueprint/AssignmentIdentity:AssignmentIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Identity type for the Managed Service Identity. Currently only `UserAssigned` is supported.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "identityIds", "type" ], "language": { "nodejs": { "requiredOutputs": [ "identityIds", "principalId", "tenantId", "type" ] } } }, "azure:bot/ChannelDirectLineSite:ChannelDirectLineSite": { "properties": { "enabled": { "type": "boolean", "description": "Enables/Disables this site. Enabled by default\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "Id for the site\n", "language": { "python": { "mapCase": false } } }, "key": { "type": "string", "description": "Primary key for accessing this site\n", "language": { "python": { "mapCase": false } } }, "key2": { "type": "string", "description": "Secondary key for accessing this site\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the site\n", "language": { "python": { "mapCase": false } } }, "trustedOrigins": { "type": "array", "items": { "type": "string" }, "description": "This field is required when `is_secure_site_enabled` is enabled. Determines which origins can establish a Directline conversation for this site.\n", "language": { "python": { "mapCase": false } } }, "v1Allowed": { "type": "boolean", "description": "Enables v1 of the Directline protocol for this site. Enabled by default\n", "language": { "python": { "mapCase": false } } }, "v3Allowed": { "type": "boolean", "description": "Enables v3 of the Directline protocol for this site. Enabled by default\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "id", "key", "key2", "name" ] } } }, "azure:cdn/EndpointDeliveryRule:EndpointDeliveryRule": { "properties": { "cacheExpirationAction": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleCacheExpirationAction:EndpointDeliveryRuleCacheExpirationAction", "description": "A `cache_expiration_action` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "cacheKeyQueryStringAction": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleCacheKeyQueryStringAction:EndpointDeliveryRuleCacheKeyQueryStringAction", "description": "A `cache_key_query_string_action` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "cookiesConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleCookiesCondition:EndpointDeliveryRuleCookiesCondition" }, "description": "A `cookies_condition` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "deviceCondition": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleDeviceCondition:EndpointDeliveryRuleDeviceCondition", "description": "A `device_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "httpVersionConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleHttpVersionCondition:EndpointDeliveryRuleHttpVersionCondition" }, "description": "A `http_version_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "modifyRequestHeaderActions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleModifyRequestHeaderAction:EndpointDeliveryRuleModifyRequestHeaderAction" }, "description": "A `modify_request_header_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "modifyResponseHeaderActions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleModifyResponseHeaderAction:EndpointDeliveryRuleModifyResponseHeaderAction" }, "description": "A `modify_response_header_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name which should be used for this Delivery Rule.\n", "language": { "python": { "mapCase": false } } }, "order": { "type": "integer", "description": "The order used for this rule, which must be larger than 1.\n", "language": { "python": { "mapCase": false } } }, "postArgConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRulePostArgCondition:EndpointDeliveryRulePostArgCondition" }, "description": "A `post_arg_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "queryStringConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleQueryStringCondition:EndpointDeliveryRuleQueryStringCondition" }, "description": "A `query_string_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "remoteAddressConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleRemoteAddressCondition:EndpointDeliveryRuleRemoteAddressCondition" }, "description": "A `remote_address_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "requestBodyConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleRequestBodyCondition:EndpointDeliveryRuleRequestBodyCondition" }, "description": "A `request_body_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "requestHeaderConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleRequestHeaderCondition:EndpointDeliveryRuleRequestHeaderCondition" }, "description": "A `request_header_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "requestMethodCondition": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleRequestMethodCondition:EndpointDeliveryRuleRequestMethodCondition", "description": "A `request_method_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "requestSchemeCondition": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleRequestSchemeCondition:EndpointDeliveryRuleRequestSchemeCondition", "description": "A `request_scheme_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "requestUriConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleRequestUriCondition:EndpointDeliveryRuleRequestUriCondition" }, "description": "A `request_uri_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlFileExtensionConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleUrlFileExtensionCondition:EndpointDeliveryRuleUrlFileExtensionCondition" }, "description": "A `url_file_extension_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlFileNameConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleUrlFileNameCondition:EndpointDeliveryRuleUrlFileNameCondition" }, "description": "A `url_file_name_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlPathConditions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleUrlPathCondition:EndpointDeliveryRuleUrlPathCondition" }, "description": "A `url_path_condition` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlRedirectAction": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleUrlRedirectAction:EndpointDeliveryRuleUrlRedirectAction", "description": "A `url_redirect_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlRewriteAction": { "$ref": "#/types/azure:cdn/EndpointDeliveryRuleUrlRewriteAction:EndpointDeliveryRuleUrlRewriteAction", "description": "A `url_rewrite_action` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "duration": { "type": "string", "description": "Duration of the cache. Only allowed when `behavior` is set to `Override` or `SetIfMissing`. Format: `[d.]hh:mm:ss`\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "parameters": { "type": "string", "description": "Comma separated list of parameter values.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "behavior" ] }, "azure:cdn/EndpointDeliveryRuleCookiesCondition:EndpointDeliveryRuleCookiesCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of values for the cookie.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Name of the cookie.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator", "selector" ] }, "azure:cdn/EndpointDeliveryRuleDeviceCondition:EndpointDeliveryRuleDeviceCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Desktop` and `Mobile`.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Equal`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Equal`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The header name.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of the header. Only needed when `action` is set to `Append` or `overwrite`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The header name.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of the header. Only needed when `action` is set to `Append` or `overwrite`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "name" ] }, "azure:cdn/EndpointDeliveryRulePostArgCondition:EndpointDeliveryRulePostArgCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Name of the post arg.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator", "selector" ] }, "azure:cdn/EndpointDeliveryRuleQueryStringCondition:EndpointDeliveryRuleQueryStringCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator" ] }, "azure:cdn/EndpointDeliveryRuleRemoteAddressCondition:EndpointDeliveryRuleRemoteAddressCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values. For `GeoMatch` `operator` this should be a list of country codes (e.g. `US` or `DE`). List of IP address if `operator` equals to `IPMatch`.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `GeoMatch` and `IPMatch`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator" ] }, "azure:cdn/EndpointDeliveryRuleRequestBodyCondition:EndpointDeliveryRuleRequestBodyCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator" ] }, "azure:cdn/EndpointDeliveryRuleRequestHeaderCondition:EndpointDeliveryRuleRequestHeaderCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of header values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Header name.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "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", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Equal`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues" ] }, "azure:cdn/EndpointDeliveryRuleRequestSchemeCondition:EndpointDeliveryRuleRequestSchemeCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `HTTP` and `HTTPS`.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Equal`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues" ] }, "azure:cdn/EndpointDeliveryRuleRequestUriCondition:EndpointDeliveryRuleRequestUriCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator" ] }, "azure:cdn/EndpointDeliveryRuleUrlFileExtensionCondition:EndpointDeliveryRuleUrlFileExtensionCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator" ] }, "azure:cdn/EndpointDeliveryRuleUrlFileNameCondition:EndpointDeliveryRuleUrlFileNameCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "operator" ] }, "azure:cdn/EndpointDeliveryRuleUrlPathCondition:EndpointDeliveryRuleUrlPathCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "List of string values.\n", "language": { "python": { "mapCase": false } } }, "negateCondition": { "type": "boolean", "description": "Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Valid values are `Any`, `BeginsWith`, `Contains`, `EndsWith`, `Equal`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Valid values are `Lowercase` and `Uppercase`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "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", "language": { "python": { "mapCase": false } } }, "hostname": { "type": "string", "description": "Specifies the hostname part of the URL.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "Specifies the path part of the URL. This value must begin with a `/`.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "Specifies the protocol part of the URL. Valid values are `Http` and `Https`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "redirectType": { "type": "string", "description": "Type of the redirect. Valid values are `Found`, `Moved`, `PermanentRedirect` and `TemporaryRedirect`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "preserveUnmatchedPath": { "type": "boolean", "description": "Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "sourcePattern": { "type": "string", "description": "This value must start with a `/` and can't be longer than 260 characters.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "relativePath": { "type": "string", "description": "The relative path applicable to geo filter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "countryCodes", "relativePath" ] }, "azure:cdn/EndpointGlobalDeliveryRule:EndpointGlobalDeliveryRule": { "properties": { "cacheExpirationAction": { "$ref": "#/types/azure:cdn/EndpointGlobalDeliveryRuleCacheExpirationAction:EndpointGlobalDeliveryRuleCacheExpirationAction", "description": "A `cache_expiration_action` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "cacheKeyQueryStringAction": { "$ref": "#/types/azure:cdn/EndpointGlobalDeliveryRuleCacheKeyQueryStringAction:EndpointGlobalDeliveryRuleCacheKeyQueryStringAction", "description": "A `cache_key_query_string_action` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "modifyRequestHeaderActions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointGlobalDeliveryRuleModifyRequestHeaderAction:EndpointGlobalDeliveryRuleModifyRequestHeaderAction" }, "description": "A `modify_request_header_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "modifyResponseHeaderActions": { "type": "array", "items": { "$ref": "#/types/azure:cdn/EndpointGlobalDeliveryRuleModifyResponseHeaderAction:EndpointGlobalDeliveryRuleModifyResponseHeaderAction" }, "description": "A `modify_response_header_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlRedirectAction": { "$ref": "#/types/azure:cdn/EndpointGlobalDeliveryRuleUrlRedirectAction:EndpointGlobalDeliveryRuleUrlRedirectAction", "description": "A `url_redirect_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "urlRewriteAction": { "$ref": "#/types/azure:cdn/EndpointGlobalDeliveryRuleUrlRewriteAction:EndpointGlobalDeliveryRuleUrlRewriteAction", "description": "A `url_rewrite_action` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:cdn/EndpointGlobalDeliveryRuleCacheExpirationAction:EndpointGlobalDeliveryRuleCacheExpirationAction": { "properties": { "behavior": { "type": "string", "description": "The behavior of the cache. Valid values are `BypassCache`, `Override` and `SetIfMissing`.\n", "language": { "python": { "mapCase": false } } }, "duration": { "type": "string", "description": "Duration of the cache. Only allowed when `behavior` is set to `Override` or `SetIfMissing`. Format: `[d.]hh:mm:ss`\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "parameters": { "type": "string", "description": "Comma separated list of parameter values.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The header name.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of the header. Only needed when `action` is set to `Append` or `overwrite`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The header name.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of the header. Only needed when `action` is set to `Append` or `overwrite`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "hostname": { "type": "string", "description": "Specifies the hostname part of the URL.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "Specifies the path part of the URL. This value must begin with a `/`.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "Specifies the protocol part of the URL. Valid values are `Http` and `Https`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "redirectType": { "type": "string", "description": "Type of the redirect. Valid values are `Found`, `Moved`, `PermanentRedirect` and `TemporaryRedirect`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "preserveUnmatchedPath": { "type": "boolean", "description": "Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "sourcePattern": { "type": "string", "description": "This value must start with a `/` and can't be longer than 260 characters.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "httpPort": { "type": "integer", "description": "The HTTP port of the origin. Defaults to `80`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "httpsPort": { "type": "integer", "description": "The HTTPS port of the origin. Defaults to `443`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName", "name" ] }, "azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration": { "properties": { "name": { "type": "string", "description": "The name of the IP configuration.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "Reference to a Public IP Address to associate with this Bastion Host.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "Reference to a subnet in which this Bastion Host has been created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publicIpAddressId", "subnetId" ] }, "azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity": { "properties": { "principalId": { "type": "string", "description": "The (Client) ID of the Service Principal.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of Identity which should be used for this Disk Encryption Set. At this time the only possible value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "caching": { "type": "string", "description": "Specifies the caching mode as `ReadWrite`, `ReadOnly`, or `None`. The default is `None`.\n", "language": { "python": { "mapCase": false } } }, "lun": { "type": "integer", "description": "Specifies the logical unit number of the data disk.\n", "language": { "python": { "mapCase": false } } }, "managedDiskId": { "type": "string", "description": "Specifies the ID of the managed disk resource that you want to use to create the image.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "blobUri", "sizeGb" ] } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "caching": { "type": "string", "description": "Specifies the caching mode as `ReadWrite`, `ReadOnly`, or `None`. The default is `None`.\n", "language": { "python": { "mapCase": false } } }, "managedDiskId": { "type": "string", "description": "Specifies the ID of the managed disk resource that you want to use to create the image.\n", "language": { "python": { "mapCase": false } } }, "osState": { "type": "string", "description": "Specifies the state of the operating system contained in the blob. Currently, the only value is Generalized.\n", "language": { "python": { "mapCase": false } } }, "osType": { "type": "string", "description": "Specifies the type of operating system contained in the virtual machine image. Possible values are: Windows or Linux.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "blobUri", "managedDiskId", "sizeGb" ] } } }, "azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities": { "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? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey": { "properties": { "publicKey": { "type": "string", "description": "The Public Key which should be used for authentication, which needs to be at least 2048-bit and in `ssh-rsa` format. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountUri" ] }, "azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "A list of User Managed Identity ID's which should be assigned to the Linux Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the System Managed Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of Managed Identity which should be assigned to the Linux Virtual Machine. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "diffDiskSettings": { "$ref": "#/types/azure:compute/LinuxVirtualMachineOsDiskDiffDiskSettings:LinuxVirtualMachineOsDiskDiffDiskSettings", "description": "A `diff_disk_settings` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The Type of Storage Account which should back this the Internal OS Disk. Possible values are `Standard_LRS`, `StandardSSD_LRS` and `Premium_LRS`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Should Write Accelerator be Enabled for this OS Disk? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "caching", "storageAccountType" ], "language": { "nodejs": { "requiredOutputs": [ "caching", "diskSizeGb", "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "option" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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? Defaults to `false`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey": { "properties": { "publicKey": { "type": "string", "description": "The Public Key which should be used for authentication, which needs to be at least 2048-bit and in `ssh-rsa` format.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username for which this Public SSH Key should be configured.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "publicKey", "username" ] }, "azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair": { "properties": { "enabled": { "type": "boolean", "description": "Should the automatic instance repair be enabled on this Virtual Machine Scale Set?\n", "language": { "python": { "mapCase": false } } }, "gracePeriod": { "type": "string", "description": "Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy": { "properties": { "disableAutomaticRollback": { "type": "boolean", "description": "Should automatic rollbacks be disabled? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountUri" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set which should be used to encrypt this Data Disk.\n", "language": { "python": { "mapCase": false } } }, "diskSizeGb": { "type": "integer", "description": "The size of the Data Disk which should be created.\n", "language": { "python": { "mapCase": false } } }, "lun": { "type": "integer", "description": "The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS` and `UltraSSD_LRS`.\n", "language": { "python": { "mapCase": false } } }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Should Write Accelerator be enabled for this Data Disk? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "caching", "diskSizeGb", "lun", "storageAccountType" ] }, "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 `true`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for the Virtual Machine Scale Set Extension.\n", "language": { "python": { "mapCase": false } } }, "protectedSettings": { "type": "string", "description": "A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n", "language": { "python": { "mapCase": false } } }, "provisionAfterExtensions": { "type": "array", "items": { "type": "string" }, "description": "An ordered list of Extension names which this should be provisioned after.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the Publisher of the Extension.\n", "language": { "python": { "mapCase": false } } }, "settings": { "type": "string", "description": "A JSON String which specifies Settings for the Extension.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the Type of the Extension.\n", "language": { "python": { "mapCase": false } } }, "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publisher", "type", "typeHandlerVersion" ] }, "azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "A list of User Managed Identity ID's which should be assigned to the Linux Virtual Machine Scale Set.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of Managed Identity which should be assigned to the Linux Virtual Machine Scale Set. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "type" ] } } }, "azure:compute/LinuxVirtualMachineScaleSetNetworkInterface:LinuxVirtualMachineScaleSetNetworkInterface": { "properties": { "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.\n", "language": { "python": { "mapCase": false } } }, "enableAcceleratedNetworking": { "type": "boolean", "description": "Does this Network Interface support Accelerated Networking? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableIpForwarding": { "type": "boolean", "description": "Does this Network Interface support IP Forwarding? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration" }, "description": "One or more `ip_configuration` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name which should be used for this Network Interface. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "networkSecurityGroupId": { "type": "string", "description": "The ID of a Network Security Group which should be assigned to this Network Interface.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Is this the Primary IP Configuration?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name which should be used for this IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Is this the Primary IP Configuration for this Network Interface? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddresses": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress" }, "description": "A `public_ip_address` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet which this IP Configuration should be connected to.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "idleTimeoutInMinutes": { "type": "integer", "description": "The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range `4` to `32`.\n", "language": { "python": { "mapCase": false } } }, "ipTags": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag" }, "description": "One or more `ip_tag` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the Public IP Address Configuration.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of IP Tag, such as `FirstPartyUsage`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "diffDiskSettings": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings:LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings", "description": "A `diff_disk_settings` block as defined above. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set which should be used to encrypt this OS Disk.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS` and `Premium_LRS`.\n", "language": { "python": { "mapCase": false } } }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Should Write Accelerator be Enabled for this OS Disk? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "caching", "storageAccountType" ], "language": { "nodejs": { "requiredOutputs": [ "caching", "diskSizeGb", "storageAccountType" ] } } }, "azure:compute/LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings:LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings": { "properties": { "option": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "option" ] }, "azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan": { "properties": { "name": { "type": "string", "description": "The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the Publisher of the Extension.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "product", "publisher" ] }, "azure:compute/LinuxVirtualMachineScaleSetRollingUpgradePolicy:LinuxVirtualMachineScaleSetRollingUpgradePolicy": { "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "maxBatchInstancePercent", "maxUnhealthyInstancePercent", "maxUnhealthyUpgradedInstancePercent", "pauseTimeBetweenBatches" ] }, "azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret": { "properties": { "certificates": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSecretCertificate:LinuxVirtualMachineScaleSetSecretCertificate" }, "description": "One or more `certificate` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault from which all Secrets should be sourced.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificates", "keyVaultId" ] }, "azure:compute/LinuxVirtualMachineScaleSetSecretCertificate:LinuxVirtualMachineScaleSetSecretCertificate": { "properties": { "url": { "type": "string", "description": "The Secret URL of a Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "Specifies the SKU of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "Specifies the version of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "offer", "publisher", "sku", "version" ] }, "azure:compute/LinuxVirtualMachineScaleSetTerminateNotification:LinuxVirtualMachineScaleSetTerminateNotification": { "properties": { "enabled": { "type": "boolean", "description": "Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "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.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:compute/LinuxVirtualMachineSecret:LinuxVirtualMachineSecret": { "properties": { "certificates": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineSecretCertificate:LinuxVirtualMachineSecretCertificate" }, "description": "One or more `certificate` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault from which all Secrets should be sourced.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificates", "keyVaultId" ] }, "azure:compute/LinuxVirtualMachineSecretCertificate:LinuxVirtualMachineSecretCertificate": { "properties": { "url": { "type": "string", "description": "The Secret URL of a Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "Specifies the SKU of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "Specifies the version of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "offer", "publisher", "sku", "version" ] }, "azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings": { "properties": { "diskEncryptionKey": { "$ref": "#/types/azure:compute/ManagedDiskEncryptionSettingsDiskEncryptionKey:ManagedDiskEncryptionSettingsDiskEncryptionKey", "description": "A `disk_encryption_key` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Encryption enabled on this Managed Disk? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "keyEncryptionKey": { "$ref": "#/types/azure:compute/ManagedDiskEncryptionSettingsKeyEncryptionKey:ManagedDiskEncryptionSettingsKeyEncryptionKey", "description": "A `key_encryption_key` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "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 `id` on the `azure.keyvault.Secret` resource.\n", "language": { "python": { "mapCase": false } } }, "sourceVaultId": { "type": "string", "description": "The ID of the source Key Vault.\n", "language": { "python": { "mapCase": false } } } }, "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 `id` on the `azure.keyvault.Key` resource.\n", "language": { "python": { "mapCase": false } } }, "sourceVaultId": { "type": "string", "description": "The ID of the source Key Vault.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keyUrl", "sourceVaultId" ] }, "azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics": { "properties": { "enabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "storageUri": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the extension.\n", "language": { "python": { "mapCase": false } } }, "protectedSettings": { "type": "string", "description": "The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The publisher of the extension, available publishers can be found by using the Azure CLI.\n", "language": { "python": { "mapCase": false } } }, "settings": { "type": "string", "description": "The settings passed to the extension, these are specified as a JSON object in a string.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of extension, available types for a publisher can be found using the Azure CLI.\n", "language": { "python": { "mapCase": false } } }, "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n", "language": { "python": { "mapCase": false } } } }, "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 `type` is `UserAssigned`.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/active-directory/managed-service-identity/overview) for more information.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "type" ] } } }, "azure:compute/ScaleSetNetworkProfile:ScaleSetNetworkProfile": { "properties": { "acceleratedNetworking": { "type": "boolean", "description": "Specifies whether to enable accelerated networking or not. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "dnsSettings": { "$ref": "#/types/azure:compute/ScaleSetNetworkProfileDnsSettings:ScaleSetNetworkProfileDnsSettings", "description": "A dns_settings block as documented below.\n", "language": { "python": { "mapCase": false } } }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetNetworkProfileIpConfiguration:ScaleSetNetworkProfileIpConfiguration" }, "description": "An ip_configuration block as documented below.\n", "language": { "python": { "mapCase": false } } }, "ipForwarding": { "type": "boolean", "description": "Whether IP forwarding is enabled on this NIC. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the network interface configuration.\n", "language": { "python": { "mapCase": false } } }, "networkSecurityGroupId": { "type": "string", "description": "Specifies the identifier for the network security group.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "applicationSecurityGroupIds": { "type": "array", "items": { "type": "string" }, "description": "Specifies up to `20` application security group IDs.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies name of the IP configuration.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Specifies if this ip_configuration is the primary one.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressConfiguration": { "$ref": "#/types/azure:compute/ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration:ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration", "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "Specifies the identifier of the subnet.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "idleTimeout": { "type": "integer", "description": "The idle timeout in minutes. This value must be between 4 and 30.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the public ip address configuration\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "adminUsername": { "type": "string", "description": "Specifies the administrator account name to use for all the instances of virtual machines in the scale set.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "adminUsername", "computerNamePrefix" ] }, "azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig": { "properties": { "disablePasswordAuthentication": { "type": "boolean", "description": "Specifies whether password authentication should be disabled. Defaults to `false`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "sshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileLinuxConfigSshKey:ScaleSetOsProfileLinuxConfigSshKey" }, "description": "Specifies a collection of `path` and `key_data` to be placed on the virtual machine.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:compute/ScaleSetOsProfileLinuxConfigSshKey:ScaleSetOsProfileLinuxConfigSshKey": { "properties": { "keyData": { "type": "string", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "path" ] }, "azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret": { "properties": { "sourceVaultId": { "type": "string", "description": "Specifies the key vault to use.\n", "language": { "python": { "mapCase": false } } }, "vaultCertificates": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileSecretVaultCertificate:ScaleSetOsProfileSecretVaultCertificate" }, "description": "A collection of Vault Certificates as documented below\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "sourceVaultId" ] }, "azure:compute/ScaleSetOsProfileSecretVaultCertificate:ScaleSetOsProfileSecretVaultCertificate": { "properties": { "certificateStore": { "type": "string", "description": "Specifies the certificate store on the Virtual Machine where the certificate should be added to.\n", "language": { "python": { "mapCase": false } } }, "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 `data`, `dataType` and `password`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificateUrl" ] }, "azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig": { "properties": { "additionalUnattendConfigs": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig:ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig" }, "description": "An Additional Unattended Config block as documented below.\n", "language": { "python": { "mapCase": false } } }, "enableAutomaticUpgrades": { "type": "boolean", "description": "Indicates whether virtual machines in the scale set are enabled for automatic updates.\n", "language": { "python": { "mapCase": false } } }, "provisionVmAgent": { "type": "boolean", "description": "Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.\n", "language": { "python": { "mapCase": false } } }, "winrms": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileWindowsConfigWinrm:ScaleSetOsProfileWindowsConfigWinrm" }, "description": "A collection of WinRM configuration blocks as documented below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "pass": { "type": "string", "description": "Specifies the name of the pass that the content applies to. The only allowable value is `oobeSystem`.\n", "language": { "python": { "mapCase": false } } }, "settingName": { "type": "string", "description": "Specifies the name of the setting to which the content applies. Possible values are: `FirstLogonCommands` and `AutoLogon`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "Specifies the protocol of listener\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "protocol" ] }, "azure:compute/ScaleSetPlan:ScaleSetPlan": { "properties": { "name": { "type": "string", "description": "Specifies the name of the image from the marketplace.\n", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image.\n", "language": { "python": { "mapCase": false } } } }, "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 `20`.\n", "language": { "python": { "mapCase": false } } }, "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 `20`.\n", "language": { "python": { "mapCase": false } } }, "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 `20`.\n", "language": { "python": { "mapCase": false } } }, "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 (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to `0` seconds represented as `PT0S`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:compute/ScaleSetSku:ScaleSetSku": { "properties": { "capacity": { "type": "integer", "description": "Specifies the number of virtual machines in the scale set.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the size of virtual machines in a scale set.\n", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "Specifies the tier of virtual machines in a scale set. Possible values, `standard` or `basic`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "capacity", "name" ], "language": { "nodejs": { "requiredOutputs": [ "capacity", "name", "tier" ] } } }, "azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk": { "properties": { "caching": { "type": "string", "description": "Specifies the caching requirements. Possible values include: `None` (default), `ReadOnly`, `ReadWrite`.\n", "language": { "python": { "mapCase": false } } }, "createOption": { "type": "string", "description": "Specifies how the data disk should be created. The only possible options are `FromImage` and `Empty`.\n", "language": { "python": { "mapCase": false } } }, "diskSizeGb": { "type": "integer", "description": "Specifies the size of the disk in GB. This element is required when creating an empty disk.\n", "language": { "python": { "mapCase": false } } }, "lun": { "type": "integer", "description": "Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.\n", "language": { "python": { "mapCase": false } } }, "managedDiskType": { "type": "string", "description": "Specifies the type of managed disk to create. Value must be either `Standard_LRS`, `StandardSSD_LRS` or `Premium_LRS`.\n", "language": { "python": { "mapCase": false } } } }, "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\nmachine scale set, as in the example below.\n", "language": { "python": { "mapCase": false } } }, "offer": { "type": "string", "description": "Specifies the offer of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "Specifies the SKU of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "Specifies the version of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk": { "properties": { "caching": { "type": "string", "description": "Specifies the caching requirements. Possible values include: `None` (default), `ReadOnly`, `ReadWrite`.\n", "language": { "python": { "mapCase": false } } }, "createOption": { "type": "string", "description": "Specifies how the virtual machine should be created. The only possible option is `FromImage`.\n", "language": { "python": { "mapCase": false } } }, "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 `os_type` needs to be specified. Cannot be used when `vhd_containers`, `managed_disk_type` or `storage_profile_image_reference` are specified.\n", "language": { "python": { "mapCase": false } } }, "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 `vhd_containers` or `image` is specified.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).\n", "language": { "python": { "mapCase": false } } }, "osType": { "type": "string", "description": "Specifies the operating system Type, valid values are windows, linux.\n", "language": { "python": { "mapCase": false } } }, "vhdContainers": { "type": "array", "items": { "type": "string" }, "description": "Specifies the vhd uri. Cannot be used when `image` or `managed_disk_type` is specified.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "createOption" ], "language": { "nodejs": { "requiredOutputs": [ "caching", "createOption", "managedDiskType" ] } } }, "azure:compute/SharedImageIdentifier:SharedImageIdentifier": { "properties": { "offer": { "type": "string", "description": "The Offer Name for this Shared Image.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The Publisher Name for this Gallery Image.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "The Name of the SKU for this Gallery Image.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "description": "The Purchase Plan Product for this Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The Purchase Plan Publisher for this Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:compute/SharedImageVersionTargetRegion:SharedImageVersionTargetRegion": { "properties": { "name": { "type": "string", "description": "The Azure Region in which this Image Version should exist.\n", "language": { "python": { "mapCase": false } } }, "regionalReplicaCount": { "type": "integer", "description": "The number of replicas of the Image Version to be created per region.\n", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The storage account type for the image version. Possible values are `Standard_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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "regionalReplicaCount" ] }, "azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings": { "properties": { "diskEncryptionKey": { "$ref": "#/types/azure:compute/SnapshotEncryptionSettingsDiskEncryptionKey:SnapshotEncryptionSettingsDiskEncryptionKey", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "keyEncryptionKey": { "$ref": "#/types/azure:compute/SnapshotEncryptionSettingsKeyEncryptionKey:SnapshotEncryptionSettingsKeyEncryptionKey", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:compute/SnapshotEncryptionSettingsDiskEncryptionKey:SnapshotEncryptionSettingsDiskEncryptionKey": { "properties": { "secretUrl": { "type": "string", "language": { "python": { "mapCase": false } } }, "sourceVaultId": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "secretUrl", "sourceVaultId" ] }, "azure:compute/SnapshotEncryptionSettingsKeyEncryptionKey:SnapshotEncryptionSettingsKeyEncryptionKey": { "properties": { "keyUrl": { "type": "string", "language": { "python": { "mapCase": false } } }, "sourceVaultId": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keyUrl", "sourceVaultId" ] }, "azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities": { "properties": { "ultraSsdEnabled": { "type": "boolean", "description": "Should Ultra SSD disk be enabled for this Virtual Machine?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "ultraSsdEnabled" ] }, "azure:compute/VirtualMachineBootDiagnostics:VirtualMachineBootDiagnostics": { "properties": { "enabled": { "type": "boolean", "description": "Should Boot Diagnostics be enabled for this Virtual Machine?\n", "language": { "python": { "mapCase": false } } }, "storageUri": { "type": "string", "description": "The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "storageUri" ] }, "azure:compute/VirtualMachineIdentity:VirtualMachineIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "Specifies a list of user managed identity ids to be assigned to the VM. Required if `type` is `UserAssigned`.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Managed Service Identity of this Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Managed Service Identity Type of this Virtual Machine. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` (where you can specify the Service Principal ID's) to be used by this Virtual Machine using the `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "type" ] } } }, "azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile": { "properties": { "adminPassword": { "type": "string", "description": "The password associated with the local administrator account.\n", "language": { "python": { "mapCase": false } } }, "adminUsername": { "type": "string", "description": "Specifies the name of the local administrator account.\n", "language": { "python": { "mapCase": false } } }, "computerName": { "type": "string", "description": "Specifies the name of the Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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 `false`, an `admin_password` must be specified.\n", "language": { "python": { "mapCase": false } } }, "sshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileLinuxConfigSshKey:VirtualMachineOsProfileLinuxConfigSshKey" }, "description": "One or more `ssh_keys` blocks. This field is required if `disable_password_authentication` is set to `true`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "disablePasswordAuthentication" ] }, "azure:compute/VirtualMachineOsProfileLinuxConfigSshKey:VirtualMachineOsProfileLinuxConfigSshKey": { "properties": { "keyData": { "type": "string", "description": "The Public SSH Key which should be written to the `path` defined above.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The path of the destination file on the virtual machine\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keyData", "path" ] }, "azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret": { "properties": { "sourceVaultId": { "type": "string", "description": "Specifies the ID of the Key Vault to use.\n", "language": { "python": { "mapCase": false } } }, "vaultCertificates": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileSecretVaultCertificate:VirtualMachineOsProfileSecretVaultCertificate" }, "description": "One or more `vault_certificates` blocks.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "sourceVaultId" ] }, "azure:compute/VirtualMachineOsProfileSecretVaultCertificate:VirtualMachineOsProfileSecretVaultCertificate": { "properties": { "certificateStore": { "type": "string", "description": "Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as `My`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificateUrl" ] }, "azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig": { "properties": { "additionalUnattendConfigs": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig:VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig" }, "description": "A `additional_unattend_config` block.\n", "language": { "python": { "mapCase": false } } }, "enableAutomaticUpgrades": { "type": "boolean", "description": "Are automatic updates enabled on this Virtual Machine? Defaults to `false.`\n", "language": { "python": { "mapCase": false } } }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "timezone": { "type": "string", "description": "Specifies the time zone of the virtual machine, [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).\n", "language": { "python": { "mapCase": false } } }, "winrms": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileWindowsConfigWinrm:VirtualMachineOsProfileWindowsConfigWinrm" }, "description": "One or more `winrm` block.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "pass": { "type": "string", "description": "Specifies the name of the pass that the content applies to. The only allowable value is `oobeSystem`.\n", "language": { "python": { "mapCase": false } } }, "settingName": { "type": "string", "description": "Specifies the name of the setting to which the content applies. Possible values are: `FirstLogonCommands` and `AutoLogon`.\n", "language": { "python": { "mapCase": false } } } }, "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 `vault_certificates` block within the `os_profile_secrets` block.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "Specifies the protocol of listener. Possible values are `HTTP` or `HTTPS`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "protocol" ] }, "azure:compute/VirtualMachinePlan:VirtualMachinePlan": { "properties": { "name": { "type": "string", "description": "Specifies the name of the image from the marketplace.\n", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "description": "Specifies the product of the image from the marketplace.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "product", "publisher" ] }, "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", "language": { "python": { "mapCase": false } } }, "createOption": { "type": "string", "description": "Specifies how the data disk should be created. Possible values are `Attach`, `FromImage` and `Empty`.\n", "language": { "python": { "mapCase": false } } }, "diskSizeGb": { "type": "integer", "description": "Specifies the size of the data disk in gigabytes.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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 `create_option` must be set to `Attach`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Data Disk.\n", "language": { "python": { "mapCase": false } } }, "vhdUri": { "type": "string", "description": "Specifies the URI of the VHD file backing this Unmanaged Data Disk. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "createOption": { "type": "string", "description": "Specifies how the OS Disk should be created. Possible values are `Attach` (managed disks only) and `FromImage`.\n", "language": { "python": { "mapCase": false } } }, "diskSizeGb": { "type": "integer", "description": "Specifies the size of the OS Disk in gigabytes.\n", "language": { "python": { "mapCase": false } } }, "imageUri": { "type": "string", "description": "Specifies the Image URI in the format `publisherName:offer:skus:version`. This field can also specify the [VHD uri](https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-cli-deploy-templates/#create-a-custom-vm-image) of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image the `os_type` field must be set.\n", "language": { "python": { "mapCase": false } } }, "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 `create_option` must be set to `Attach`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the OS Disk.\n", "language": { "python": { "mapCase": false } } }, "osType": { "type": "string", "description": "Specifies the Operating System on the OS Disk. Possible values are `Linux` and `Windows`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "createOption", "name" ], "language": { "nodejs": { "requiredOutputs": [ "caching", "createOption", "diskSizeGb", "managedDiskId", "managedDiskType", "name", "osType" ] } } }, "azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities": { "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? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountUri" ] }, "azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the System Managed Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "diffDiskSettings": { "$ref": "#/types/azure:compute/WindowsVirtualMachineOsDiskDiffDiskSettings:WindowsVirtualMachineOsDiskDiffDiskSettings", "description": "A `diff_disk_settings` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The Type of Storage Account which should back this the Internal OS Disk. Possible values are `Standard_LRS`, `StandardSSD_LRS` and `Premium_LRS`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Should Write Accelerator be Enabled for this OS Disk? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "caching", "storageAccountType" ], "language": { "nodejs": { "requiredOutputs": [ "caching", "diskSizeGb", "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "option" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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? Defaults to `false`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "content", "setting" ] }, "azure:compute/WindowsVirtualMachineScaleSetAutomaticInstanceRepair:WindowsVirtualMachineScaleSetAutomaticInstanceRepair": { "properties": { "enabled": { "type": "boolean", "description": "Should the automatic instance repair be enabled on this Virtual Machine Scale Set?\n", "language": { "python": { "mapCase": false } } }, "gracePeriod": { "type": "string", "description": "Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy": { "properties": { "disableAutomaticRollback": { "type": "boolean", "description": "Should automatic rollbacks be disabled? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountUri" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set which should be used to encrypt this Data Disk.\n", "language": { "python": { "mapCase": false } } }, "diskSizeGb": { "type": "integer", "description": "The size of the Data Disk which should be created.\n", "language": { "python": { "mapCase": false } } }, "lun": { "type": "integer", "description": "The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS` and `UltraSSD_LRS`.\n", "language": { "python": { "mapCase": false } } }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Should Write Accelerator be enabled for this Data Disk? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "caching", "diskSizeGb", "lun", "storageAccountType" ] }, "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 `true`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name for the Virtual Machine Scale Set Extension.\n", "language": { "python": { "mapCase": false } } }, "protectedSettings": { "type": "string", "description": "A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.\n", "language": { "python": { "mapCase": false } } }, "provisionAfterExtensions": { "type": "array", "items": { "type": "string" }, "description": "An ordered list of Extension names which this should be provisioned after.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the Publisher of the Extension.\n", "language": { "python": { "mapCase": false } } }, "settings": { "type": "string", "description": "A JSON String which specifies Settings for the Extension.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the Type of the Extension.\n", "language": { "python": { "mapCase": false } } }, "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the extension to use, available versions can be found using the Azure CLI.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publisher", "type", "typeHandlerVersion" ] }, "azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are `SystemAssigned`, `UserAssigned` and `SystemAssigned, UserAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "type" ] } } }, "azure:compute/WindowsVirtualMachineScaleSetNetworkInterface:WindowsVirtualMachineScaleSetNetworkInterface": { "properties": { "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.\n", "language": { "python": { "mapCase": false } } }, "enableAcceleratedNetworking": { "type": "boolean", "description": "Does this Network Interface support Accelerated Networking? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableIpForwarding": { "type": "boolean", "description": "Does this Network Interface support IP Forwarding? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration" }, "description": "One or more `ip_configuration` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name which should be used for this Network Interface. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "networkSecurityGroupId": { "type": "string", "description": "The ID of a Network Security Group which should be assigned to this Network Interface.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Is this the Primary IP Configuration?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name which should be used for this IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Is this the Primary IP Configuration for this Network Interface? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddresses": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress" }, "description": "A `public_ip_address` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet which this IP Configuration should be connected to.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "idleTimeoutInMinutes": { "type": "integer", "description": "The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range `4` to `32`.\n", "language": { "python": { "mapCase": false } } }, "ipTags": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag:WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag" }, "description": "One or more `ip_tag` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the Public IP Address Configuration.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of IP Tag, such as `FirstPartyUsage`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "diffDiskSettings": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings:WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings", "description": "A `diff_disk_settings` block as defined above. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set which should be used to encrypt this OS Disk.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS` and `Premium_LRS`.\n", "language": { "python": { "mapCase": false } } }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Should Write Accelerator be Enabled for this OS Disk? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "caching", "storageAccountType" ], "language": { "nodejs": { "requiredOutputs": [ "caching", "diskSizeGb", "storageAccountType" ] } } }, "azure:compute/WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings:WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings": { "properties": { "option": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "option" ] }, "azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan": { "properties": { "name": { "type": "string", "description": "The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the Publisher of the Extension.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "product", "publisher" ] }, "azure:compute/WindowsVirtualMachineScaleSetRollingUpgradePolicy:WindowsVirtualMachineScaleSetRollingUpgradePolicy": { "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "maxBatchInstancePercent", "maxUnhealthyInstancePercent", "maxUnhealthyUpgradedInstancePercent", "pauseTimeBetweenBatches" ] }, "azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret": { "properties": { "certificates": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSecretCertificate:WindowsVirtualMachineScaleSetSecretCertificate" }, "description": "One or more `certificate` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault from which all Secrets should be sourced.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "The Secret URL of a Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "Specifies the SKU of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "Specifies the version of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "offer", "publisher", "sku", "version" ] }, "azure:compute/WindowsVirtualMachineScaleSetTerminateNotification:WindowsVirtualMachineScaleSetTerminateNotification": { "properties": { "enabled": { "type": "boolean", "description": "Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "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.\n", "language": { "python": { "mapCase": false } } } }, "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 `protocol` is set to `Https`.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The Protocol of the WinRM Listener. Possible values are `Http` and `Https`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "protocol" ] }, "azure:compute/WindowsVirtualMachineSecret:WindowsVirtualMachineSecret": { "properties": { "certificates": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineSecretCertificate:WindowsVirtualMachineSecretCertificate" }, "description": "One or more `certificate` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault from which all Secrets should be sourced.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "The Secret URL of a Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "Specifies the SKU of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "Specifies the version of the image used to create the virtual machines.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "offer", "publisher", "sku", "version" ] }, "azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener": { "properties": { "certificateUrl": { "type": "string", "description": "The Secret URL of a Key Vault Certificate, which must be specified when `protocol` is set to `Https`.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "protocol" ] }, "azure:compute/getImageDataDisk:getImageDataDisk": { "properties": { "blobUri": { "type": "string", "description": "the URI in Azure storage of the blob used to create the image.\n", "language": { "python": { "mapCase": false } } }, "caching": { "type": "string", "description": "the caching mode for the Data Disk, such as `ReadWrite`, `ReadOnly`, or `None`.\n", "language": { "python": { "mapCase": false } } }, "lun": { "type": "integer", "description": "the logical unit number of the data disk.\n", "language": { "python": { "mapCase": false } } }, "managedDiskId": { "type": "string", "description": "the ID of the Managed Disk used as the Data Disk Image.\n", "language": { "python": { "mapCase": false } } }, "sizeGb": { "type": "integer", "description": "the size of this Data Disk in GB.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "caching": { "type": "string", "description": "the caching mode for the Data Disk, such as `ReadWrite`, `ReadOnly`, or `None`.\n", "language": { "python": { "mapCase": false } } }, "managedDiskId": { "type": "string", "description": "the ID of the Managed Disk used as the Data Disk Image.\n", "language": { "python": { "mapCase": false } } }, "osState": { "type": "string", "description": "the State of the OS used in the Image, such as `Generalized`.\n", "language": { "python": { "mapCase": false } } }, "osType": { "type": "string", "description": "the type of Operating System used on the OS Disk. such as `Linux` or `Windows`.\n", "language": { "python": { "mapCase": false } } }, "sizeGb": { "type": "integer", "description": "the size of this Data Disk in GB.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "blobUri", "caching", "managedDiskId", "osState", "osType", "sizeGb" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:compute/getSharedImageIdentifier:getSharedImageIdentifier": { "properties": { "offer": { "type": "string", "description": "The Offer Name for this Shared Image.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The Publisher Name for this Gallery Image.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "The Name of the SKU for this Gallery Image.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "offer", "publisher", "sku" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:compute/getSharedImageVersionTargetRegion:getSharedImageVersionTargetRegion": { "properties": { "name": { "type": "string", "description": "The name of the Image Version.\n", "language": { "python": { "mapCase": false } } }, "regionalReplicaCount": { "type": "integer", "description": "The number of replicas of the Image Version to be created per region.\n", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The storage account type for the image version.\n", "language": { "python": { "mapCase": false } } } }, "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 `latest` filter?\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The supported Azure location where the Shared Image Gallery exists.\n", "language": { "python": { "mapCase": false } } }, "managedImageId": { "type": "string", "description": "The ID of the Managed Image which was the source of this Shared Image Version.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Azure Region in which this Image Version exists.\n", "language": { "python": { "mapCase": false } } }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Shared Image.\n", "language": { "python": { "mapCase": false } } }, "targetRegions": { "type": "array", "items": { "$ref": "#/types/azure:compute/getSharedImageVersionsImageTargetRegion:getSharedImageVersionsImageTargetRegion" }, "description": "One or more `target_region` blocks as documented below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "excludeFromLatest", "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", "language": { "python": { "mapCase": false } } }, "regionalReplicaCount": { "type": "integer", "description": "The number of replicas of the Image Version to be created per region.\n", "language": { "python": { "mapCase": false } } }, "storageAccountType": { "type": "string", "description": "The storage account type for the image version.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "regionalReplicaCount", "storageAccountType" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:compute/getSnapshotEncryptionSetting:getSnapshotEncryptionSetting": { "properties": { "diskEncryptionKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/getSnapshotEncryptionSettingDiskEncryptionKey:getSnapshotEncryptionSettingDiskEncryptionKey" }, "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "keyEncryptionKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/getSnapshotEncryptionSettingKeyEncryptionKey:getSnapshotEncryptionSettingKeyEncryptionKey" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "diskEncryptionKeys", "enabled", "keyEncryptionKeys" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:compute/getSnapshotEncryptionSettingDiskEncryptionKey:getSnapshotEncryptionSettingDiskEncryptionKey": { "properties": { "secretUrl": { "type": "string", "language": { "python": { "mapCase": false } } }, "sourceVaultId": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "secretUrl", "sourceVaultId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:compute/getSnapshotEncryptionSettingKeyEncryptionKey:getSnapshotEncryptionSettingKeyEncryptionKey": { "properties": { "keyUrl": { "type": "string", "language": { "python": { "mapCase": false } } }, "sourceVaultId": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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 ID's which are assigned to the Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal assigned to the Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant of the System Managed Service Principal assigned to the Virtual Machine.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Managed Identity assigned to the Virtual Machine.\n", "language": { "python": { "mapCase": false } } } }, "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 Managed Identity ID's which are assigned to the Virtual Machine Scale Set.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal assigned to the Virtual Machine Scale Set.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Managed Identity assigned to the Virtual Machine Scale Set.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "identityIds", "principalId", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:config/features:features": { "properties": { "keyVault": { "$ref": "#/types/azure:config/featuresKeyVault:featuresKeyVault" }, "network": { "$ref": "#/types/azure:config/featuresNetwork:featuresNetwork" }, "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/featuresKeyVault:featuresKeyVault": { "properties": { "purgeSoftDeleteOnDestroy": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "recoverSoftDeletedKeyVaults": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:config/featuresNetwork:featuresNetwork": { "properties": { "relaxedLocking": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "relaxedLocking" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:config/featuresTemplateDeployment:featuresTemplateDeployment": { "properties": { "deleteNestedItemsDuringDeletion": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "deleteNestedItemsDuringDeletion" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:config/featuresVirtualMachine:featuresVirtualMachine": { "properties": { "deleteOsDiskOnDeletion": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "deleteOsDiskOnDeletion" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:config/featuresVirtualMachineScaleSet:featuresVirtualMachineScaleSet": { "properties": { "rollInstancesWhenRequired": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "rollInstancesWhenRequired" ], "language": { "nodejs": { "requiredInputs": [] } } }, "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", "language": { "python": { "mapCase": false } } }, "cpu": { "type": "number", "description": "The required number of CPU cores of the containers. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "gpu": { "$ref": "#/types/azure:containerservice/GroupContainerGpu:GroupContainerGpu", "description": "A `gpu` block as defined below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "image": { "type": "string", "description": "The container image name. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "livenessProbe": { "$ref": "#/types/azure:containerservice/GroupContainerLivenessProbe:GroupContainerLivenessProbe", "description": "The definition of a readiness probe for this container as documented in the `liveness_probe` block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "memory": { "type": "number", "description": "The required memory of the containers in GB. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Container Group. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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 `ports` block below.\n", "language": { "python": { "mapCase": false } } }, "readinessProbe": { "$ref": "#/types/azure:containerservice/GroupContainerReadinessProbe:GroupContainerReadinessProbe", "description": "The definition of a readiness probe for this container as documented in the `readiness_probe` block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "volumes": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/GroupContainerVolume:GroupContainerVolume" }, "description": "The definition of a volume mount for this container as documented in the `volume` block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "cpu", "image", "memory", "name" ], "language": { "nodejs": { "requiredOutputs": [ "commands", "cpu", "image", "memory", "name" ] } } }, "azure:containerservice/GroupContainerGpu:GroupContainerGpu": { "properties": { "count": { "type": "integer", "description": "The number of GPUs which should be assigned to this container. Allowed values are `1`, `2`, or `4`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "The Sku which should be used for the GPU. Possible values are `K80`, `P100`, or `V100`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "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", "language": { "python": { "mapCase": false } } }, "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). The default value is `3` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "httpGets": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/GroupContainerLivenessProbeHttpGet:GroupContainerLivenessProbeHttpGet" }, "description": "The definition of the httpget for this container as documented in the `httpget` block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "periodSeconds": { "type": "integer", "description": "How often (in seconds) to perform the probe. The default value is `10` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "successThreshold": { "type": "integer", "description": "Minimum consecutive successes for the probe to be considered successful after having failed. The default value is `1` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "timeoutSeconds": { "type": "integer", "description": "Number of seconds after which the probe times out. The default value is `1` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:containerservice/GroupContainerLivenessProbeHttpGet:GroupContainerLivenessProbeHttpGet": { "properties": { "path": { "type": "string", "description": "Path to access on the HTTP server. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The port number the container will expose. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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). The default value is `3` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "httpGets": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/GroupContainerReadinessProbeHttpGet:GroupContainerReadinessProbeHttpGet" }, "description": "The definition of the httpget for this container as documented in the `httpget` block below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "periodSeconds": { "type": "integer", "description": "How often (in seconds) to perform the probe. The default value is `10` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "successThreshold": { "type": "integer", "description": "Minimum consecutive successes for the probe to be considered successful after having failed. The default value is `1` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "timeoutSeconds": { "type": "integer", "description": "Number of seconds after which the probe times out. The default value is `1` and the minimum value is `1`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:containerservice/GroupContainerReadinessProbeHttpGet:GroupContainerReadinessProbeHttpGet": { "properties": { "path": { "type": "string", "description": "Path to access on the HTTP server. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The port number the container will expose. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:containerservice/GroupContainerVolume:GroupContainerVolume": { "properties": { "mountPath": { "type": "string", "description": "The path on which this volume is to be mounted. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Container Group. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "readOnly": { "type": "boolean", "description": "Specify if the volume is to be mounted as read only or not. The default value is `false`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "mountPath", "name", "shareName", "storageAccountKey", "storageAccountName" ] }, "azure:containerservice/GroupDiagnostics:GroupDiagnostics": { "properties": { "logAnalytics": { "$ref": "#/types/azure:containerservice/GroupDiagnosticsLogAnalytics:GroupDiagnosticsLogAnalytics", "description": "A `log_analytics` block as defined below. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "metadata": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Any metadata required for Log Analytics. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "workspaceId": { "type": "string", "description": "The Workspace ID of the Log Analytics Workspace. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "workspaceKey": { "type": "string", "description": "The Workspace Key of the Log Analytics Workspace. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "options": { "type": "array", "items": { "type": "string" }, "description": "A list of [resolver configuration options](https://man7.org/linux/man-pages/man5/resolv.conf.5.html).\n", "language": { "python": { "mapCase": false } } }, "searchDomains": { "type": "array", "items": { "type": "string" }, "description": "A list of search domains that DNS requests will search along.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "nameservers", "options", "searchDomains" ] }, "azure:containerservice/GroupIdentity:GroupIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "Specifies a list of user managed identity ids to be assigned. Required if `type` is `UserAssigned`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Managed Service Identity Type of this container group. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username with which to connect to the registry. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "server", "username" ] }, "azure:containerservice/KubernetesClusterAddonProfile:KubernetesClusterAddonProfile": { "properties": { "aciConnectorLinux": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfileAciConnectorLinux:KubernetesClusterAddonProfileAciConnectorLinux", "description": "A `aci_connector_linux` block. For more details, please visit [Create and configure an AKS cluster to use virtual nodes](https://docs.microsoft.com/en-us/azure/aks/virtual-nodes-portal).\n", "language": { "python": { "mapCase": false } } }, "azurePolicy": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfileAzurePolicy:KubernetesClusterAddonProfileAzurePolicy", "description": "A `azure_policy` block as defined below. 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", "language": { "python": { "mapCase": false } } }, "httpApplicationRouting": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfileHttpApplicationRouting:KubernetesClusterAddonProfileHttpApplicationRouting", "description": "A `http_application_routing` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "kubeDashboard": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfileKubeDashboard:KubernetesClusterAddonProfileKubeDashboard", "description": "A `kube_dashboard` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "omsAgent": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfileOmsAgent:KubernetesClusterAddonProfileOmsAgent", "description": "A `oms_agent` block as defined below. For more details, please visit [How to onboard Azure Monitor for containers](https://docs.microsoft.com/en-us/azure/monitoring/monitoring-container-insights-onboard).\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:containerservice/KubernetesClusterAddonProfileAciConnectorLinux:KubernetesClusterAddonProfileAciConnectorLinux": { "properties": { "enabled": { "type": "boolean", "description": "Is the virtual node addon enabled?\n", "language": { "python": { "mapCase": false } } }, "subnetName": { "type": "string", "description": "The subnet name for the virtual nodes to run. This is required when `aci_connector_linux` `enabled` argument is set to `true`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:containerservice/KubernetesClusterAddonProfileAzurePolicy:KubernetesClusterAddonProfileAzurePolicy": { "properties": { "enabled": { "type": "boolean", "description": "Is the Azure Policy for Kubernetes Add On enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:containerservice/KubernetesClusterAddonProfileHttpApplicationRouting:KubernetesClusterAddonProfileHttpApplicationRouting": { "properties": { "enabled": { "type": "boolean", "description": "Is HTTP Application Routing Enabled? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "httpApplicationRoutingZoneName": { "type": "string", "description": "The Zone Name of the HTTP Application Routing.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ], "language": { "nodejs": { "requiredOutputs": [ "enabled", "httpApplicationRoutingZoneName" ] } } }, "azure:containerservice/KubernetesClusterAddonProfileKubeDashboard:KubernetesClusterAddonProfileKubeDashboard": { "properties": { "enabled": { "type": "boolean", "description": "Is the Kubernetes Dashboard enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:containerservice/KubernetesClusterAddonProfileOmsAgent:KubernetesClusterAddonProfileOmsAgent": { "properties": { "enabled": { "type": "boolean", "description": "Is the OMS Agent Enabled?\n", "language": { "python": { "mapCase": false } } }, "logAnalyticsWorkspaceId": { "type": "string", "description": "The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if `enabled` is `true`.\n", "language": { "python": { "mapCase": false } } }, "omsAgentIdentities": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfileOmsAgentOmsAgentIdentity:KubernetesClusterAddonProfileOmsAgentOmsAgentIdentity" }, "description": "An `oms_agent_identity` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ], "language": { "nodejs": { "requiredOutputs": [ "enabled", "omsAgentIdentities" ] } } }, "azure:containerservice/KubernetesClusterAddonProfileOmsAgentOmsAgentIdentity:KubernetesClusterAddonProfileOmsAgentOmsAgentIdentity": { "properties": { "clientId": { "type": "string", "description": "The Client ID for the Service Principal.\n", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "The Object ID of the user-defined Managed Identity used by the OMS Agents.\n", "language": { "python": { "mapCase": false } } }, "userAssignedIdentityId": { "type": "string", "description": "The ID of the User Assigned Identity used by the OMS Agents.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "clientId", "objectId", "userAssignedIdentityId" ] } } }, "azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile": { "properties": { "balanceSimilarNodeGroups": { "type": "boolean", "description": "Detect similar node groups and balance the number of nodes between them. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "maxGracefulTerminationSec": { "type": "string", "description": "Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to `600`.\n", "language": { "python": { "mapCase": false } } }, "scaleDownDelayAfterAdd": { "type": "string", "description": "How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to `10m`.\n", "language": { "python": { "mapCase": false } } }, "scaleDownDelayAfterDelete": { "type": "string", "description": "How long after node deletion that scale down evaluation resumes. Defaults to the value used for `scan_interval`.\n", "language": { "python": { "mapCase": false } } }, "scaleDownDelayAfterFailure": { "type": "string", "description": "How long after scale down failure that scale down evaluation resumes. Defaults to `3m`.\n", "language": { "python": { "mapCase": false } } }, "scaleDownUnneeded": { "type": "string", "description": "How long a node should be unneeded before it is eligible for scale down. Defaults to `10m`.\n", "language": { "python": { "mapCase": false } } }, "scaleDownUnready": { "type": "string", "description": "How long an unready node should be unneeded before it is eligible for scale down. Defaults to `20m`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "scanInterval": { "type": "string", "description": "How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to `10s`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxGracefulTerminationSec", "scaleDownDelayAfterAdd", "scaleDownDelayAfterDelete", "scaleDownDelayAfterFailure", "scaleDownUnneeded", "scaleDownUnready", "scaleDownUtilizationThreshold", "scanInterval" ] } } }, "azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool": { "properties": { "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones across which the Node Pool should be spread.\n", "language": { "python": { "mapCase": false } } }, "enableAutoScaling": { "type": "boolean", "description": "Should [the Kubernetes Auto Scaler](https://docs.microsoft.com/en-us/azure/aks/cluster-autoscaler) be enabled for this Node Pool? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "enableNodePublicIp": { "type": "boolean", "description": "Should nodes in this Node Pool have a Public IP Address? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "maxCount": { "type": "integer", "description": "The maximum number of nodes which should exist in this Node Pool. If specified this must be between `1` and `100`.\n", "language": { "python": { "mapCase": false } } }, "maxPods": { "type": "integer", "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "minCount": { "type": "integer", "description": "The minimum number of nodes which should exist in this Node Pool. If specified this must be between `1` and `100`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "nodeCount": { "type": "integer", "description": "The initial number of nodes which should exist in this Node Pool. If specified this must be between `1` and `100` and between `min_count` and `max_count`.\n", "language": { "python": { "mapCase": false } } }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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`). Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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)\n", "language": { "python": { "mapCase": false } } }, "osDiskSizeGb": { "type": "integer", "description": "The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the Node Pool.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of Node Pool which should be created. Possible values are `AvailabilitySet` and `VirtualMachineScaleSets`. Defaults to `VirtualMachineScaleSets`.\n", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The size of the Virtual Machine, such as `Standard_DS2_v2`.\n", "language": { "python": { "mapCase": false } } }, "vnetSubnetId": { "type": "string", "description": "The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "maxPods", "name", "nodeCount", "orchestratorVersion", "osDiskSizeGb", "vmSize" ] } } }, "azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity": { "properties": { "principalId": { "type": "string", "description": "The principal id of the system assigned identity which is used by master components.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of identity used for the managed cluster. At this time the only supported value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:containerservice/KubernetesClusterKubeAdminConfig:KubernetesClusterKubeAdminConfig": { "properties": { "clientCertificate": { "type": "string", "description": "Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "clientKey": { "type": "string", "description": "Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "clusterCaCertificate": { "type": "string", "description": "Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "host": { "type": "string", "description": "The Kubernetes cluster server host.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "A password or token used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "A username used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientKey": { "type": "string", "description": "Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "clusterCaCertificate": { "type": "string", "description": "Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "host": { "type": "string", "description": "The Kubernetes cluster server host.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "A password or token used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "A username used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "clientCertificate", "clientKey", "clusterCaCertificate", "host", "password", "username" ] } } }, "azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity": { "properties": { "clientId": { "type": "string", "description": "The Client ID for the Service Principal.\n", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "The Object ID of the user-defined Managed Identity used by the OMS Agents.\n", "language": { "python": { "mapCase": false } } }, "userAssignedIdentityId": { "type": "string", "description": "The ID of the User Assigned Identity used by the OMS Agents.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "sshKey": { "$ref": "#/types/azure:containerservice/KubernetesClusterLinuxProfileSshKey:KubernetesClusterLinuxProfileSshKey", "description": "An `ssh_key` block. Only one is currently allowed. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keyData" ] }, "azure:containerservice/KubernetesClusterNetworkProfile:KubernetesClusterNetworkProfile": { "properties": { "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", "language": { "python": { "mapCase": false } } }, "dockerBridgeCidr": { "type": "string", "description": "IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "loadBalancerProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterNetworkProfileLoadBalancerProfile:KubernetesClusterNetworkProfileLoadBalancerProfile", "description": "A `load_balancer_profile` block. This can only be specified when `load_balancer_sku` is set to `Standard`.\n", "language": { "python": { "mapCase": false } } }, "loadBalancerSku": { "type": "string", "description": "Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are `Basic` and `Standard`. Defaults to `Standard`.\n", "language": { "python": { "mapCase": false } } }, "networkPlugin": { "type": "string", "description": "Network plugin to use for networking. Currently supported values are `azure` and `kubenet`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/aks/use-network-policies). Currently supported values are `calico` and `azure`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "outboundType": { "type": "string", "description": "The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer` and `userDefinedRouting`. Defaults to `loadBalancer`.\n", "language": { "python": { "mapCase": false } } }, "podCidr": { "type": "string", "description": "The CIDR to use for pod IP addresses. This field can only be set when `network_plugin` is set to `kubenet`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "serviceCidr": { "type": "string", "description": "The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "networkPlugin" ], "language": { "nodejs": { "requiredOutputs": [ "dnsServiceIp", "dockerBridgeCidr", "loadBalancerProfile", "networkPlugin", "networkPolicy", "podCidr", "serviceCidr" ] } } }, "azure:containerservice/KubernetesClusterNetworkProfileLoadBalancerProfile:KubernetesClusterNetworkProfileLoadBalancerProfile": { "properties": { "effectiveOutboundIps": { "type": "array", "items": { "type": "string" }, "description": "The outcome (resource IDs) of the specified arguments.\n", "language": { "python": { "mapCase": false } } }, "idleTimeoutInMinutes": { "type": "integer", "description": "Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between `4` and `120` inclusive. Defaults to `30`.\n", "language": { "python": { "mapCase": false } } }, "managedOutboundIpCount": { "type": "integer", "description": "Count of desired managed outbound IPs for the cluster load balancer. Must be between `1` and `100` inclusive.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "outboundPortsAllocated": { "type": "integer", "description": "Number of desired SNAT port for each VM in the clusters load balancer. Must be between `0` and `64000` inclusive. Defaults to `0`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "effectiveOutboundIps", "managedOutboundIpCount", "outboundIpAddressIds", "outboundIpPrefixIds" ] } } }, "azure:containerservice/KubernetesClusterRoleBasedAccessControl:KubernetesClusterRoleBasedAccessControl": { "properties": { "azureActiveDirectory": { "$ref": "#/types/azure:containerservice/KubernetesClusterRoleBasedAccessControlAzureActiveDirectory:KubernetesClusterRoleBasedAccessControlAzureActiveDirectory", "description": "An `azure_active_directory` block.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Role Based Access Control Enabled? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:containerservice/KubernetesClusterRoleBasedAccessControlAzureActiveDirectory:KubernetesClusterRoleBasedAccessControlAzureActiveDirectory": { "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", "language": { "python": { "mapCase": false } } }, "clientAppId": { "type": "string", "description": "The Client ID of an Azure Active Directory Application.\n", "language": { "python": { "mapCase": false } } }, "managed": { "type": "boolean", "description": "Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.\n", "language": { "python": { "mapCase": false } } }, "serverAppId": { "type": "string", "description": "The Server ID of an Azure Active Directory Application.\n", "language": { "python": { "mapCase": false } } }, "serverAppSecret": { "type": "string", "description": "The Server Secret of an Azure Active Directory Application.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "tenantId" ] } } }, "azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal": { "properties": { "clientId": { "type": "string", "description": "The Client ID for the Service Principal.\n", "language": { "python": { "mapCase": false } } }, "clientSecret": { "type": "string", "description": "The Client Secret for the Service Principal.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId", "clientSecret" ] }, "azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile": { "properties": { "adminPassword": { "type": "string", "description": "The Admin Password for Windows VMs.\n", "language": { "python": { "mapCase": false } } }, "adminUsername": { "type": "string", "description": "The Admin Username for Windows VMs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "adminUsername" ] }, "azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet": { "properties": { "defaultAction": { "type": "string", "description": "The behaviour for requests matching no rules. Either `Allow` or `Deny`. Defaults to `Allow`\n", "language": { "python": { "mapCase": false } } }, "ipRules": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/RegistryNetworkRuleSetIpRule:RegistryNetworkRuleSetIpRule" }, "description": "One or more `ip_rule` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "virtualNetworks": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/RegistryNetworkRuleSetVirtualNetwork:RegistryNetworkRuleSetVirtualNetwork" }, "description": "One or more `virtual_network` blocks as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "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", "language": { "python": { "mapCase": false } } }, "ipRange": { "type": "string", "description": "The CIDR block from which requests will match the rule.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "ipRange" ] }, "azure:containerservice/RegistryNetworkRuleSetVirtualNetwork:RegistryNetworkRuleSetVirtualNetwork": { "properties": { "action": { "type": "string", "description": "The behaviour for requests matching this rule. At this time the only supported value is `Allow`\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The subnet id from which requests will match the rule.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "subnetId" ] }, "azure:containerservice/getKubernetesClusterAddonProfile:getKubernetesClusterAddonProfile": { "properties": { "azurePolicies": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAddonProfileAzurePolicy:getKubernetesClusterAddonProfileAzurePolicy" }, "description": "A `azure_policy` block.\n", "language": { "python": { "mapCase": false } } }, "httpApplicationRoutings": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAddonProfileHttpApplicationRouting:getKubernetesClusterAddonProfileHttpApplicationRouting" }, "description": "A `http_application_routing` block.\n", "language": { "python": { "mapCase": false } } }, "kubeDashboards": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAddonProfileKubeDashboard:getKubernetesClusterAddonProfileKubeDashboard" }, "description": "A `kube_dashboard` block.\n", "language": { "python": { "mapCase": false } } }, "omsAgents": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAddonProfileOmsAgent:getKubernetesClusterAddonProfileOmsAgent" }, "description": "A `oms_agent` block.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "azurePolicies", "httpApplicationRoutings", "kubeDashboards", "omsAgents" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterAddonProfileAzurePolicy:getKubernetesClusterAddonProfileAzurePolicy": { "properties": { "enabled": { "type": "boolean", "description": "Is Role Based Access Control enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterAddonProfileHttpApplicationRouting:getKubernetesClusterAddonProfileHttpApplicationRouting": { "properties": { "enabled": { "type": "boolean", "description": "Is Role Based Access Control enabled?\n", "language": { "python": { "mapCase": false } } }, "httpApplicationRoutingZoneName": { "type": "string", "description": "The Zone Name of the HTTP Application Routing.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "httpApplicationRoutingZoneName" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterAddonProfileKubeDashboard:getKubernetesClusterAddonProfileKubeDashboard": { "properties": { "enabled": { "type": "boolean", "description": "Is Role Based Access Control enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterAddonProfileOmsAgent:getKubernetesClusterAddonProfileOmsAgent": { "properties": { "enabled": { "type": "boolean", "description": "Is Role Based Access Control enabled?\n", "language": { "python": { "mapCase": false } } }, "logAnalyticsWorkspaceId": { "type": "string", "description": "The ID of the Log Analytics Workspace which the OMS Agent should send data to.\n", "language": { "python": { "mapCase": false } } }, "omsAgentIdentities": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAddonProfileOmsAgentOmsAgentIdentity:getKubernetesClusterAddonProfileOmsAgentOmsAgentIdentity" }, "description": "An `oms_agent_identity` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "logAnalyticsWorkspaceId", "omsAgentIdentities" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterAddonProfileOmsAgentOmsAgentIdentity:getKubernetesClusterAddonProfileOmsAgentOmsAgentIdentity": { "properties": { "clientId": { "type": "string", "description": "The Client ID of the user-defined Managed Identity assigned to the Kubelets.\n", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "The Object ID of the user-defined Managed Identity assigned to the Kubelets.\n", "language": { "python": { "mapCase": false } } }, "userAssignedIdentityId": { "type": "string", "description": "The ID of the User Assigned Identity assigned to the Kubelets.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId", "objectId", "userAssignedIdentityId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterAgentPoolProfile:getKubernetesClusterAgentPoolProfile": { "properties": { "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "The availability zones used for the nodes.\n", "language": { "python": { "mapCase": false } } }, "count": { "type": "integer", "description": "The number of Agents (VM's) in the Pool.\n", "language": { "python": { "mapCase": false } } }, "enableAutoScaling": { "type": "boolean", "description": "If the auto-scaler is enabled.\n", "language": { "python": { "mapCase": false } } }, "enableNodePublicIp": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "maxCount": { "type": "integer", "description": "Maximum number of nodes for auto-scaling\n", "language": { "python": { "mapCase": false } } }, "maxPods": { "type": "integer", "description": "The maximum number of pods that can run on each agent.\n", "language": { "python": { "mapCase": false } } }, "minCount": { "type": "integer", "description": "Minimum number of nodes for auto-scaling\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the managed Kubernetes Cluster.\n", "language": { "python": { "mapCase": false } } }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "nodeTaints": { "type": "array", "items": { "type": "string" }, "description": "The list of Kubernetes taints which are applied to nodes in the agent pool\n", "language": { "python": { "mapCase": false } } }, "orchestratorVersion": { "type": "string", "description": "Kubernetes version used for the Agents.\n", "language": { "python": { "mapCase": false } } }, "osDiskSizeGb": { "type": "integer", "description": "The size of the Agent VM's Operating System Disk in GB.\n", "language": { "python": { "mapCase": false } } }, "osType": { "type": "string", "description": "The Operating System used for the Agents.\n", "language": { "python": { "mapCase": false } } }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of identity used for the managed cluster.\n", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The size of each VM in the Agent Pool (e.g. `Standard_F1`).\n", "language": { "python": { "mapCase": false } } }, "vnetSubnetId": { "type": "string", "description": "The ID of the Subnet where the Agents in the Pool are provisioned.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "availabilityZones", "count", "enableAutoScaling", "enableNodePublicIp", "maxCount", "maxPods", "minCount", "name", "nodeLabels", "nodeTaints", "orchestratorVersion", "osDiskSizeGb", "osType", "tags", "type", "vmSize", "vnetSubnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterIdentity:getKubernetesClusterIdentity": { "properties": { "principalId": { "type": "string", "description": "The principal id of the system assigned identity which is used by primary components.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The tenant id of the system assigned identity which is used by primary components.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of identity used for the managed cluster.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "principalId", "tenantId", "type" ], "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", "language": { "python": { "mapCase": false } } }, "clientKey": { "type": "string", "description": "Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "clusterCaCertificate": { "type": "string", "description": "Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "host": { "type": "string", "description": "The Kubernetes cluster server host.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "A password or token used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "A username used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clientKey": { "type": "string", "description": "Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "clusterCaCertificate": { "type": "string", "description": "Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "host": { "type": "string", "description": "The Kubernetes cluster server host.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "A password or token used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "A username used to authenticate to the Kubernetes cluster.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "The Object ID of the user-defined Managed Identity assigned to the Kubelets.\n", "language": { "python": { "mapCase": false } } }, "userAssignedIdentityId": { "type": "string", "description": "The ID of the User Assigned Identity assigned to the Kubelets.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "sshKeys": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterLinuxProfileSshKey:getKubernetesClusterLinuxProfileSshKey" }, "description": "An `ssh_key` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keyData" ], "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", "language": { "python": { "mapCase": false } } }, "dockerBridgeCidr": { "type": "string", "description": "IP address (in CIDR notation) used as the Docker bridge IP address on nodes.\n", "language": { "python": { "mapCase": false } } }, "loadBalancerSku": { "type": "string", "language": { "python": { "mapCase": false } } }, "networkPlugin": { "type": "string", "description": "Network plugin used such as `azure` or `kubenet`.\n", "language": { "python": { "mapCase": false } } }, "networkPolicy": { "type": "string", "description": "Network policy to be used with Azure CNI. Eg: `calico` or `azure`\n", "language": { "python": { "mapCase": false } } }, "podCidr": { "type": "string", "description": "The CIDR used for pod IP addresses.\n", "language": { "python": { "mapCase": false } } }, "serviceCidr": { "type": "string", "description": "Network range used by the Kubernetes service.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dnsServiceIp", "dockerBridgeCidr", "loadBalancerSku", "networkPlugin", "networkPolicy", "podCidr", "serviceCidr" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterRoleBasedAccessControl:getKubernetesClusterRoleBasedAccessControl": { "properties": { "azureActiveDirectories": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterRoleBasedAccessControlAzureActiveDirectory:getKubernetesClusterRoleBasedAccessControlAzureActiveDirectory" }, "description": "A `azure_active_directory` block as documented above.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is Role Based Access Control enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "azureActiveDirectories", "enabled" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterRoleBasedAccessControlAzureActiveDirectory:getKubernetesClusterRoleBasedAccessControlAzureActiveDirectory": { "properties": { "adminGroupObjectIds": { "type": "array", "items": { "type": "string" }, "description": "The list of Object IDs of Azure Active Directory Groups which have Admin Role on the Cluster (when using a Managed integration).\n", "language": { "python": { "mapCase": false } } }, "clientAppId": { "type": "string", "description": "The Client ID of an Azure Active Directory Application.\n", "language": { "python": { "mapCase": false } } }, "managed": { "type": "boolean", "description": "Is the Azure Active Directory Integration managed (also known as AAD Integration V2)?\n", "language": { "python": { "mapCase": false } } }, "serverAppId": { "type": "string", "description": "The Server ID of an Azure Active Directory Application.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The tenant id of the system assigned identity which is used by primary components.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "adminGroupObjectIds", "clientAppId", "managed", "serverAppId", "tenantId" ], "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:containerservice/getKubernetesClusterWindowsProfile:getKubernetesClusterWindowsProfile": { "properties": { "adminUsername": { "type": "string", "description": "The username associated with the administrator account of the Windows VMs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "adminUsername" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:core/CustomProviderAction:CustomProviderAction": { "properties": { "endpoint": { "type": "string", "description": "Specifies the endpoint of the action.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the action.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "endpoint", "name" ] }, "azure:core/CustomProviderResourceType:CustomProviderResourceType": { "properties": { "endpoint": { "type": "string", "description": "Specifies the endpoint of the route definition.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the route definition.\n", "language": { "python": { "mapCase": false } } }, "routingType": { "type": "string", "description": "The routing type that is supported for the resource request. Valid values are `ResourceTypeRoutingProxy` or `ResourceTypeRoutingProxyCache`. This value defaults to `ResourceTypeRoutingProxy`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "endpoint", "name" ] }, "azure:core/CustomProviderValidation:CustomProviderValidation": { "properties": { "specification": { "type": "string", "description": "The endpoint where the validation specification is located.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "specification" ] }, "azure:core/getResourcesResource:getResourcesResource": { "properties": { "id": { "type": "string", "description": "The ID of this Resource.\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The Azure Region in which this Resource exists.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Resource.\n", "language": { "python": { "mapCase": false } } }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of tags assigned to this Resource.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Resource Type of the Resources you want to list (e.g. `Microsoft.Network/virtualNetworks`). A full list of available Resource Types can be found [here](https://docs.microsoft.com/en-us/azure/azure-resource-manager/azure-services-resource-providers).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id", "location", "name", "tags", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:core/getSubscriptionsSubscription:getSubscriptionsSubscription": { "properties": { "displayName": { "type": "string", "description": "The subscription display name.\n", "language": { "python": { "mapCase": false } } }, "locationPlacementId": { "type": "string", "description": "The subscription location placement ID.\n", "language": { "python": { "mapCase": false } } }, "quotaId": { "type": "string", "description": "The subscription quota ID.\n", "language": { "python": { "mapCase": false } } }, "spendingLimit": { "type": "string", "description": "The subscription spending limit.\n", "language": { "python": { "mapCase": false } } }, "state": { "type": "string", "description": "The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.\n", "language": { "python": { "mapCase": false } } }, "subscriptionId": { "type": "string", "description": "The subscription GUID.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The subscription tenant ID.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "displayName", "locationPlacementId", "quotaId", "spendingLimit", "state", "subscriptionId", "tenantId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "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", "language": { "python": { "mapCase": false } } }, "maxIntervalInSeconds": { "type": "integer", "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is `5` - `86400` (1 day). Defaults to `5`. Required when `consistency_level` is set to `BoundedStaleness`.\n", "language": { "python": { "mapCase": false } } }, "maxStalenessPrefix": { "type": "integer", "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is `10` – `2147483647`. Defaults to `100`. Required when `consistency_level` is set to `BoundedStaleness`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consistencyLevel" ], "language": { "nodejs": { "requiredOutputs": [ "consistencyLevel", "maxIntervalInSeconds", "maxStalenessPrefix" ] } } }, "azure:cosmosdb/AccountGeoLocation:AccountGeoLocation": { "properties": { "failoverPriority": { "type": "integer", "description": "The failover priority of the region. A failover priority of `0` 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 `0`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the virtual network subnet.\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The name of the Azure region to host replicated data.\n", "language": { "python": { "mapCase": false } } }, "prefix": { "type": "string", "description": "The string used to generate the document endpoints for this region. If not specified it defaults to `${cosmosdb_account.name}-${location}`. Changing this causes the location to be deleted and re-provisioned and cannot be changed for the location with failover priority `0`.\n", "deprecationMessage": "This is deprecated because the service no longer accepts this as an input since Apr 25, 2019", "language": { "python": { "mapCase": false } } }, "zoneRedundant": { "type": "boolean", "description": "Should zone redundancy be enabled for this region? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "failoverPriority", "location" ], "language": { "nodejs": { "requiredOutputs": [ "failoverPriority", "id", "location" ] } } }, "azure:cosmosdb/AccountVirtualNetworkRule:AccountVirtualNetworkRule": { "properties": { "id": { "type": "string", "description": "The ID of the virtual network subnet.\n", "language": { "python": { "mapCase": false } } }, "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 `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id" ] }, "azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings": { "properties": { "maxThroughput": { "type": "integer", "description": "The maximum throughput of the Cassandra KeySpace (RU/s). Must be between `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxThroughput" ] } } }, "azure:cosmosdb/GremlinDatabaseAutoscaleSettings:GremlinDatabaseAutoscaleSettings": { "properties": { "maxThroughput": { "type": "integer", "description": "The maximum throughput of the Gremlin database (RU/s). Must be between `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "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 `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "conflictResolutionProcedure": { "type": "string", "description": "The procedure to resolve conflicts in the case of custom mode.\n", "language": { "python": { "mapCase": false } } }, "mode": { "type": "string", "description": "Indicates the conflict resolution mode. Possible values include: `LastWriterWins`, `Custom`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "mode" ] }, "azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy": { "properties": { "automatic": { "type": "boolean", "description": "Indicates if the indexing policy is automatic. Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "excludedPaths": { "type": "array", "items": { "type": "string" }, "description": "List of paths to exclude from indexing. Required if `indexing_mode` is `Consistent` or `Lazy`.\n", "language": { "python": { "mapCase": false } } }, "includedPaths": { "type": "array", "items": { "type": "string" }, "description": "List of paths to include in the indexing. Required if `indexing_mode` is `Consistent` or `Lazy`.\n", "language": { "python": { "mapCase": false } } }, "indexingMode": { "type": "string", "description": "Indicates the indexing mode. Possible values include: `Consistent`, `Lazy`, `None`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "indexingMode" ] }, "azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey": { "properties": { "paths": { "type": "array", "items": { "type": "string" }, "description": "A list of paths to use for this unique key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "paths" ] }, "azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings": { "properties": { "maxThroughput": { "type": "integer", "description": "The maximum throughput of the MongoDB collection (RU/s). Must be between `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "unique": { "type": "boolean", "description": "Is the index unique or not? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keys" ] }, "azure:cosmosdb/MongoCollectionSystemIndex:MongoCollectionSystemIndex": { "properties": { "keys": { "type": "array", "items": { "type": "string" }, "description": "Specifies the list of user settable keys for each Cosmos DB Mongo Collection.\n", "language": { "python": { "mapCase": false } } }, "unique": { "type": "boolean", "description": "Is the index unique or not? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "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 `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxThroughput" ] } } }, "azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings": { "properties": { "maxThroughput": { "type": "integer", "description": "The maximum throughput of the SQL container (RU/s). Must be between `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxThroughput" ] } } }, "azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy": { "properties": { "excludedPaths": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/SqlContainerIndexingPolicyExcludedPath:SqlContainerIndexingPolicyExcludedPath" }, "description": "One or more `excluded_path` blocks as defined below. Either `included_path` or `excluded_path` must contain the `path` `/*`\n", "language": { "python": { "mapCase": false } } }, "includedPaths": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/SqlContainerIndexingPolicyIncludedPath:SqlContainerIndexingPolicyIncludedPath" }, "description": "One or more `included_path` blocks as defined below. Either `included_path` or `excluded_path` must contain the `path` `/*`\n", "language": { "python": { "mapCase": false } } }, "indexingMode": { "type": "string", "description": "Indicates the indexing mode. Possible values include: `Consistent` and `None`. Defaults to `Consistent`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "excludedPaths", "includedPaths" ] } } }, "azure:cosmosdb/SqlContainerIndexingPolicyExcludedPath:SqlContainerIndexingPolicyExcludedPath": { "properties": { "path": { "type": "string", "description": "Path that is excluded from indexing.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "path" ] }, "azure:cosmosdb/SqlContainerIndexingPolicyIncludedPath:SqlContainerIndexingPolicyIncludedPath": { "properties": { "path": { "type": "string", "description": "Path for which the indexing behavior applies to.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "path" ] }, "azure:cosmosdb/SqlContainerUniqueKey:SqlContainerUniqueKey": { "properties": { "paths": { "type": "array", "items": { "type": "string" }, "description": "A list of paths to use for this unique key.\n", "language": { "python": { "mapCase": false } } } }, "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 `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxThroughput" ] } } }, "azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings": { "properties": { "maxThroughput": { "type": "integer", "description": "The maximum throughput of the Table (RU/s). Must be between `4,000` and `1,000,000`. Must be set in increments of `1,000`. Conflicts with `throughput`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxThroughput" ] } } }, "azure:cosmosdb/getAccountCapability:getAccountCapability": { "properties": { "name": { "type": "string", "description": "Specifies the name of the CosmosDB Account.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "maxIntervalInSeconds": { "type": "integer", "description": "The amount of staleness (in seconds) tolerated when the consistency level is Bounded Staleness.\n", "language": { "python": { "mapCase": false } } }, "maxStalenessPrefix": { "type": "integer", "description": "The number of stale requests tolerated when the consistency level is Bounded Staleness.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "consistencyLevel", "maxIntervalInSeconds", "maxStalenessPrefix" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:cosmosdb/getAccountGeoLocation:getAccountGeoLocation": { "properties": { "failoverPriority": { "type": "integer", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the virtual network subnet.\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The name of the Azure region hosting replicated data.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:costmanagement/ResourceGroupExportDeliveryInfo:ResourceGroupExportDeliveryInfo": { "properties": { "containerName": { "type": "string", "description": "The name of the container where exports will be uploaded.\n", "language": { "python": { "mapCase": false } } }, "rootFolderPath": { "type": "string", "description": "The path of the directory where exports will be uploaded.\n", "language": { "python": { "mapCase": false } } }, "storageAccountId": { "type": "string", "description": "The storage account id where exports will be delivered.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "containerName", "rootFolderPath", "storageAccountId" ] }, "azure:costmanagement/ResourceGroupExportQuery:ResourceGroupExportQuery": { "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`, `YearToDate`, `TheLastWeek`, `TheLastMonth`, `TheLastYear`, `Custom`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of the query.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "timeFrame", "type" ] }, "azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters": { "properties": { "noPublicIp": { "type": "boolean", "description": "Are public IP Addresses not allowed?\n", "language": { "python": { "mapCase": false } } }, "privateSubnetName": { "type": "string", "description": "The name of the Private Subnet within the Virtual Network. Required if `virtual_network_id` is set.\n", "language": { "python": { "mapCase": false } } }, "publicSubnetName": { "type": "string", "description": "The name of the Public Subnet within the Virtual Network. Required if `virtual_network_id` is set.\n", "language": { "python": { "mapCase": false } } }, "virtualNetworkId": { "type": "string", "description": "The ID of a Virtual Network where this Databricks Cluster should be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation": { "properties": { "container": { "type": "string", "description": "The container on the Azure Blob Storage Account hosting the file.\n", "language": { "python": { "mapCase": false } } }, "filename": { "type": "string", "description": "The filename of the file on the web server.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The folder path to the file on the web server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "container", "filename", "path" ] }, "azure:datafactory/DatasetDelimitedTextHttpServerLocation:DatasetDelimitedTextHttpServerLocation": { "properties": { "filename": { "type": "string", "description": "The filename of the file on the web server.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The folder path to the file on the web server.\n", "language": { "python": { "mapCase": false } } }, "relativeUrl": { "type": "string", "description": "The base URL to the web server hosting the file.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "filename", "path", "relativeUrl" ] }, "azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "filename": { "type": "string", "description": "The filename of the file on the web server.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The folder path to the file on the web server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "container", "filename", "path" ] }, "azure:datafactory/DatasetJsonHttpServerLocation:DatasetJsonHttpServerLocation": { "properties": { "filename": { "type": "string", "description": "The filename of the file on the web server.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The folder path to the file on the web server.\n", "language": { "python": { "mapCase": false } } }, "relativeUrl": { "type": "string", "description": "The base URL to the web server hosting the file.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "filename", "path", "relativeUrl" ] }, "azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn": { "properties": { "description": { "type": "string", "description": "The description of the column.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the column.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration": { "properties": { "accountName": { "type": "string", "description": "Specifies the GitHub account name.\n", "language": { "python": { "mapCase": false } } }, "branchName": { "type": "string", "description": "Specifies the branch of the repository to get code from.\n", "language": { "python": { "mapCase": false } } }, "gitUrl": { "type": "string", "description": "Specifies the GitHub Enterprise host name. For example: https://github.mydomain.com. Use https://github.com for open source repositories.\n", "language": { "python": { "mapCase": false } } }, "repositoryName": { "type": "string", "description": "Specifies the name of the git repository.\n", "language": { "python": { "mapCase": false } } }, "rootFolder": { "type": "string", "description": "Specifies the root folder within the repository. Set to `/` for the top level.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "accountName", "branchName", "gitUrl", "repositoryName", "rootFolder" ] }, "azure:datafactory/FactoryIdentity:FactoryIdentity": { "properties": { "principalId": { "type": "string", "description": "The ID of the Principal (Client) in Azure Active Directory\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "Specifies the Tenant ID associated with the VSTS account.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the identity type of the Data Factory. At this time the only allowed value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "branchName": { "type": "string", "description": "Specifies the branch of the repository to get code from.\n", "language": { "python": { "mapCase": false } } }, "projectName": { "type": "string", "description": "Specifies the name of the VSTS project.\n", "language": { "python": { "mapCase": false } } }, "repositoryName": { "type": "string", "description": "Specifies the name of the git repository.\n", "language": { "python": { "mapCase": false } } }, "rootFolder": { "type": "string", "description": "Specifies the root folder within the repository. Set to `/` for the top level.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "Specifies the Tenant ID associated with the VSTS account.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "accountName", "branchName", "projectName", "repositoryName", "rootFolder", "tenantId" ] }, "azure:datafactory/IntegrationRuntimeManagedCatalogInfo:IntegrationRuntimeManagedCatalogInfo": { "properties": { "administratorLogin": { "type": "string", "description": "Administrator login name for the SQL Server.\n", "language": { "python": { "mapCase": false } } }, "administratorPassword": { "type": "string", "description": "Administrator login password for the SQL Server.\n", "language": { "python": { "mapCase": false } } }, "pricingTier": { "type": "string", "description": "Pricing tier for the database that will be created for the SSIS catalog. Valid values are: `Basic`, `Standard`, `Premium` and `PremiumRS`.\n", "language": { "python": { "mapCase": false } } }, "serverEndpoint": { "type": "string", "description": "The endpoint of an Azure SQL Server that will be used to host the SSIS catalog.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "administratorLogin", "administratorPassword", "serverEndpoint" ] }, "azure:datafactory/IntegrationRuntimeManagedCustomSetupScript:IntegrationRuntimeManagedCustomSetupScript": { "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/en-us/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup](https://docs.microsoft.com/en-us/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) for more information.\n", "language": { "python": { "mapCase": false } } }, "sasToken": { "type": "string", "description": "A container SAS token that gives access to the files. See [https://docs.microsoft.com/en-us/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup](https://docs.microsoft.com/en-us/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) for more information.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "blobContainerUri", "sasToken" ] }, "azure:datafactory/IntegrationRuntimeManagedVnetIntegration:IntegrationRuntimeManagedVnetIntegration": { "properties": { "subnetName": { "type": "string", "description": "Name of the subnet to which the nodes of the Managed Integration Runtime will be added.\n", "language": { "python": { "mapCase": false } } }, "vnetId": { "type": "string", "description": "ID of the virtual network to which the nodes of the Managed Integration Runtime will be added.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "subnetName", "vnetId" ] }, "azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization": { "properties": { "resourceId": { "type": "string", "description": "The resource identifier of the integration runtime to be shared. Changing this forces a new Data Factory to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "resourceId" ] }, "azure:datafactory/getFactoryGithubConfiguration:getFactoryGithubConfiguration": { "properties": { "accountName": { "type": "string", "description": "The VSTS account name.\n", "language": { "python": { "mapCase": false } } }, "branchName": { "type": "string", "description": "The branch of the repository to get code from.\n", "language": { "python": { "mapCase": false } } }, "gitUrl": { "type": "string", "description": "The GitHub Enterprise host name.\n", "language": { "python": { "mapCase": false } } }, "repositoryName": { "type": "string", "description": "The name of the git repository.\n", "language": { "python": { "mapCase": false } } }, "rootFolder": { "type": "string", "description": "The root folder within the repository.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "accountName", "branchName", "gitUrl", "repositoryName", "rootFolder" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:datafactory/getFactoryIdentity:getFactoryIdentity": { "properties": { "principalId": { "type": "string", "description": "The ID of the Principal (Client) in Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID associated with the VSTS account.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Data Factory.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "principalId", "tenantId", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:datafactory/getFactoryVstsConfiguration:getFactoryVstsConfiguration": { "properties": { "accountName": { "type": "string", "description": "The VSTS account name.\n", "language": { "python": { "mapCase": false } } }, "branchName": { "type": "string", "description": "The branch of the repository to get code from.\n", "language": { "python": { "mapCase": false } } }, "projectName": { "type": "string", "description": "The name of the VSTS project.\n", "language": { "python": { "mapCase": false } } }, "repositoryName": { "type": "string", "description": "The name of the git repository.\n", "language": { "python": { "mapCase": false } } }, "rootFolder": { "type": "string", "description": "The root folder within the repository.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID associated with the VSTS account.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "accountName", "branchName", "projectName", "repositoryName", "rootFolder", "tenantId" ], "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", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Identity of this Data Share Account.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the identity type of the Data Share Account. At this time the only allowed value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "resourceGroupName", "subscriptionId" ] }, "azure:datashare/ShareSnapshotSchedule:ShareSnapshotSchedule": { "properties": { "name": { "type": "string", "description": "The name of the snapshot schedule.\n", "language": { "python": { "mapCase": false } } }, "recurrence": { "type": "string", "description": "The interval of the synchronization with the source data. Possible values are `Hour` and `Day`.\n", "language": { "python": { "mapCase": false } } }, "startTime": { "type": "string", "description": "The synchronization with the source data's start time.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "recurrence", "startTime" ] }, "azure:datashare/getAccountIdentity:getAccountIdentity": { "properties": { "principalId": { "type": "string", "description": "The ID of the Principal (Client) in Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Azure Active Directory Tenant.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Data Share Account.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "resourceGroupName": { "type": "string", "description": "The resource group name of the storage account to be shared with the receiver.\n", "language": { "python": { "mapCase": false } } }, "subscriptionId": { "type": "string", "description": "The subscription id of the storage account to be shared with the receiver.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "recurrence": { "type": "string", "description": "The interval of the synchronization with the source data.\n", "language": { "python": { "mapCase": false } } }, "startTime": { "type": "string", "description": "The synchronization with the source data's start time.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "recurrence", "startTime" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:devtest/GlobalVMShutdownScheduleNotificationSettings:GlobalVMShutdownScheduleNotificationSettings": { "properties": { "enabled": { "type": "boolean", "description": "Whether to enable pre-shutdown notifications. Possible values are `true` and `false`. Defaults to `false`\n", "language": { "python": { "mapCase": false } } }, "timeInMinutes": { "type": "integer", "description": "Time in minutes between 15 and 120 before a shutdown event at which a notification will be sent. Defaults to `30`.\n", "language": { "python": { "mapCase": false } } }, "webhookUrl": { "type": "string", "description": "The webhook URL to which the notification will be sent. Required if `enabled` is `true`. Optional otherwise.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The Publisher of the Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "The SKU of the Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The Version of the Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "frontendPort": { "type": "integer", "description": "The frontend port associated with this Inbound NAT Rule.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "time" ] }, "azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence": { "properties": { "minute": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "timeInMinutes": { "type": "integer", "description": "Time in minutes before event at which notification will be sent.\n", "language": { "python": { "mapCase": false } } }, "webhookUrl": { "type": "string", "description": "The webhook URL to which the notification will be sent.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:devtest/ScheduleWeeklyRecurrence:ScheduleWeeklyRecurrence": { "properties": { "time": { "type": "string", "description": "The time when the schedule takes effect.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "useInVirtualMachineCreation": { "type": "string", "description": "Can this subnet be used for creating Virtual Machines? Possible values are `Allow`, `Default` and `Deny`.\n", "language": { "python": { "mapCase": false } } }, "usePublicIpAddress": { "type": "string", "description": "Can Virtual Machines in this Subnet use Public IP Addresses? Possible values are `Allow`, `Default` and `Deny`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "name" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The Publisher of the Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "sku": { "type": "string", "description": "The SKU of the Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The Version of the Gallery Image. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "frontendPort": { "type": "integer", "description": "The frontend port associated with this Inbound NAT Rule.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "labSubnetName": { "type": "string", "description": "The name of the subnet.\n", "language": { "python": { "mapCase": false } } }, "resourceId": { "type": "string", "description": "The resource identifier for the subnet.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "allowPublicIp", "labSubnetName", "resourceId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:devtest/getVirtualNetworkSubnetOverride:getVirtualNetworkSubnetOverride": { "properties": { "labSubnetName": { "type": "string", "description": "The name of the subnet.\n", "language": { "python": { "mapCase": false } } }, "resourceId": { "type": "string", "description": "The resource identifier for the subnet.\n", "language": { "python": { "mapCase": false } } }, "useInVmCreationPermission": { "type": "string", "description": "Indicates if the subnet can be used for VM creation. Possible values are `Allow`, `Default` and `Deny`.\n", "language": { "python": { "mapCase": false } } }, "usePublicIpAddressPermission": { "type": "string", "language": { "python": { "mapCase": false } } }, "virtualNetworkPoolName": { "type": "string", "description": "The virtual network pool associated with this subnet.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "labSubnetName", "resourceId", "useInVmCreationPermission", "usePublicIpAddressPermission", "virtualNetworkPoolName" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:dns/CaaRecordRecord:CaaRecordRecord": { "properties": { "flags": { "type": "integer", "description": "Extensible CAA flags, currently only 1 is implemented to set the issuer critical flag.\n", "language": { "python": { "mapCase": false } } }, "tag": { "type": "string", "description": "A property tag, options are issue, issuewild and iodef.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "A property value such as a registrar domain.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "preference": { "type": "string", "description": "String representing the \"preference” value of the MX records. Records with lower preference value take priority.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "exchange", "preference" ] }, "azure:dns/SrvRecordRecord:SrvRecordRecord": { "properties": { "port": { "type": "integer", "description": "Port the service is listening on.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "Priority of the SRV record.\n", "language": { "python": { "mapCase": false } } }, "target": { "type": "string", "description": "FQDN of the service.\n", "language": { "python": { "mapCase": false } } }, "weight": { "type": "integer", "description": "Weight of the SRV record.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "port", "priority", "target", "weight" ] }, "azure:dns/TxtRecordRecord:TxtRecordRecord": { "properties": { "value": { "type": "string", "description": "The value of the record. Max length: 1024 characters\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "value" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "numberGreaterThanOrEquals": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberGreaterThans": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberGreaterThan:EventSubscriptionAdvancedFilterNumberGreaterThan" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberIns": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberIn:EventSubscriptionAdvancedFilterNumberIn" }, "description": "Compares a value of an event using multiple floating point numbers.\n", "language": { "python": { "mapCase": false } } }, "numberLessThanOrEquals": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberLessThanOrEqual:EventSubscriptionAdvancedFilterNumberLessThanOrEqual" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberLessThans": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberLessThan:EventSubscriptionAdvancedFilterNumberLessThan" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberNotIns": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterNumberNotIn:EventSubscriptionAdvancedFilterNumberNotIn" }, "description": "Compares a value of an event using multiple floating point numbers.\n", "language": { "python": { "mapCase": false } } }, "stringBeginsWiths": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringBeginsWith:EventSubscriptionAdvancedFilterStringBeginsWith" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringContains": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringContain:EventSubscriptionAdvancedFilterStringContain" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringEndsWiths": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringEndsWith:EventSubscriptionAdvancedFilterStringEndsWith" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringIns": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringIn:EventSubscriptionAdvancedFilterStringIn" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringNotIns": { "type": "array", "items": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilterStringNotIn:EventSubscriptionAdvancedFilterStringNotIn" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "boolean", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "key", "value" ] }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "number" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "number" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "maxEventsPerBatch": { "type": "integer", "description": "Maximum number of events per batch.\n", "language": { "python": { "mapCase": false } } }, "preferredBatchSizeInKilobytes": { "type": "integer", "description": "Preferred batch size in Kilobytes.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "functionId" ] }, "azure:eventgrid/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint": { "properties": { "eventhubId": { "type": "string", "description": "Specifies the id of the eventhub where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "eventhubId" ] } } }, "azure:eventgrid/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint": { "properties": { "hybridConnectionId": { "type": "string", "description": "Specifies the id of the hybrid connection where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "hybridConnectionId" ] } } }, "azure:eventgrid/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy": { "properties": { "eventTimeToLive": { "type": "integer", "description": "Specifies the time to live (in minutes) for events. Supported range is `1` to `1440`. Defaults to `1440`. See [official documentation](https://docs.microsoft.com/en-us/azure/event-grid/manage-event-delivery#set-retry-policy) for more details.\n", "language": { "python": { "mapCase": false } } }, "maxDeliveryAttempts": { "type": "integer", "description": "Specifies the maximum number of delivery retry attempts for events.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "storageBlobContainerName": { "type": "string", "description": "Specifies the name of the Storage blob container that is the destination of the deadletter events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountId", "storageBlobContainerName" ] }, "azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint": { "properties": { "queueName": { "type": "string", "description": "Specifies the name of the storage queue where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } }, "storageAccountId": { "type": "string", "description": "Specifies the id of the storage account id where the storage queue is located.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "queueName", "storageAccountId" ] }, "azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter": { "properties": { "caseSensitive": { "type": "boolean", "description": "Specifies if `subject_begins_with` and `subject_ends_with` case sensitive. This value defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "subjectBeginsWith": { "type": "string", "description": "A string to filter events for an event subscription based on a resource path prefix.\n", "language": { "python": { "mapCase": false } } }, "subjectEndsWith": { "type": "string", "description": "A string to filter events for an event subscription based on a resource path suffix.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "baseUrl": { "type": "string", "description": "The base url of the webhook where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } }, "maxEventsPerBatch": { "type": "integer", "description": "Maximum number of events per batch.\n", "language": { "python": { "mapCase": false } } }, "preferredBatchSizeInKilobytes": { "type": "integer", "description": "Preferred batch size in Kilobytes.\n", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "Specifies the url of the webhook where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "url" ], "language": { "nodejs": { "requiredOutputs": [ "baseUrl", "url" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription": { "properties": { "destination": { "$ref": "#/types/azure:eventhub/EventHubCaptureDescriptionDestination:EventHubCaptureDescriptionDestination", "description": "A `destination` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Specifies if the Capture Description is Enabled.\n", "language": { "python": { "mapCase": false } } }, "encoding": { "type": "string", "description": "Specifies the Encoding used for the Capture Description. Possible values are `Avro` and `AvroDeflate`.\n", "language": { "python": { "mapCase": false } } }, "intervalInSeconds": { "type": "integer", "description": "Specifies the time interval in seconds at which the capture will happen. Values can be between `60` and `900` seconds. Defaults to `300` seconds.\n", "language": { "python": { "mapCase": false } } }, "sizeLimitInBytes": { "type": "integer", "description": "Specifies the amount of data built up in your EventHub before a Capture Operation occurs. Value should be between `10485760` and `524288000` bytes. Defaults to `314572800` bytes.\n", "language": { "python": { "mapCase": false } } }, "skipEmptyArchives": { "type": "boolean", "description": "Specifies if empty files should not be emitted if no events occur during the Capture time window. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "blobContainerName": { "type": "string", "description": "The name of the Container within the Blob Storage Account where messages should be archived.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageAccountId": { "type": "string", "description": "The ID of the Blob Storage Account where messages should be archived.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "archiveNameFormat", "blobContainerName", "name", "storageAccountId" ] }, "azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity": { "properties": { "principalId": { "type": "string", "description": "The Client ID of the Service Principal assigned to this EventHub Namespace.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of Identity which should be used for this EventHub Namespace. At this time the only possible value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "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`. Defaults to `Deny`.\n", "language": { "python": { "mapCase": false } } }, "ipRules": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventHubNamespaceNetworkRulesetsIpRule:EventHubNamespaceNetworkRulesetsIpRule" }, "description": "One or more `ip_rule` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "virtualNetworkRules": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventHubNamespaceNetworkRulesetsVirtualNetworkRule:EventHubNamespaceNetworkRulesetsVirtualNetworkRule" }, "description": "One or more `virtual_network_rule` blocks as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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`.\n", "language": { "python": { "mapCase": false } } }, "ipMask": { "type": "string", "description": "The ip mask to match on.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "ipMask" ] }, "azure:eventhub/EventHubNamespaceNetworkRulesetsVirtualNetworkRule:EventHubNamespaceNetworkRulesetsVirtualNetworkRule": { "properties": { "ignoreMissingVirtualNetworkServiceEndpoint": { "type": "boolean", "description": "Are missing virtual network service endpoints ignored? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The id of the subnet to match on.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "subnetId" ] }, "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", "language": { "python": { "mapCase": false } } }, "numberGreaterThanOrEquals": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual:EventSubscriptionAdvancedFilterNumberGreaterThanOrEqual" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberGreaterThans": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberGreaterThan:EventSubscriptionAdvancedFilterNumberGreaterThan" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberIns": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberIn:EventSubscriptionAdvancedFilterNumberIn" }, "description": "Compares a value of an event using multiple floating point numbers.\n", "language": { "python": { "mapCase": false } } }, "numberLessThanOrEquals": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberLessThanOrEqual:EventSubscriptionAdvancedFilterNumberLessThanOrEqual" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberLessThans": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberLessThan:EventSubscriptionAdvancedFilterNumberLessThan" }, "description": "Compares a value of an event using a single floating point number.\n", "language": { "python": { "mapCase": false } } }, "numberNotIns": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterNumberNotIn:EventSubscriptionAdvancedFilterNumberNotIn" }, "description": "Compares a value of an event using multiple floating point numbers.\n", "language": { "python": { "mapCase": false } } }, "stringBeginsWiths": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringBeginsWith:EventSubscriptionAdvancedFilterStringBeginsWith" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringContains": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringContain:EventSubscriptionAdvancedFilterStringContain" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringEndsWiths": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringEndsWith:EventSubscriptionAdvancedFilterStringEndsWith" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringIns": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringIn:EventSubscriptionAdvancedFilterStringIn" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } }, "stringNotIns": { "type": "array", "items": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilterStringNotIn:EventSubscriptionAdvancedFilterStringNotIn" }, "description": "Compares a value of an event using multiple string values.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "boolean", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "key", "value" ] }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "number" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "value": { "type": "number", "description": "Specifies a single value to compare to when using a single value operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "number" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of values to compare to when using a multiple values operator.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "maxEventsPerBatch": { "type": "integer", "description": "Maximum number of events per batch.\n", "language": { "python": { "mapCase": false } } }, "preferredBatchSizeInKilobytes": { "type": "integer", "description": "Preferred batch size in Kilobytes.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "functionId" ] }, "azure:eventhub/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint": { "properties": { "eventhubId": { "type": "string", "description": "Specifies the id of the eventhub where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "eventhubId" ] } } }, "azure:eventhub/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint": { "properties": { "hybridConnectionId": { "type": "string", "description": "Specifies the id of the hybrid connection where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "hybridConnectionId" ] } } }, "azure:eventhub/EventSubscriptionRetryPolicy:EventSubscriptionRetryPolicy": { "properties": { "eventTimeToLive": { "type": "integer", "description": "Specifies the time to live (in minutes) for events. Supported range is `1` to `1440`. Defaults to `1440`. See [official documentation](https://docs.microsoft.com/en-us/azure/event-grid/manage-event-delivery#set-retry-policy) for more details.\n", "language": { "python": { "mapCase": false } } }, "maxDeliveryAttempts": { "type": "integer", "description": "Specifies the maximum number of delivery retry attempts for events.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "storageBlobContainerName": { "type": "string", "description": "Specifies the name of the Storage blob container that is the destination of the deadletter events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountId", "storageBlobContainerName" ] }, "azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint": { "properties": { "queueName": { "type": "string", "description": "Specifies the name of the storage queue where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } }, "storageAccountId": { "type": "string", "description": "Specifies the id of the storage account id where the storage queue is located.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "queueName", "storageAccountId" ] }, "azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter": { "properties": { "caseSensitive": { "type": "boolean", "description": "Specifies if `subject_begins_with` and `subject_ends_with` case sensitive. This value defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "subjectBeginsWith": { "type": "string", "description": "A string to filter events for an event subscription based on a resource path prefix.\n", "language": { "python": { "mapCase": false } } }, "subjectEndsWith": { "type": "string", "description": "A string to filter events for an event subscription based on a resource path suffix.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "baseUrl": { "type": "string", "description": "The base url of the webhook where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } }, "maxEventsPerBatch": { "type": "integer", "description": "Maximum number of events per batch.\n", "language": { "python": { "mapCase": false } } }, "preferredBatchSizeInKilobytes": { "type": "integer", "description": "Preferred batch size in Kilobytes.\n", "language": { "python": { "mapCase": false } } }, "url": { "type": "string", "description": "Specifies the url of the webhook where the Event Subscription will receive events.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "url" ], "language": { "nodejs": { "requiredOutputs": [ "baseUrl", "url" ] } } }, "azure:eventhub/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter": { "properties": { "contentType": { "type": "string", "description": "Content type of the message.\n", "language": { "python": { "mapCase": false } } }, "correlationId": { "type": "string", "description": "Identifier of the correlation.\n", "language": { "python": { "mapCase": false } } }, "label": { "type": "string", "description": "Application specific label.\n", "language": { "python": { "mapCase": false } } }, "messageId": { "type": "string", "description": "Identifier of the message.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "replyTo": { "type": "string", "description": "Address of the queue to reply to.\n", "language": { "python": { "mapCase": false } } }, "replyToSessionId": { "type": "string", "description": "Session identifier to reply to.\n", "language": { "python": { "mapCase": false } } }, "sessionId": { "type": "string", "description": "Session identifier.\n", "language": { "python": { "mapCase": false } } }, "to": { "type": "string", "description": "Address to send to.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration": { "properties": { "azureKeyVaultCertificateSecretName": { "type": "string", "description": "The name of the Key Vault secret representing the full certificate PFX.\n", "language": { "python": { "mapCase": false } } }, "azureKeyVaultCertificateSecretVersion": { "type": "string", "description": "The version of the Key Vault secret representing the full certificate PFX.\n", "language": { "python": { "mapCase": false } } }, "azureKeyVaultCertificateVaultId": { "type": "string", "description": "The ID of the Key Vault containing the SSL certificate.\n", "language": { "python": { "mapCase": false } } }, "certificateSource": { "type": "string", "description": "Certificate source to encrypted `HTTPS` traffic with. Allowed values are `FrontDoor` or `AzureKeyVault`. Defaults to `FrontDoor`.\n", "language": { "python": { "mapCase": false } } }, "minimumTlsVersion": { "type": "string", "description": "Minimum client TLS version supported.\n", "language": { "python": { "mapCase": false } } }, "provisioningState": { "type": "string", "language": { "python": { "mapCase": false } } }, "provisioningSubstate": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is the rule is enabled or disabled? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "matchConditions": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyCustomRuleMatchCondition:FirewallPolicyCustomRuleMatchCondition" }, "description": "One or more `match_condition` block defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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 `1`.\n", "language": { "python": { "mapCase": false } } }, "rateLimitDurationInMinutes": { "type": "integer", "description": "The rate limit duration in minutes. Defaults to `1`.\n", "language": { "python": { "mapCase": false } } }, "rateLimitThreshold": { "type": "integer", "description": "The rate limit threshold. Defaults to `10`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of rule. Possible values are `MatchRule` or `RateLimitRule`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "name", "type" ] }, "azure:frontdoor/FirewallPolicyCustomRuleMatchCondition:FirewallPolicyCustomRuleMatchCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "Up to `100` possible values to match.\n", "language": { "python": { "mapCase": false } } }, "matchVariable": { "type": "string", "description": "The request variable to compare with. Possible values are `Cookies`, `PostArgs`, `QueryString`, `RemoteAddr`, `RequestBody`, `RequestHeader`, `RequestMethod`, `RequestUri`, or `SocketAddr`.\n", "language": { "python": { "mapCase": false } } }, "negationCondition": { "type": "boolean", "description": "Should the result of the condition be negated.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Match against a specific key if the `match_variable` is `QueryString`, `PostArgs`, `RequestHeader` or `Cookies`.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "Up to `5` transforms to apply. Possible values are `Lowercase`, `RemoveNulls`, `Trim`, `Uppercase`, `URLDecode` or`URLEncode`.\n", "language": { "python": { "mapCase": false } } } }, "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 `exclusion` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "overrides": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyManagedRuleOverride:FirewallPolicyManagedRuleOverride" }, "description": "One or more `override` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The name of the managed rule to use with this resource.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The version on the managed rule to use with this resource.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Selector for the value in the `match_variable` attribute this exclusion applies to.\n", "language": { "python": { "mapCase": false } } } }, "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 `exclusion` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "ruleGroupName": { "type": "string", "description": "The managed rule group to override.\n", "language": { "python": { "mapCase": false } } }, "rules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyManagedRuleOverrideRule:FirewallPolicyManagedRuleOverrideRule" }, "description": "One or more `rule` blocks as defined below. If none are specified, all of the rules in the group will be disabled.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Selector for the value in the `match_variable` attribute this exclusion applies to.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is the managed rule override enabled or disabled. Defaults to `false`\n", "language": { "python": { "mapCase": false } } }, "exclusions": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyManagedRuleOverrideRuleExclusion:FirewallPolicyManagedRuleOverrideRuleExclusion" }, "description": "One or more `exclusion` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "ruleId": { "type": "string", "description": "Identifier for the managed rule.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Selector for the value in the `match_variable` attribute this exclusion applies to.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchVariable", "operator", "selector" ] }, "azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool": { "properties": { "backends": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPoolBackend:FrontdoorBackendPoolBackend" }, "description": "A `backend` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "healthProbeName": { "type": "string", "description": "Specifies the name of the `backend_pool_health_probe` block whithin this resource to use for this `Backend Pool`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the FrontDoor.\n", "language": { "python": { "mapCase": false } } }, "loadBalancingName": { "type": "string", "description": "Specifies the name of the `backend_pool_load_balancing` block within this resource to use for this `Backend Pool`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Backend Pool.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Specifies if the backend is enabled or not. Valid options are `true` or `false`. Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "hostHeader": { "type": "string", "description": "The value to use as the host header sent to the backend.\n", "language": { "python": { "mapCase": false } } }, "httpPort": { "type": "integer", "description": "The HTTP TCP port number. Possible values are between `1` - `65535`.\n", "language": { "python": { "mapCase": false } } }, "httpsPort": { "type": "integer", "description": "The HTTPS TCP port number. Possible values are between `1` - `65535`.\n", "language": { "python": { "mapCase": false } } }, "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 `1`.\n", "language": { "python": { "mapCase": false } } }, "weight": { "type": "integer", "description": "Weight of this endpoint for load balancing purposes. Defaults to `50`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "address", "hostHeader", "httpPort", "httpsPort" ] }, "azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe": { "properties": { "enabled": { "type": "boolean", "description": "Is this health probe enabled? Dafaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the FrontDoor.\n", "language": { "python": { "mapCase": false } } }, "intervalInSeconds": { "type": "integer", "description": "The number of seconds between each Health Probe. Defaults to `120`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Health Probe.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The path to use for the Health Probe. Default is `/`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "Protocol scheme to use for the Health Probe. Defaults to `Http`.\n", "language": { "python": { "mapCase": false } } } }, "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 `0`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the FrontDoor.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Load Balancer.\n", "language": { "python": { "mapCase": false } } }, "sampleSize": { "type": "integer", "description": "The number of samples to consider for load balancing decisions. Defaults to `4`.\n", "language": { "python": { "mapCase": false } } }, "successfulSamplesRequired": { "type": "integer", "description": "The number of samples within the sample period that must succeed. Defaults to `2`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "id", "name" ] } } }, "azure:frontdoor/FrontdoorFrontendEndpoint:FrontdoorFrontendEndpoint": { "properties": { "customHttpsConfiguration": { "$ref": "#/types/azure:frontdoor/FrontdoorFrontendEndpointCustomHttpsConfiguration:FrontdoorFrontendEndpointCustomHttpsConfiguration", "description": "A `custom_https_configuration` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `azurerm_frontdoor_custom_https_configuration` resource", "language": { "python": { "mapCase": false } } }, "customHttpsProvisioningEnabled": { "type": "boolean", "description": "Should the HTTPS protocol be enabled for a custom domain associated with the Front Door?\n", "deprecationMessage": "Deprecated in favour of `azurerm_frontdoor_custom_https_configuration` resource", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "Specifies the host name of the `frontend_endpoint`. Must be a domain name.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the FrontDoor.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the `frontend_endpoint`.\n", "language": { "python": { "mapCase": false } } }, "sessionAffinityEnabled": { "type": "boolean", "description": "Whether to allow session affinity on this host. Valid options are `true` or `false` Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "sessionAffinityTtlSeconds": { "type": "integer", "description": "The TTL to use in seconds for session affinity, if applicable. Defaults to `0`.\n", "language": { "python": { "mapCase": false } } }, "webApplicationFirewallPolicyLinkId": { "type": "string", "description": "Defines the Web Application Firewall policy `ID` for each host.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hostName", "name" ], "language": { "nodejs": { "requiredOutputs": [ "customHttpsConfiguration", "customHttpsProvisioningEnabled", "hostName", "id", "name" ] } } }, "azure:frontdoor/FrontdoorFrontendEndpointCustomHttpsConfiguration:FrontdoorFrontendEndpointCustomHttpsConfiguration": { "properties": { "azureKeyVaultCertificateSecretName": { "type": "string", "description": "The name of the Key Vault secret representing the full certificate PFX.\n", "language": { "python": { "mapCase": false } } }, "azureKeyVaultCertificateSecretVersion": { "type": "string", "description": "The version of the Key Vault secret representing the full certificate PFX.\n", "language": { "python": { "mapCase": false } } }, "azureKeyVaultCertificateVaultId": { "type": "string", "description": "The ID of the Key Vault containing the SSL certificate.\n", "language": { "python": { "mapCase": false } } }, "certificateSource": { "type": "string", "description": "Certificate source to encrypted `HTTPS` traffic with. Allowed values are `FrontDoor` or `AzureKeyVault`. Defaults to `FrontDoor`.\n", "language": { "python": { "mapCase": false } } }, "minimumTlsVersion": { "type": "string", "description": "Minimum client TLS version supported.\n", "language": { "python": { "mapCase": false } } }, "provisioningState": { "type": "string", "description": "Provisioning state of the Front Door.\n", "language": { "python": { "mapCase": false } } }, "provisioningSubstate": { "type": "string", "description": "Provisioning substate of the Front Door\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "minimumTlsVersion", "provisioningState", "provisioningSubstate" ] } } }, "azure:frontdoor/FrontdoorRoutingRule:FrontdoorRoutingRule": { "properties": { "acceptedProtocols": { "type": "array", "items": { "type": "string" }, "description": "Protocol schemes to match for the Backend Routing Rule. Defaults to `Http`.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "`Enable` or `Disable` use of this Backend Routing Rule. Permitted values are `true` or `false`. Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "forwardingConfiguration": { "$ref": "#/types/azure:frontdoor/FrontdoorRoutingRuleForwardingConfiguration:FrontdoorRoutingRuleForwardingConfiguration", "description": "A `forwarding_configuration` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "frontendEndpoints": { "type": "array", "items": { "type": "string" }, "description": "The names of the `frontend_endpoint` blocks whithin this resource to associate with this `routing_rule`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the FrontDoor.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Routing Rule.\n", "language": { "python": { "mapCase": false } } }, "patternsToMatches": { "type": "array", "items": { "type": "string" }, "description": "The route patterns for the Backend Routing Rule. Defaults to `/*`.\n", "language": { "python": { "mapCase": false } } }, "redirectConfiguration": { "$ref": "#/types/azure:frontdoor/FrontdoorRoutingRuleRedirectConfiguration:FrontdoorRoutingRuleRedirectConfiguration", "description": "A `redirect_configuration` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "cacheEnabled": { "type": "boolean", "description": "Specifies whether to Enable caching or not. Valid options are `true` or `false`. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "cacheQueryParameterStripDirective": { "type": "string", "description": "Defines cache behavior in releation to query string parameters. Valid options are `StripAll` or `StripNone`. Defaults to `StripAll`.\n", "language": { "python": { "mapCase": false } } }, "cacheUseDynamicCompression": { "type": "boolean", "description": "Whether to use dynamic compression when caching. Valid options are `true` or `false`. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "customForwardingPath": { "type": "string", "description": "Path to use when constructing the request to forward to the backend. This functions as a URL Rewrite. Default behavior preserves the URL path.\n", "language": { "python": { "mapCase": false } } }, "forwardingProtocol": { "type": "string", "description": "Protocol to use when redirecting. Valid options are `HttpOnly`, `HttpsOnly`, or `MatchRequest`. Defaults to `HttpsOnly`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "customHost": { "type": "string", "description": "Set this to change the URL for the redirection.\n", "language": { "python": { "mapCase": false } } }, "customPath": { "type": "string", "description": "The path to retain as per the incoming request, or update in the URL for the redirection.\n", "language": { "python": { "mapCase": false } } }, "customQueryString": { "type": "string", "description": "Replace any existing query string from the incoming request URL.\n", "language": { "python": { "mapCase": false } } }, "redirectProtocol": { "type": "string", "description": "Protocol to use when redirecting. Valid options are `HttpOnly`, `HttpsOnly`, or `MatchRequest`. Defaults to `MatchRequest`\n", "language": { "python": { "mapCase": false } } }, "redirectType": { "type": "string", "description": "Status code for the redirect. Valida options are `Moved`, `Found`, `TemporaryRedirect`, `PermanentRedirect`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "redirectProtocol", "redirectType" ] }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hbase" ] }, "azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/HBaseClusterMetastores:HBaseClusterMetastores": { "properties": { "ambari": { "$ref": "#/types/azure:hdinsight/HBaseClusterMetastoresAmbari:HBaseClusterMetastoresAmbari", "description": "An `ambari` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "hive": { "$ref": "#/types/azure:hdinsight/HBaseClusterMetastoresHive:HBaseClusterMetastoresHive", "description": "A `hive` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "oozie": { "$ref": "#/types/azure:hdinsight/HBaseClusterMetastoresOozie:HBaseClusterMetastoresOozie", "description": "An `oozie` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor": { "properties": { "logAnalyticsWorkspaceId": { "type": "string", "description": "The Operations Management Suite (OMS) workspace ID.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The Operations Management Suite (OMS) workspace key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "primaryKey" ] }, "azure:hdinsight/HBaseClusterRoles:HBaseClusterRoles": { "properties": { "headNode": { "$ref": "#/types/azure:hdinsight/HBaseClusterRolesHeadNode:HBaseClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/HBaseClusterRolesWorkerNode:HBaseClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/HBaseClusterRolesZookeeperNode:HBaseClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/HBaseClusterRolesWorkerNode:HBaseClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageResourceId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "hadoop" ] }, "azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/HadoopClusterMetastores:HadoopClusterMetastores": { "properties": { "ambari": { "$ref": "#/types/azure:hdinsight/HadoopClusterMetastoresAmbari:HadoopClusterMetastoresAmbari", "description": "An `ambari` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "hive": { "$ref": "#/types/azure:hdinsight/HadoopClusterMetastoresHive:HadoopClusterMetastoresHive", "description": "A `hive` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "oozie": { "$ref": "#/types/azure:hdinsight/HadoopClusterMetastoresOozie:HadoopClusterMetastoresOozie", "description": "An `oozie` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor": { "properties": { "logAnalyticsWorkspaceId": { "type": "string", "description": "The Operations Management Suite (OMS) workspace ID.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The Operations Management Suite (OMS) workspace key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "primaryKey" ] }, "azure:hdinsight/HadoopClusterRoles:HadoopClusterRoles": { "properties": { "edgeNode": { "$ref": "#/types/azure:hdinsight/HadoopClusterRolesEdgeNode:HadoopClusterRolesEdgeNode", "description": "A `edge_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "headNode": { "$ref": "#/types/azure:hdinsight/HadoopClusterRolesHeadNode:HadoopClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/HadoopClusterRolesWorkerNode:HadoopClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/HadoopClusterRolesZookeeperNode:HadoopClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "headNode", "workerNode", "zookeeperNode" ] }, "azure:hdinsight/HadoopClusterRolesEdgeNode:HadoopClusterRolesEdgeNode": { "properties": { "installScriptActions": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HadoopClusterRolesEdgeNodeInstallScriptAction:HadoopClusterRolesEdgeNodeInstallScriptAction" }, "description": "A `install_script_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Edge Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "installScriptActions", "targetInstanceCount", "vmSize" ] }, "azure:hdinsight/HadoopClusterRolesEdgeNodeInstallScriptAction:HadoopClusterRolesEdgeNodeInstallScriptAction": { "properties": { "name": { "type": "string", "description": "The name of the install script action. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "uri": { "type": "string", "description": "The URI pointing to the script to run during the installation of the edge node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/HadoopClusterRolesWorkerNode:HadoopClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageResourceId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "filesystemId", "isDefault", "managedIdentityResourceId", "storageResourceId" ] }, "azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion": { "properties": { "interactiveHive": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "interactiveHive" ] }, "azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/InteractiveQueryClusterMetastores:InteractiveQueryClusterMetastores": { "properties": { "ambari": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMetastoresAmbari:InteractiveQueryClusterMetastoresAmbari", "description": "An `ambari` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "hive": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMetastoresHive:InteractiveQueryClusterMetastoresHive", "description": "A `hive` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "oozie": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMetastoresOozie:InteractiveQueryClusterMetastoresOozie", "description": "An `oozie` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor": { "properties": { "logAnalyticsWorkspaceId": { "type": "string", "description": "The Operations Management Suite (OMS) workspace ID.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The Operations Management Suite (OMS) workspace key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "primaryKey" ] }, "azure:hdinsight/InteractiveQueryClusterRoles:InteractiveQueryClusterRoles": { "properties": { "headNode": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterRolesHeadNode:InteractiveQueryClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterRolesWorkerNode:InteractiveQueryClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterRolesZookeeperNode:InteractiveQueryClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/InteractiveQueryClusterRolesWorkerNode:InteractiveQueryClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageResourceId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "kafka" ] }, "azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/KafkaClusterMetastores:KafkaClusterMetastores": { "properties": { "ambari": { "$ref": "#/types/azure:hdinsight/KafkaClusterMetastoresAmbari:KafkaClusterMetastoresAmbari", "description": "An `ambari` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "hive": { "$ref": "#/types/azure:hdinsight/KafkaClusterMetastoresHive:KafkaClusterMetastoresHive", "description": "A `hive` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "oozie": { "$ref": "#/types/azure:hdinsight/KafkaClusterMetastoresOozie:KafkaClusterMetastoresOozie", "description": "An `oozie` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor": { "properties": { "logAnalyticsWorkspaceId": { "type": "string", "description": "The Operations Management Suite (OMS) workspace ID.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The Operations Management Suite (OMS) workspace key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "primaryKey" ] }, "azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles": { "properties": { "headNode": { "$ref": "#/types/azure:hdinsight/KafkaClusterRolesHeadNode:KafkaClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/KafkaClusterRolesWorkerNode:KafkaClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/KafkaClusterRolesZookeeperNode:KafkaClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/KafkaClusterRolesWorkerNode:KafkaClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "numberOfDisksPerNode", "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "numberOfDisksPerNode", "targetInstanceCount", "username", "vmSize" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageResourceId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "filesystemId", "isDefault", "managedIdentityResourceId", "storageResourceId" ] }, "azure:hdinsight/MLServicesClusterGateway:MLServicesClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/MLServicesClusterRoles:MLServicesClusterRoles": { "properties": { "edgeNode": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRolesEdgeNode:MLServicesClusterRolesEdgeNode", "description": "A `edge_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "headNode": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRolesHeadNode:MLServicesClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRolesWorkerNode:MLServicesClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRolesZookeeperNode:MLServicesClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "edgeNode", "headNode", "workerNode", "zookeeperNode" ] }, "azure:hdinsight/MLServicesClusterRolesEdgeNode:MLServicesClusterRolesEdgeNode": { "properties": { "password": { "type": "string", "description": "The Password associated with the local administrator for the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "sshKeys": { "type": "array", "items": { "type": "string" }, "description": "A list of SSH Keys which should be used for the local administrator on the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet within the Virtual Network where the Edge Node should be provisioned within. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "virtualNetworkId": { "type": "string", "description": "The ID of the Virtual Network where the Edge Node should be provisioned within. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/MLServicesClusterRolesHeadNode:MLServicesClusterRolesHeadNode": { "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/MLServicesClusterRolesWorkerNode:MLServicesClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "azure:hdinsight/MLServicesClusterRolesZookeeperNode:MLServicesClusterRolesZookeeperNode": { "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/MLServicesClusterStorageAccount:MLServicesClusterStorageAccount": { "properties": { "isDefault": { "type": "boolean", "description": "Is this the Default Storage Account for the HDInsight ML Services Cluster? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "isDefault", "storageAccountKey", "storageContainerId" ] }, "azure:hdinsight/RServerClusterGateway:RServerClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/RServerClusterRoles:RServerClusterRoles": { "properties": { "edgeNode": { "$ref": "#/types/azure:hdinsight/RServerClusterRolesEdgeNode:RServerClusterRolesEdgeNode", "description": "A `edge_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "headNode": { "$ref": "#/types/azure:hdinsight/RServerClusterRolesHeadNode:RServerClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/RServerClusterRolesWorkerNode:RServerClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/RServerClusterRolesZookeeperNode:RServerClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "edgeNode", "headNode", "workerNode", "zookeeperNode" ] }, "azure:hdinsight/RServerClusterRolesEdgeNode:RServerClusterRolesEdgeNode": { "properties": { "password": { "type": "string", "description": "The Password associated with the local administrator for the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "sshKeys": { "type": "array", "items": { "type": "string" }, "description": "A list of SSH Keys which should be used for the local administrator on the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet within the Virtual Network where the Edge Node should be provisioned within. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "virtualNetworkId": { "type": "string", "description": "The ID of the Virtual Network where the Edge Node should be provisioned within. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Edge Node. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/RServerClusterRolesHeadNode:RServerClusterRolesHeadNode": { "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/RServerClusterRolesWorkerNode:RServerClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "azure:hdinsight/RServerClusterRolesZookeeperNode:RServerClusterRolesZookeeperNode": { "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/RServerClusterStorageAccount:RServerClusterStorageAccount": { "properties": { "isDefault": { "type": "boolean", "description": "Is this the Default Storage Account for the HDInsight RServer Cluster? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "isDefault", "storageAccountKey", "storageContainerId" ] }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "spark" ] }, "azure:hdinsight/SparkClusterGateway:SparkClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/SparkClusterMetastores:SparkClusterMetastores": { "properties": { "ambari": { "$ref": "#/types/azure:hdinsight/SparkClusterMetastoresAmbari:SparkClusterMetastoresAmbari", "description": "An `ambari` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "hive": { "$ref": "#/types/azure:hdinsight/SparkClusterMetastoresHive:SparkClusterMetastoresHive", "description": "A `hive` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "oozie": { "$ref": "#/types/azure:hdinsight/SparkClusterMetastoresOozie:SparkClusterMetastoresOozie", "description": "An `oozie` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor": { "properties": { "logAnalyticsWorkspaceId": { "type": "string", "description": "The Operations Management Suite (OMS) workspace ID.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The Operations Management Suite (OMS) workspace key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "primaryKey" ] }, "azure:hdinsight/SparkClusterRoles:SparkClusterRoles": { "properties": { "headNode": { "$ref": "#/types/azure:hdinsight/SparkClusterRolesHeadNode:SparkClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/SparkClusterRolesWorkerNode:SparkClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/SparkClusterRolesZookeeperNode:SparkClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/SparkClusterRolesWorkerNode:SparkClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageResourceId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "filesystemId", "isDefault", "managedIdentityResourceId", "storageResourceId" ] }, "azure:hdinsight/StormClusterComponentVersion:StormClusterComponentVersion": { "properties": { "storm": { "type": "string", "description": "The version of Storm which should be used for this HDInsight Storm Cluster. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storm" ] }, "azure:hdinsight/StormClusterGateway:StormClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari portal enabled? The HDInsight API doesn't support disabling gateway anymore.\n", "deprecationMessage": "HDInsight doesn't support disabling gateway anymore", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "password", "username" ] }, "azure:hdinsight/StormClusterMetastores:StormClusterMetastores": { "properties": { "ambari": { "$ref": "#/types/azure:hdinsight/StormClusterMetastoresAmbari:StormClusterMetastoresAmbari", "description": "An `ambari` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "hive": { "$ref": "#/types/azure:hdinsight/StormClusterMetastoresHive:StormClusterMetastoresHive", "description": "A `hive` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "oozie": { "$ref": "#/types/azure:hdinsight/StormClusterMetastoresOozie:StormClusterMetastoresOozie", "description": "An `oozie` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:hdinsight/StormClusterMetastoresAmbari:StormClusterMetastoresAmbari": { "properties": { "databaseName": { "type": "string", "description": "The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Ambari metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/StormClusterMetastoresHive:StormClusterMetastoresHive": { "properties": { "databaseName": { "type": "string", "description": "The external Hive metastore's existing SQL database. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Hive metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Hive metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/StormClusterMetastoresOozie:StormClusterMetastoresOozie": { "properties": { "databaseName": { "type": "string", "description": "The external Oozie metastore's existing SQL database. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin password. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The external Oozie metastore's existing SQL server admin username. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "databaseName", "password", "server", "username" ] }, "azure:hdinsight/StormClusterMonitor:StormClusterMonitor": { "properties": { "logAnalyticsWorkspaceId": { "type": "string", "description": "The Operations Management Suite (OMS) workspace ID.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The Operations Management Suite (OMS) workspace key.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "primaryKey" ] }, "azure:hdinsight/StormClusterRoles:StormClusterRoles": { "properties": { "headNode": { "$ref": "#/types/azure:hdinsight/StormClusterRolesHeadNode:StormClusterRolesHeadNode", "description": "A `head_node` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "workerNode": { "$ref": "#/types/azure:hdinsight/StormClusterRolesWorkerNode:StormClusterRolesWorkerNode", "description": "A `worker_node` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "zookeeperNode": { "$ref": "#/types/azure:hdinsight/StormClusterRolesZookeeperNode:StormClusterRolesZookeeperNode", "description": "A `zookeeper_node` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "headNode", "workerNode", "zookeeperNode" ] }, "azure:hdinsight/StormClusterRolesHeadNode:StormClusterRolesHeadNode": { "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Head Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/StormClusterRolesWorkerNode:StormClusterRolesWorkerNode": { "properties": { "minInstanceCount": { "type": "integer", "description": "The minimum number of instances which should be run for the Worker Nodes. Changing this forces a new resource to be created.\n", "deprecationMessage": "this has been deprecated from the API and will be removed in version 3.0 of the provider", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "targetInstanceCount": { "type": "integer", "description": "The number of instances which should be run for the Worker Nodes.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Worker Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "targetInstanceCount", "username", "vmSize" ], "language": { "nodejs": { "requiredOutputs": [ "minInstanceCount", "targetInstanceCount", "username", "vmSize" ] } } }, "azure:hdinsight/StormClusterRolesZookeeperNode:StormClusterRolesZookeeperNode": { "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of the local administrator for the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "vmSize": { "type": "string", "description": "The Size of the Virtual Machine which should be used as the Zookeeper Nodes. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "username", "vmSize" ] }, "azure:hdinsight/StormClusterStorageAccount:StormClusterStorageAccount": { "properties": { "isDefault": { "type": "boolean", "description": "Is this the Default Storage Account for the HDInsight Storm Cluster? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "storageContainerId": { "type": "string", "description": "The ID of the Storage Container. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "isDefault", "storageAccountKey", "storageContainerId" ] }, "azure:hdinsight/getClusterGateway:getClusterGateway": { "properties": { "enabled": { "type": "boolean", "description": "Is the Ambari Portal enabled?\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The username used for the Ambari Portal.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "password", "username" ], "language": { "nodejs": { "requiredInputs": [] } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "smartProxyEnabled": { "type": "boolean", "description": "Enables the 'SMART on FHIR' option for mobile and web implementations.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration": { "properties": { "allowCredentials": { "type": "boolean", "description": "If credentials are allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "allowedHeaders": { "type": "array", "items": { "type": "string" }, "description": "A set of headers to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "allowedMethods": { "type": "array", "items": { "type": "string" }, "description": "The methods to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "allowedOrigins": { "type": "array", "items": { "type": "string" }, "description": "A set of origins to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "maxAgeInSeconds": { "type": "integer", "description": "The max age to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:healthcare/getServiceAuthenticationConfiguration:getServiceAuthenticationConfiguration": { "properties": { "audience": { "type": "string", "description": "The intended audience to receive authentication tokens for the service.\n", "language": { "python": { "mapCase": false } } }, "authority": { "type": "string", "description": "The Azure Active Directory (tenant) that serves as the authentication authority to access the service.\n", "language": { "python": { "mapCase": false } } }, "smartProxyEnabled": { "type": "boolean", "description": "Is the 'SMART on FHIR' option for mobile and web implementations enbled?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "allowedHeaders": { "type": "array", "items": { "type": "string" }, "description": "The set of headers to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "allowedMethods": { "type": "array", "items": { "type": "string" }, "description": "The methods to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "allowedOrigins": { "type": "array", "items": { "type": "string" }, "description": "The set of origins to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } }, "maxAgeInSeconds": { "type": "integer", "description": "The max age to be allowed via CORS.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "allowCredentials", "allowedHeaders", "allowedMethods", "allowedOrigins", "maxAgeInSeconds" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:hpc/CacheNfsTargetNamespaceJunction:CacheNfsTargetNamespaceJunction": { "properties": { "namespacePath": { "type": "string", "description": "The client-facing file path of this NFS target within the HPC Cache NFS Target.\n", "language": { "python": { "mapCase": false } } }, "nfsExport": { "type": "string", "description": "The NFS export of this NFS target within the HPC Cache NFS Target.\n", "language": { "python": { "mapCase": false } } }, "targetPath": { "type": "string", "description": "The relative subdirectory path from the `nfs_export` to map to the `namespace_path`. Defaults to `\"\"`, in which case the whole `nfs_export` is exported.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "namespacePath", "nfsExport" ] }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the subnet. Changing this forces a new Dedicated Hardware Security Module to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "networkInterfacePrivateIpAddresses", "subnetId" ] }, "azure:index/ProviderFeatures:ProviderFeatures": { "properties": { "keyVault": { "$ref": "#/types/azure:index/ProviderFeaturesKeyVault:ProviderFeaturesKeyVault", "language": { "python": { "mapCase": false } } }, "network": { "$ref": "#/types/azure:index/ProviderFeaturesNetwork:ProviderFeaturesNetwork", "language": { "python": { "mapCase": false } } }, "templateDeployment": { "$ref": "#/types/azure:index/ProviderFeaturesTemplateDeployment:ProviderFeaturesTemplateDeployment", "language": { "python": { "mapCase": false } } }, "virtualMachine": { "$ref": "#/types/azure:index/ProviderFeaturesVirtualMachine:ProviderFeaturesVirtualMachine", "language": { "python": { "mapCase": false } } }, "virtualMachineScaleSet": { "$ref": "#/types/azure:index/ProviderFeaturesVirtualMachineScaleSet:ProviderFeaturesVirtualMachineScaleSet", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:index/ProviderFeaturesKeyVault:ProviderFeaturesKeyVault": { "properties": { "purgeSoftDeleteOnDestroy": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "recoverSoftDeletedKeyVaults": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:index/ProviderFeaturesNetwork:ProviderFeaturesNetwork": { "properties": { "relaxedLocking": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "relaxedLocking" ], "language": { "nodejs": { "requiredOutputs": [] } } }, "azure:index/ProviderFeaturesTemplateDeployment:ProviderFeaturesTemplateDeployment": { "properties": { "deleteNestedItemsDuringDeletion": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "deleteNestedItemsDuringDeletion" ], "language": { "nodejs": { "requiredOutputs": [] } } }, "azure:index/ProviderFeaturesVirtualMachine:ProviderFeaturesVirtualMachine": { "properties": { "deleteOsDiskOnDeletion": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "deleteOsDiskOnDeletion" ], "language": { "nodejs": { "requiredOutputs": [] } } }, "azure:index/ProviderFeaturesVirtualMachineScaleSet:ProviderFeaturesVirtualMachineScaleSet": { "properties": { "rollInstancesWhenRequired": { "type": "boolean", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "rollInstancesWhenRequired" ], "language": { "nodejs": { "requiredOutputs": [] } } }, "azure:iot/IoTHubEndpoint:IoTHubEndpoint": { "properties": { "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 mandatory for endpoint type `AzureIotHub.StorageContainer`.\n", "language": { "python": { "mapCase": false } } }, "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n", "language": { "python": { "mapCase": false } } }, "containerName": { "type": "string", "description": "The name of storage container in the storage account. This attribute is mandatory for endpoint type `AzureIotHub.StorageContainer`.\n", "language": { "python": { "mapCase": false } } }, "encoding": { "type": "string", "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro' and 'avrodeflate'. Default value is 'avro'. This attribute is mandatory for endpoint type `AzureIotHub.StorageContainer`.\n", "language": { "python": { "mapCase": false } } }, "fileNameFormat": { "type": "string", "description": "File name format for the blob. Default format is ``{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}``. All parameters are mandatory but can be reordered. This attribute is mandatory for endpoint type `AzureIotHub.StorageContainer`.\n", "language": { "python": { "mapCase": false } } }, "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 mandatory for endpoint type `AzureIotHub.StorageContainer`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of the endpoint. Possible values are `AzureIotHub.StorageContainer`, `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "connectionString", "name", "type" ] }, "azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute": { "properties": { "condition": { "type": "string", "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Used to specify whether the fallback route is enabled.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "source": { "type": "string", "description": "The source that the routing rule is to be applied to, such as `DeviceMessages`. Possible values include: `RoutingSourceInvalid`, `RoutingSourceDeviceMessages`, `RoutingSourceTwinChangeEvents`, `RoutingSourceDeviceLifecycleEvents`, `RoutingSourceDeviceJobLifecycleEvents`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "enabled", "endpointNames" ] } } }, "azure:iot/IoTHubFileUpload:IoTHubFileUpload": { "properties": { "connectionString": { "type": "string", "description": "The connection string for the Azure Storage account to which files are uploaded.\n", "language": { "python": { "mapCase": false } } }, "containerName": { "type": "string", "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connection_string specified.\n", "language": { "python": { "mapCase": false } } }, "defaultTtl": { "type": "string", "description": "The period of time for which a file upload notification message is available to consume before it is expired by the IoT hub, 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, and evaluates to 'PT1H' by default.\n", "language": { "python": { "mapCase": false } } }, "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, and evaluates to 'PT1M' by default.\n", "language": { "python": { "mapCase": false } } }, "maxDeliveryCount": { "type": "integer", "description": "The number of times the IoT hub attempts to deliver a file upload notification message. It evaluates to 10 by default.\n", "language": { "python": { "mapCase": false } } }, "notifications": { "type": "boolean", "description": "Used to specify whether file notifications are sent to IoT Hub on upload. It evaluates to false by default.\n", "language": { "python": { "mapCase": false } } }, "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, and evaluates to 'PT1H' by default.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "connectionString", "containerName" ], "language": { "nodejs": { "requiredOutputs": [ "connectionString", "containerName", "defaultTtl", "lockDuration", "sasTtl" ] } } }, "azure:iot/IoTHubIpFilterRule:IoTHubIpFilterRule": { "properties": { "action": { "type": "string", "description": "The desired action for requests captured by this rule. Possible values are `Accept`, `Reject`\n", "language": { "python": { "mapCase": false } } }, "ipMask": { "type": "string", "description": "The IP address range in CIDR notation for the rule.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the filter.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "ipMask", "name" ] }, "azure:iot/IoTHubRoute:IoTHubRoute": { "properties": { "condition": { "type": "string", "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Used to specify whether a route is enabled.\n", "language": { "python": { "mapCase": false } } }, "endpointNames": { "type": "array", "items": { "type": "string" }, "description": "The list of endpoints to which messages that satisfy the condition are routed.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the route.\n", "language": { "python": { "mapCase": false } } }, "source": { "type": "string", "description": "The source that the routing rule is to be applied to, such as `DeviceMessages`. Possible values include: `RoutingSourceInvalid`, `RoutingSourceDeviceMessages`, `RoutingSourceTwinChangeEvents`, `RoutingSourceDeviceLifecycleEvents`, `RoutingSourceDeviceJobLifecycleEvents`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "endpointNames", "name", "source" ] }, "azure:iot/IoTHubSharedAccessPolicy:IoTHubSharedAccessPolicy": { "properties": { "keyName": { "type": "string", "description": "The name of the shared access policy.\n", "language": { "python": { "mapCase": false } } }, "permissions": { "type": "string", "description": "The permissions assigned to the shared access policy.\n", "language": { "python": { "mapCase": false } } }, "primaryKey": { "type": "string", "description": "The primary key.\n", "language": { "python": { "mapCase": false } } }, "secondaryKey": { "type": "string", "description": "The secondary key.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the sku. Possible values are `B1`, `B2`, `B3`, `F1`, `S1`, `S2`, and `S3`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "capacity", "name" ] }, "azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub": { "properties": { "allocationWeight": { "type": "integer", "description": "The weight applied to the IoT Hub. Defaults to 0.\n", "language": { "python": { "mapCase": false } } }, "applyAllocationPolicy": { "type": "boolean", "description": "Determines whether to apply allocation policies to the IoT Hub. Defaults to false.\n", "language": { "python": { "mapCase": false } } }, "connectionString": { "type": "string", "description": "The connection string to connect to the IoT Hub. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "hostname": { "type": "string", "description": "The IoT Hub hostname.\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "The location of the IoT hub. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the sku. Currently can only be set to `S1`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "capacity", "name" ] }, "azure:iot/TimeSeriesInsightsReferenceDataSetKeyProperty:TimeSeriesInsightsReferenceDataSetKeyProperty": { "properties": { "name": { "type": "string", "description": "The name of the key property.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The data type of the key property. Valid values include `Bool`, `DateTime`, `Double`, `String`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "type" ] }, "azure:keyvault/CertifiateCertificate:CertifiateCertificate": { "properties": { "contents": { "type": "string", "description": "The base64-encoded certificate contents. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password associated with the certificate. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contents" ] }, "azure:keyvault/CertifiateCertificateAttribute:CertifiateCertificateAttribute": { "properties": { "created": { "type": "string", "description": "The create time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "whether the Key Vault Certificate is enabled.\n", "language": { "python": { "mapCase": false } } }, "expires": { "type": "string", "description": "The expires time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "notBefore": { "type": "string", "description": "The not before valid time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "recoveryLevel": { "type": "string", "description": "The deletion recovery level of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "updated": { "type": "string", "description": "The recent update time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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 `issuer_parameters` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "keyProperties": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicyKeyProperties:CertifiateCertificatePolicyKeyProperties", "description": "A `key_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "lifetimeActions": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicyLifetimeAction:CertifiateCertificatePolicyLifetimeAction" }, "description": "A `lifetime_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "secretProperties": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicySecretProperties:CertifiateCertificatePolicySecretProperties", "description": "A `secret_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "x509CertificateProperties": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicyX509CertificateProperties:CertifiateCertificatePolicyX509CertificateProperties", "description": "A `x509_certificate_properties` block as defined below. Required when `certificate` block is not specified.\n", "language": { "python": { "mapCase": false } } } }, "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). Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:keyvault/CertifiateCertificatePolicyKeyProperties:CertifiateCertificatePolicyKeyProperties": { "properties": { "exportable": { "type": "boolean", "description": "Is this Certificate Exportable? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "keySize": { "type": "integer", "description": "The size of the Key used in the Certificate. Possible values include `2048` and `4096`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "keyType": { "type": "string", "description": "Specifies the Type of Key, such as `RSA`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "reuseKey": { "type": "boolean", "description": "Is the key reusable? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "exportable", "keySize", "keyType", "reuseKey" ] }, "azure:keyvault/CertifiateCertificatePolicyLifetimeAction:CertifiateCertificatePolicyLifetimeAction": { "properties": { "action": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicyLifetimeActionAction:CertifiateCertificatePolicyLifetimeActionAction", "description": "A `action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "trigger": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicyLifetimeActionTrigger:CertifiateCertificatePolicyLifetimeActionTrigger", "description": "A `trigger` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created. Conflicts with `lifetime_percentage`.\n", "language": { "python": { "mapCase": false } } }, "lifetimePercentage": { "type": "integer", "description": "The percentage at which during the Certificates Lifetime the action associated with this Trigger should run. Changing this forces a new resource to be created. Conflicts with `days_before_expiry`.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contentType" ] }, "azure:keyvault/CertifiateCertificatePolicyX509CertificateProperties:CertifiateCertificatePolicyX509CertificateProperties": { "properties": { "extendedKeyUsages": { "type": "array", "items": { "type": "string" }, "description": "A list of Extended/Enhanced Key Usages. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "subject": { "type": "string", "description": "The Certificate's Subject. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "subjectAlternativeNames": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames:CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames", "description": "A `subject_alternative_names` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "validityInMonths": { "type": "integer", "description": "The Certificates Validity Period in Months. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "emails": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses identified by this Certificate. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "upns": { "type": "array", "items": { "type": "string" }, "description": "A list of User Principal Names identified by the Certificate. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:keyvault/CertificateCertificate:CertificateCertificate": { "properties": { "contents": { "type": "string", "description": "The base64-encoded certificate contents. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password associated with the certificate. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contents" ] }, "azure:keyvault/CertificateCertificateAttribute:CertificateCertificateAttribute": { "properties": { "created": { "type": "string", "description": "The create time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "whether the Key Vault Certificate is enabled.\n", "language": { "python": { "mapCase": false } } }, "expires": { "type": "string", "description": "The expires time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "notBefore": { "type": "string", "description": "The not before valid time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "recoveryLevel": { "type": "string", "description": "The deletion recovery level of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } }, "updated": { "type": "string", "description": "The recent update time of the Key Vault Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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 `issuer_parameters` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "keyProperties": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicyKeyProperties:CertificateCertificatePolicyKeyProperties", "description": "A `key_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "lifetimeActions": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicyLifetimeAction:CertificateCertificatePolicyLifetimeAction" }, "description": "A `lifetime_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "secretProperties": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicySecretProperties:CertificateCertificatePolicySecretProperties", "description": "A `secret_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "x509CertificateProperties": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicyX509CertificateProperties:CertificateCertificatePolicyX509CertificateProperties", "description": "A `x509_certificate_properties` block as defined below. Required when `certificate` block is not specified.\n", "language": { "python": { "mapCase": false } } } }, "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). Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:keyvault/CertificateCertificatePolicyKeyProperties:CertificateCertificatePolicyKeyProperties": { "properties": { "exportable": { "type": "boolean", "description": "Is this Certificate Exportable? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "keySize": { "type": "integer", "description": "The size of the Key used in the Certificate. Possible values include `2048` and `4096`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "keyType": { "type": "string", "description": "Specifies the Type of Key, such as `RSA`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "reuseKey": { "type": "boolean", "description": "Is the key reusable? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "exportable", "keySize", "keyType", "reuseKey" ] }, "azure:keyvault/CertificateCertificatePolicyLifetimeAction:CertificateCertificatePolicyLifetimeAction": { "properties": { "action": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicyLifetimeActionAction:CertificateCertificatePolicyLifetimeActionAction", "description": "A `action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "trigger": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicyLifetimeActionTrigger:CertificateCertificatePolicyLifetimeActionTrigger", "description": "A `trigger` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created. Conflicts with `lifetime_percentage`.\n", "language": { "python": { "mapCase": false } } }, "lifetimePercentage": { "type": "integer", "description": "The percentage at which during the Certificates Lifetime the action associated with this Trigger should run. Changing this forces a new resource to be created. Conflicts with `days_before_expiry`.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "contentType" ] }, "azure:keyvault/CertificateCertificatePolicyX509CertificateProperties:CertificateCertificatePolicyX509CertificateProperties": { "properties": { "extendedKeyUsages": { "type": "array", "items": { "type": "string" }, "description": "A list of Extended/Enhanced Key Usages. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "subject": { "type": "string", "description": "The Certificate's Subject. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "subjectAlternativeNames": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames:CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames", "description": "A `subject_alternative_names` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "validityInMonths": { "type": "integer", "description": "The Certificates Validity Period in Months. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "emails": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses identified by this Certificate. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "upns": { "type": "array", "items": { "type": "string" }, "description": "A list of User Principal Names identified by the Certificate. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:keyvault/CertificateIssuerAdmin:CertificateIssuerAdmin": { "properties": { "emailAddress": { "type": "string", "description": "E-mail address of the admin.\n", "language": { "python": { "mapCase": false } } }, "firstName": { "type": "string", "description": "First name of the admin.\n", "language": { "python": { "mapCase": false } } }, "lastName": { "type": "string", "description": "Last name of the admin.\n", "language": { "python": { "mapCase": false } } }, "phone": { "type": "string", "description": "Phone number of the admin.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "emailAddress" ] }, "azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy": { "properties": { "applicationId": { "type": "string", "description": "The object ID of an Application in Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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` and `wrapKey`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Must match the `tenant_id` used above.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "objectId", "tenantId" ] }, "azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls": { "properties": { "bypass": { "type": "string", "description": "Specifies which traffic can bypass the network rules. Possible values are `AzureServices` and `None`.\n", "language": { "python": { "mapCase": false } } }, "defaultAction": { "type": "string", "description": "The Default Action to use when no rules match from `ip_rules` / `virtual_network_subnet_ids`. Possible values are `Allow` and `Deny`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "One or more Subnet ID's which should be able to access this Key Vault.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "bypass", "defaultAction" ] }, "azure:keyvault/getCertificateCertificatePolicy:getCertificateCertificatePolicy": { "properties": { "issuerParameters": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyIssuerParameter:getCertificateCertificatePolicyIssuerParameter" }, "description": "A `issuer_parameters` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "keyProperties": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyKeyProperty:getCertificateCertificatePolicyKeyProperty" }, "description": "A `key_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "lifetimeActions": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyLifetimeAction:getCertificateCertificatePolicyLifetimeAction" }, "description": "A `lifetime_action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "secretProperties": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicySecretProperty:getCertificateCertificatePolicySecretProperty" }, "description": "A `secret_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "x509CertificateProperties": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyX509CertificateProperty:getCertificateCertificatePolicyX509CertificateProperty" }, "description": "An `x509_certificate_properties` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "issuerParameters", "keyProperties", "secretProperties", "x509CertificateProperties" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:keyvault/getCertificateCertificatePolicyIssuerParameter:getCertificateCertificatePolicyIssuerParameter": { "properties": { "name": { "type": "string", "description": "Specifies the name of the Key Vault Secret.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:keyvault/getCertificateCertificatePolicyKeyProperty:getCertificateCertificatePolicyKeyProperty": { "properties": { "exportable": { "type": "boolean", "description": "Is this Certificate Exportable?\n", "language": { "python": { "mapCase": false } } }, "keySize": { "type": "integer", "description": "The size of the Key used in the Certificate.\n", "language": { "python": { "mapCase": false } } }, "keyType": { "type": "string", "description": "Specifies the Type of Key, for example `RSA`.\n", "language": { "python": { "mapCase": false } } }, "reuseKey": { "type": "boolean", "description": "Is the key reusable?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "exportable", "keySize", "keyType", "reuseKey" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:keyvault/getCertificateCertificatePolicyLifetimeAction:getCertificateCertificatePolicyLifetimeAction": { "properties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyLifetimeActionAction:getCertificateCertificatePolicyLifetimeActionAction" }, "description": "A `action` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "triggers": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyLifetimeActionTrigger:getCertificateCertificatePolicyLifetimeActionTrigger" }, "description": "A `trigger` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "lifetimePercentage": { "type": "integer", "description": "The percentage at which during the Certificates Lifetime the action associated with this Trigger should run.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "keyUsages": { "type": "array", "items": { "type": "string" }, "description": "A list of uses associated with this Key.\n", "language": { "python": { "mapCase": false } } }, "subject": { "type": "string", "description": "The Certificate's Subject.\n", "language": { "python": { "mapCase": false } } }, "subjectAlternativeNames": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicyX509CertificatePropertySubjectAlternativeName:getCertificateCertificatePolicyX509CertificatePropertySubjectAlternativeName" }, "description": "A `subject_alternative_names` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "validityInMonths": { "type": "integer", "description": "The Certificates Validity Period in Months.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "emails": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses identified by this Certificate.\n", "language": { "python": { "mapCase": false } } }, "upns": { "type": "array", "items": { "type": "string" }, "description": "A list of User Principal Names identified by the Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "firstName": { "type": "string", "description": "First name of the admin.\n", "language": { "python": { "mapCase": false } } }, "lastName": { "type": "string", "description": "Last name of the admin.\n", "language": { "python": { "mapCase": false } } }, "phone": { "type": "string", "description": "Phone number of the admin.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "emailAddress", "firstName", "lastName", "phone" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:keyvault/getKeyVaultAccessPolicy:getKeyVaultAccessPolicy": { "properties": { "applicationId": { "type": "string", "description": "The Object ID of a Azure Active Directory Application.\n", "language": { "python": { "mapCase": false } } }, "certificatePermissions": { "type": "array", "items": { "type": "string" }, "description": "A list of certificate permissions applicable to this Access Policy.\n", "language": { "python": { "mapCase": false } } }, "keyPermissions": { "type": "array", "items": { "type": "string" }, "description": "A list of key permissions applicable to this Access Policy.\n", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "An Object ID of a User, Service Principal or Security Group.\n", "language": { "python": { "mapCase": false } } }, "secretPermissions": { "type": "array", "items": { "type": "string" }, "description": "A list of secret permissions applicable to this Access Policy.\n", "language": { "python": { "mapCase": false } } }, "storagePermissions": { "type": "array", "items": { "type": "string" }, "description": "A list of storage permissions applicable to this Access Policy.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Azure Active Directory Tenant ID used to authenticate requests for this Key Vault.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "applicationId", "certificatePermissions", "keyPermissions", "objectId", "secretPermissions", "storagePermissions", "tenantId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:keyvault/getKeyVaultNetworkAcl:getKeyVaultNetworkAcl": { "properties": { "bypass": { "type": "string", "language": { "python": { "mapCase": false } } }, "defaultAction": { "type": "string", "language": { "python": { "mapCase": false } } }, "ipRules": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "bypass", "defaultAction", "ipRules", "virtualNetworkSubnetIds" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:kusto/ClusterIdentity:ClusterIdentity": { "properties": { "identityIds": { "type": "array", "items": { "type": "string" }, "description": "The list of user identities associated with the Kusto cluster.\n", "language": { "python": { "mapCase": false } } }, "principalId": { "type": "string", "description": "Specifies the Principal ID of the System Assigned Managed Service Identity that is configured on this Kusto Cluster.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "Specifies the Tenant ID of the System Assigned Managed Service Identity that is configured on this Kusto Cluster.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the type of Managed Service Identity that is configured on this Kusto Cluster. Possible values are: `SystemAssigned` (where Azure will generate a Service Principal for you).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "identityIds", "principalId", "tenantId", "type" ] } } }, "azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale": { "properties": { "maximumInstances": { "type": "integer", "description": "The maximum number of allowed instances. Must between `0` and `1000`.\n", "language": { "python": { "mapCase": false } } }, "minimumInstances": { "type": "integer", "description": "The minimum number of allowed instances. Must between `0` and `1000`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the SKU. Valid values are: `Dev(No SLA)_Standard_D11_v2`, `Dev(No SLA)_Standard_E2a_v4`, `Standard_D11_v2`, `Standard_D12_v2`, `Standard_D13_v2`, `Standard_D14_v2`, `Standard_DS13_v2+1TB_PS`, `Standard_DS13_v2+2TB_PS`, `Standard_DS14_v2+3TB_PS`, `Standard_DS14_v2+4TB_PS`, `Standard_E16as_v4+3TB_PS`, `Standard_E16as_v4+4TB_PS`, `Standard_E16a_v4`, `Standard_E2a_v4`, `Standard_E4a_v4`, `Standard_E8as_v4+1TB_PS`, `Standard_E8as_v4+2TB_PS`, `Standard_E8a_v4`, `Standard_L16s`, `Standard_L4s` and `Standard_L8s`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "capacity", "name" ] } } }, "azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration": { "properties": { "dataManagementPublicIpId": { "type": "string", "description": "Data management's service public IP address resource id.\n", "language": { "python": { "mapCase": false } } }, "enginePublicIpId": { "type": "string", "description": "Engine service's public IP address resource id.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The subnet resource id.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dataManagementPublicIpId", "enginePublicIpId", "subnetId" ] }, "azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration": { "properties": { "id": { "type": "string", "description": "The id of the Frontend IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "inboundNatRules": { "type": "array", "items": { "type": "string" }, "description": "The list of IDs of inbound rules that use this frontend IP.\n", "language": { "python": { "mapCase": false } } }, "loadBalancerRules": { "type": "array", "items": { "type": "string" }, "description": "The list of IDs of load balancing rules that use this frontend IP.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the frontend ip configuration.\n", "language": { "python": { "mapCase": false } } }, "outboundRules": { "type": "array", "items": { "type": "string" }, "description": "The list of IDs outbound rules that use this frontend IP.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "The allocation method for the Private IP Address used by this Load Balancer. Possible values as `Dynamic` and `Static`.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressVersion": { "type": "string", "description": "The version of IP that the Private IP Address is. Possible values are `IPv4` or `IPv6`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of a Public IP Address which should be associated with the Load Balancer.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet which should be associated with the IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "zones": { "type": "string", "description": "A list of Availability Zones which the Load Balancer's IP Addresses should be created in.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "id", "inboundNatRules", "loadBalancerRules", "name", "outboundRules", "privateIpAddress", "privateIpAddressAllocation", "publicIpAddressId", "publicIpPrefixId", "subnetId" ] } } }, "azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration": { "properties": { "id": { "type": "string", "description": "The ID of the Load Balancer Outbound Rule.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Frontend IP Configuration.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "id", "name" ] } } }, "azure:lb/getBackendAddressPoolBackendIpConfiguration:getBackendAddressPoolBackendIpConfiguration": { "properties": { "id": { "type": "string", "description": "The ID of the Backend Address Pool.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:lb/getLBFrontendIpConfiguration:getLBFrontendIpConfiguration": { "properties": { "id": { "type": "string", "description": "The id of the Frontend IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Load Balancer.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "Private IP Address to assign to the Load Balancer.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "The allocation method for the Private IP Address used by this Load Balancer.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressVersion": { "type": "string", "description": "The Private IP Address Version, either `IPv4` or `IPv6`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of a Public IP Address which is associated with this Load Balancer.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet which is associated with the IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones which the Load Balancer's IP Addresses should be created in.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id", "name", "privateIpAddress", "privateIpAddressAllocation", "privateIpAddressVersion", "publicIpAddressId", "subnetId", "zones" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization": { "properties": { "principalId": { "type": "string", "description": "Principal ID of the security group/service principal/user that would be assigned permissions to the projected subscription.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "principalId", "roleDefinitionId" ] }, "azure:logicapps/ActionHttpRunAfter:ActionHttpRunAfter": { "properties": { "actionName": { "type": "string", "description": "Specifies the name of the precedent HTTP Action.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actionName", "actionResult" ] }, "azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity": { "properties": { "principalId": { "type": "string", "description": "The (Client) ID of the Service Principal.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of Identity which should be used for this Disk Encryption Set. At this time the only possible value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:managedapplication/ApplicationPlan:ApplicationPlan": { "properties": { "name": { "type": "string", "description": "Specifies the name of the plan from the marketplace.\n", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "description": "Specifies the product of the plan from the marketplace.\n", "language": { "python": { "mapCase": false } } }, "promotionCode": { "type": "string", "description": "Specifies the promotion code to use with the plan.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "Specifies the publisher of the plan.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "Specifies the version of the plan from the marketplace.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "roleDefinitionId", "servicePrincipalId" ] }, "azure:mariadb/ServerStorageProfile:ServerStorageProfile": { "properties": { "autoGrow": { "type": "string", "deprecationMessage": "this has been moved to the top level boolean attribute `auto_grow_enabled` and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` days.\n", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "geoRedundantBackup": { "type": "string", "deprecationMessage": "this has been moved to the top level boolean attribute `geo_redundant_backup_enabled` and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB (5GB) and `1024000`MB (1TB) for the Basic SKU and between `5120` MB (5GB) and `4096000` MB (4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#storageprofile).\n", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "autoGrow", "backupRetentionDays", "geoRedundantBackup" ] } } }, "azure:mariadb/getMariaDbServerStorageProfile:getMariaDbServerStorageProfile": { "properties": { "autoGrow": { "type": "string", "description": "Whether autogrow is enabled or disabled for the storage.\n", "language": { "python": { "mapCase": false } } }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server.\n", "language": { "python": { "mapCase": false } } }, "geoRedundantBackup": { "type": "string", "description": "Whether Geo-redundant is enabled or not for server backup.\n", "language": { "python": { "mapCase": false } } }, "storageMb": { "type": "integer", "description": "The max storage allowed for a server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "autoGrow", "backupRetentionDays", "geoRedundantBackup", "storageMb" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:mediaservices/AccountStorageAccount:AccountStorageAccount": { "properties": { "id": { "type": "string", "description": "Specifies the ID of the Storage Account that will be associated with the Media Services instance.\n", "language": { "python": { "mapCase": false } } }, "isPrimary": { "type": "boolean", "description": "Specifies whether the storage account should be the primary account or not. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id" ] }, "azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver": { "properties": { "name": { "type": "string", "description": "The name of the ARM role receiver.\n", "language": { "python": { "mapCase": false } } }, "roleId": { "type": "string", "description": "The arm role id.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Enables or disables the common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "isGlobalRunbook": { "type": "boolean", "description": "Indicates whether this instance is global runbook.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the automation runbook receiver.\n", "language": { "python": { "mapCase": false } } }, "runbookName": { "type": "string", "description": "The name for this runbook.\n", "language": { "python": { "mapCase": false } } }, "serviceUri": { "type": "string", "description": "The URI where webhooks should be sent.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Enables or disables the common alert schema.\n", "language": { "python": { "mapCase": false } } }, "webhookResourceId": { "type": "string", "description": "The resource id for webhook linked to this runbook.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Azure app push receiver.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "emailAddress", "name" ] }, "azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver": { "properties": { "functionAppResourceId": { "type": "string", "description": "The Azure resource ID of the function app.\n", "language": { "python": { "mapCase": false } } }, "functionName": { "type": "string", "description": "The function name in the function app.\n", "language": { "python": { "mapCase": false } } }, "httpTriggerUrl": { "type": "string", "description": "The http trigger url where http request sent to.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Azure Function receiver.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Enables or disables the common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "functionAppResourceId", "functionName", "httpTriggerUrl", "name" ] }, "azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver": { "properties": { "emailAddress": { "type": "string", "description": "The email address of this receiver.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the email receiver. Names must be unique (case-insensitive) across all receivers within an action group.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Enables or disables the common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "emailAddress", "name" ] }, "azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver": { "properties": { "connectionId": { "type": "string", "description": "The unique connection identifier of the ITSM connection.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the ITSM receiver.\n", "language": { "python": { "mapCase": false } } }, "region": { "type": "string", "description": "The region of the workspace.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "workspaceId": { "type": "string", "description": "The Azure Log Analytics workspace ID where this connection is defined.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the logic app receiver.\n", "language": { "python": { "mapCase": false } } }, "resourceId": { "type": "string", "description": "The Azure resource ID of the logic app.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Enables or disables the common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "callbackUrl", "name", "resourceId" ] }, "azure:monitoring/ActionGroupSmsReceiver:ActionGroupSmsReceiver": { "properties": { "countryCode": { "type": "string", "description": "The country code of the SMS receiver.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the SMS receiver. Names must be unique (case-insensitive) across all receivers within an action group.\n", "language": { "python": { "mapCase": false } } }, "phoneNumber": { "type": "string", "description": "The phone number of the SMS receiver.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "countryCode", "name", "phoneNumber" ] }, "azure:monitoring/ActionGroupVoiceReceiver:ActionGroupVoiceReceiver": { "properties": { "countryCode": { "type": "string", "description": "The country code of the voice receiver.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the voice receiver.\n", "language": { "python": { "mapCase": false } } }, "phoneNumber": { "type": "string", "description": "The phone number of the voice receiver.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "countryCode", "name", "phoneNumber" ] }, "azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver": { "properties": { "name": { "type": "string", "description": "The name of the webhook receiver. Names must be unique (case-insensitive) across all receivers within an action group.\n", "language": { "python": { "mapCase": false } } }, "serviceUri": { "type": "string", "description": "The URI where webhooks should be sent.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Enables or disables the common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "serviceUri" ] }, "azure:monitoring/ActionRuleActionGroupCondition:ActionRuleActionGroupCondition": { "properties": { "alertContext": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionAlertContext:ActionRuleActionGroupConditionAlertContext", "description": "A `alert_context` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "alertRuleId": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionAlertRuleId:ActionRuleActionGroupConditionAlertRuleId", "description": "A `alert_rule_id` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "description": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionDescription:ActionRuleActionGroupConditionDescription", "description": "A `description` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "monitor": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionMonitor:ActionRuleActionGroupConditionMonitor", "description": "A `monitor` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "monitorService": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionMonitorService:ActionRuleActionGroupConditionMonitorService", "description": "A `monitor_service` as block defined below.\n", "language": { "python": { "mapCase": false } } }, "severity": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionSeverity:ActionRuleActionGroupConditionSeverity", "description": "A `severity` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "targetResourceType": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupConditionTargetResourceType:ActionRuleActionGroupConditionTargetResourceType", "description": "A `target_resource_type` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:monitoring/ActionRuleActionGroupConditionAlertContext:ActionRuleActionGroupConditionAlertContext": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupConditionAlertRuleId:ActionRuleActionGroupConditionAlertRuleId": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupConditionDescription:ActionRuleActionGroupConditionDescription": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupConditionMonitor:ActionRuleActionGroupConditionMonitor": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition. Possible values are `Fired` and `Resolved`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupConditionMonitorService:ActionRuleActionGroupConditionMonitorService": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "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`, `Data Box Edge`, `Data Box Gateway`, `Health Platform`, `Log Analytics`, `Platform`, and `Resource Health`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupConditionSeverity:ActionRuleActionGroupConditionSeverity": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3`, and `Sev4`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupConditionTargetResourceType:ActionRuleActionGroupConditionTargetResourceType": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition. The values should be valid resource types.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleActionGroupScope:ActionRuleActionGroupScope": { "properties": { "resourceIds": { "type": "array", "items": { "type": "string" }, "description": "A list of resource IDs of the given scope type which will be the target of action rule.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the type of target scope. Possible values are `ResourceGroup` and `Resource`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "resourceIds", "type" ] }, "azure:monitoring/ActionRuleSuppressionCondition:ActionRuleSuppressionCondition": { "properties": { "alertContext": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionAlertContext:ActionRuleSuppressionConditionAlertContext", "description": "A `alert_context` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "alertRuleId": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionAlertRuleId:ActionRuleSuppressionConditionAlertRuleId", "description": "A `alert_rule_id` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "description": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionDescription:ActionRuleSuppressionConditionDescription", "description": "A `description` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "monitor": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionMonitor:ActionRuleSuppressionConditionMonitor", "description": "A `monitor` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "monitorService": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionMonitorService:ActionRuleSuppressionConditionMonitorService", "description": "A `monitor_service` as block defined below.\n", "language": { "python": { "mapCase": false } } }, "severity": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionSeverity:ActionRuleSuppressionConditionSeverity", "description": "A `severity` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "targetResourceType": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionConditionTargetResourceType:ActionRuleSuppressionConditionTargetResourceType", "description": "A `target_resource_type` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:monitoring/ActionRuleSuppressionConditionAlertContext:ActionRuleSuppressionConditionAlertContext": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionConditionAlertRuleId:ActionRuleSuppressionConditionAlertRuleId": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionConditionDescription:ActionRuleSuppressionConditionDescription": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`, `NotEquals`, `Contains`, and `DoesNotContain`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionConditionMonitor:ActionRuleSuppressionConditionMonitor": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition. Possible values are `Fired` and `Resolved`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionConditionMonitorService:ActionRuleSuppressionConditionMonitorService": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "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`, `Data Box Edge`, `Data Box Gateway`, `Health Platform`, `Log Analytics`, `Platform`, and `Resource Health`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionConditionSeverity:ActionRuleSuppressionConditionSeverity": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals`and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition. Possible values are `Sev0`, `Sev1`, `Sev2`, `Sev3`, and `Sev4`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionConditionTargetResourceType:ActionRuleSuppressionConditionTargetResourceType": { "properties": { "operator": { "type": "string", "description": "The operator for a given condition. Possible values are `Equals` and `NotEquals`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "A list of values to match for a given condition. The values should be valid resource types.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "values" ] }, "azure:monitoring/ActionRuleSuppressionScope:ActionRuleSuppressionScope": { "properties": { "resourceIds": { "type": "array", "items": { "type": "string" }, "description": "A list of resource IDs of the given scope type which will be the target of action rule.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the type of target scope. Possible values are `ResourceGroup` and `Resource`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "resourceIds", "type" ] }, "azure:monitoring/ActionRuleSuppressionSuppression:ActionRuleSuppressionSuppression": { "properties": { "recurrenceType": { "type": "string", "description": "Specifies the type of suppression. Possible values are `Always`, `Daily`, `Monthly`, `Once`, and `Weekly`.\n", "language": { "python": { "mapCase": false } } }, "schedule": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionSuppressionSchedule:ActionRuleSuppressionSuppressionSchedule", "description": "A `schedule` block as defined below. Required if `recurrence_type` is `Daily`, `Monthly`, `Once` or `Weekly`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "recurrenceType" ] }, "azure:monitoring/ActionRuleSuppressionSuppressionSchedule:ActionRuleSuppressionSuppressionSchedule": { "properties": { "endDateUtc": { "type": "string", "description": "specifies the recurrence UTC end datetime (Y-m-d'T'H:M:S'Z').\n", "language": { "python": { "mapCase": false } } }, "recurrenceMonthlies": { "type": "array", "items": { "type": "integer" }, "description": "specifies the list of dayOfMonth to recurrence. Possible values are between `1` - `31`. Required if `recurrence_type` is `Monthly`.\n", "language": { "python": { "mapCase": false } } }, "recurrenceWeeklies": { "type": "array", "items": { "type": "string" }, "description": "specifies the list of dayOfWeek to recurrence. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` and `Saturday`.\n", "language": { "python": { "mapCase": false } } }, "startDateUtc": { "type": "string", "description": "specifies the recurrence UTC start datetime (Y-m-d'T'H:M:S'Z').\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "endDateUtc", "startDateUtc" ] }, "azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction": { "properties": { "actionGroupId": { "type": "string", "description": "The ID of the Action Group can be sourced from the `azure.monitoring.ActionGroup` resource.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "category": { "type": "string", "description": "The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.\n", "language": { "python": { "mapCase": false } } }, "level": { "type": "string", "description": "The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "recommendationCategory": { "type": "string", "description": "The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence` and `Performance`. It is only allowed when `category` is `Recommendation`.\n", "language": { "python": { "mapCase": false } } }, "recommendationImpact": { "type": "string", "description": "The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.\n", "language": { "python": { "mapCase": false } } }, "recommendationType": { "type": "string", "description": "The recommendation type of the event. It is only allowed when `category` is `Recommendation`.\n", "language": { "python": { "mapCase": false } } }, "resourceGroup": { "type": "string", "description": "The name of resource group monitored by the activity log alert.\n", "language": { "python": { "mapCase": false } } }, "resourceId": { "type": "string", "description": "The specific resource monitored by the activity log alert. It should be within one of the `scopes`.\n", "language": { "python": { "mapCase": false } } }, "resourceProvider": { "type": "string", "description": "The name of the resource provider monitored by the activity log alert.\n", "language": { "python": { "mapCase": false } } }, "resourceType": { "type": "string", "description": "The resource type monitored by the activity log alert.\n", "language": { "python": { "mapCase": false } } }, "status": { "type": "string", "description": "The status of the event. For example, `Started`, `Failed`, or `Succeeded`.\n", "language": { "python": { "mapCase": false } } }, "subStatus": { "type": "string", "description": "The sub status of the event.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "category" ] }, "azure:monitoring/AutoscaleSettingNotification:AutoscaleSettingNotification": { "properties": { "email": { "$ref": "#/types/azure:monitoring/AutoscaleSettingNotificationEmail:AutoscaleSettingNotificationEmail", "description": "A `email` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "webhooks": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/AutoscaleSettingNotificationWebhook:AutoscaleSettingNotificationWebhook" }, "description": "One or more `webhook` blocks as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "sendToSubscriptionAdministrator": { "type": "boolean", "description": "Should email notifications be sent to the subscription administrator? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "sendToSubscriptionCoAdministrator": { "type": "boolean", "description": "Should email notifications be sent to the subscription co-administrator? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:monitoring/AutoscaleSettingNotificationWebhook:AutoscaleSettingNotificationWebhook": { "properties": { "properties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of settings.\n", "language": { "python": { "mapCase": false } } }, "serviceUri": { "type": "string", "description": "The HTTPS URI which should receive scale notifications.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "serviceUri" ] }, "azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile": { "properties": { "capacity": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfileCapacity:AutoscaleSettingProfileCapacity", "description": "A `capacity` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "fixedDate": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfileFixedDate:AutoscaleSettingProfileFixedDate", "description": "A `fixed_date` block as defined below. This cannot be specified if a `recurrence` block is specified.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the profile.\n", "language": { "python": { "mapCase": false } } }, "recurrence": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfileRecurrence:AutoscaleSettingProfileRecurrence", "description": "A `recurrence` block as defined below. This cannot be specified if a `fixed_date` block is specified.\n", "language": { "python": { "mapCase": false } } }, "rules": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfileRule:AutoscaleSettingProfileRule" }, "description": "One or more (up to 10) `rule` blocks as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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 `0` and `1000`.\n", "language": { "python": { "mapCase": false } } }, "maximum": { "type": "integer", "description": "The maximum number of instances for this resource. Valid values are between `0` and `1000`.\n", "language": { "python": { "mapCase": false } } }, "minimum": { "type": "integer", "description": "The minimum number of instances for this resource. Valid values are between `0` and `1000`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "start": { "type": "string", "description": "Specifies the start date for the profile, formatted as an RFC3339 date string.\n", "language": { "python": { "mapCase": false } } }, "timezone": { "type": "string", "description": "The Time Zone of the `start` and `end` times. A list of [possible values can be found here](https://msdn.microsoft.com/en-us/library/azure/dn931928.aspx). Defaults to `UTC`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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 `0` to `23`.\n", "language": { "python": { "mapCase": false } } }, "minutes": { "type": "integer", "description": "A list containing a single item which specifies the Minute interval at which this recurrence should be triggered.\n", "language": { "python": { "mapCase": false } } }, "timezone": { "type": "string", "description": "The Time Zone used for the `hours` field. A list of [possible values can be found here](https://msdn.microsoft.com/en-us/library/azure/dn931928.aspx). Defaults to `UTC`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "days", "hours", "minutes" ] }, "azure:monitoring/AutoscaleSettingProfileRule:AutoscaleSettingProfileRule": { "properties": { "metricTrigger": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfileRuleMetricTrigger:AutoscaleSettingProfileRuleMetricTrigger", "description": "A `metric_trigger` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "scaleAction": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfileRuleScaleAction:AutoscaleSettingProfileRuleScaleAction", "description": "A `scale_action` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "metricTrigger", "scaleAction" ] }, "azure:monitoring/AutoscaleSettingProfileRuleMetricTrigger:AutoscaleSettingProfileRuleMetricTrigger": { "properties": { "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", "language": { "python": { "mapCase": false } } }, "metricResourceId": { "type": "string", "description": "The ID of the Resource which the Rule monitors.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "statistic": { "type": "string", "description": "Specifies how the metrics from multiple instances are combined. Possible values are `Average`, `Min` and `Max`.\n", "language": { "python": { "mapCase": false } } }, "threshold": { "type": "number", "description": "Specifies the threshold of the metric that triggers the scale action.\n", "language": { "python": { "mapCase": false } } }, "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`. Defaults to `Average`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "metricName", "metricResourceId", "operator", "statistic", "threshold", "timeAggregation", "timeGrain", "timeWindow" ] }, "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", "language": { "python": { "mapCase": false } } }, "direction": { "type": "string", "description": "The scale direction. Possible values are `Increase` and `Decrease`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of action that should occur. Possible values are `ChangeCount`, `ExactCount` and `PercentChangeCount`.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "integer", "description": "The number of instances involved in the scaling action. Defaults to `1`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "cooldown", "direction", "type", "value" ] }, "azure:monitoring/DiagnosticSettingLog:DiagnosticSettingLog": { "properties": { "category": { "type": "string", "description": "The name of a Diagnostic Log Category for this Resource.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is this Diagnostic Log enabled? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "retentionPolicy": { "$ref": "#/types/azure:monitoring/DiagnosticSettingLogRetentionPolicy:DiagnosticSettingLogRetentionPolicy", "description": "A `retention_policy` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "category" ] }, "azure:monitoring/DiagnosticSettingLogRetentionPolicy:DiagnosticSettingLogRetentionPolicy": { "properties": { "days": { "type": "integer", "description": "The number of days for which this Retention Policy should apply.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is this Retention Policy enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric": { "properties": { "category": { "type": "string", "description": "The name of a Diagnostic Metric Category for this Resource.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is this Diagnostic Metric enabled? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "retentionPolicy": { "$ref": "#/types/azure:monitoring/DiagnosticSettingMetricRetentionPolicy:DiagnosticSettingMetricRetentionPolicy", "description": "A `retention_policy` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "category" ] }, "azure:monitoring/DiagnosticSettingMetricRetentionPolicy:DiagnosticSettingMetricRetentionPolicy": { "properties": { "days": { "type": "integer", "description": "The number of days for which this Retention Policy should apply.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is this Retention Policy enabled?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:monitoring/LogProfileRetentionPolicy:LogProfileRetentionPolicy": { "properties": { "days": { "type": "integer", "description": "The number of days for the retention policy. Defaults to 0.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "A boolean value to indicate whether the retention policy is enabled.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled" ] }, "azure:monitoring/MetricAlertAction:MetricAlertAction": { "properties": { "actionGroupId": { "type": "string", "description": "The ID of the Action Group can be sourced from the `azure.monitoring.ActionGroup` resource\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actionGroupId" ] }, "azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria": { "properties": { "componentId": { "type": "string", "description": "The ID of the Application Insights Resource.\n", "language": { "python": { "mapCase": false } } }, "failedLocationCount": { "type": "integer", "description": "The number of failed locations.\n", "language": { "python": { "mapCase": false } } }, "webTestId": { "type": "string", "description": "The ID of the Application Insights Web Test.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "dimensions": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/MetricAlertCriteriaDimension:MetricAlertCriteriaDimension" }, "description": "One or more `dimension` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "metricName": { "type": "string", "description": "One of the metric names to be monitored.\n", "language": { "python": { "mapCase": false } } }, "metricNamespace": { "type": "string", "description": "One of the metric namespaces to be monitored.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "The criteria operator. Possible values are `Equals`, `NotEquals`, `GreaterThan`, `GreaterThanOrEqual`, `LessThan` and `LessThanOrEqual`.\n", "language": { "python": { "mapCase": false } } }, "threshold": { "type": "number", "description": "The criteria threshold value that activates the alert.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "aggregation", "metricName", "metricNamespace", "operator", "threshold" ] }, "azure:monitoring/MetricAlertCriteriaDimension:MetricAlertCriteriaDimension": { "properties": { "name": { "type": "string", "description": "One of the dimension names.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "The dimension operator. Possible values are `Include` and `Exclude`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "The list of dimension values.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "alertSensitivity": { "type": "string", "description": "The extent of deviation required to trigger an alert. Possible values are `Low`, `Medium` and `High`.\n", "language": { "python": { "mapCase": false } } }, "dimensions": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/MetricAlertDynamicCriteriaDimension:MetricAlertDynamicCriteriaDimension" }, "description": "One or more `dimension` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "evaluationFailureCount": { "type": "integer", "description": "The number of violations to trigger an alert. Should be smaller or equal to `evaluation_total_count`.\n", "language": { "python": { "mapCase": false } } }, "evaluationTotalCount": { "type": "integer", "description": "The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (`window_size`) and the selected number of aggregated points.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "metricName": { "type": "string", "description": "One of the metric names to be monitored.\n", "language": { "python": { "mapCase": false } } }, "metricNamespace": { "type": "string", "description": "One of the metric namespaces to be monitored.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "The criteria operator. Possible values are `LessThan`, `GreaterThan` and `GreaterOrLessThan`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "aggregation", "alertSensitivity", "metricName", "metricNamespace", "operator" ] }, "azure:monitoring/MetricAlertDynamicCriteriaDimension:MetricAlertDynamicCriteriaDimension": { "properties": { "name": { "type": "string", "description": "One of the dimension names.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "The dimension operator. Possible values are `Include` and `Exclude`.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "The list of dimension values.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "customWebhookPayload": { "type": "string", "description": "Custom payload to be sent for all webhook payloads in alerting action.\n", "language": { "python": { "mapCase": false } } }, "emailSubject": { "type": "string", "description": "Custom subject override for all email ids in Azure action group.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actionGroups" ], "language": { "nodejs": { "requiredOutputs": [ "actionGroups", "customWebhookPayload" ] } } }, "azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger": { "properties": { "metricTrigger": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesAlertTriggerMetricTrigger:ScheduledQueryRulesAlertTriggerMetricTrigger", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Evaluation operation for rule - 'Equal', 'GreaterThan' or 'LessThan'.\n", "language": { "python": { "mapCase": false } } }, "threshold": { "type": "number", "description": "Result or count threshold based on which rule should be triggered. Values must be between 0 and 10000 inclusive.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "operator", "threshold" ] }, "azure:monitoring/ScheduledQueryRulesAlertTriggerMetricTrigger:ScheduledQueryRulesAlertTriggerMetricTrigger": { "properties": { "metricColumn": { "type": "string", "language": { "python": { "mapCase": false } } }, "metricTriggerType": { "type": "string", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Evaluation operation for rule - 'Equal', 'GreaterThan' or 'LessThan'.\n", "language": { "python": { "mapCase": false } } }, "threshold": { "type": "number", "description": "The threshold of the metric trigger. Values must be between 0 and 10000 inclusive.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "metricColumn", "metricTriggerType", "operator", "threshold" ] }, "azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria": { "properties": { "dimensions": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesLogCriteriaDimension:ScheduledQueryRulesLogCriteriaDimension" }, "description": "A `dimension` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "metricName": { "type": "string", "description": "Name of the metric. Supported metrics are listed in the Azure Monitor [Microsoft.OperationalInsights/workspaces](https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftoperationalinsightsworkspaces) metrics namespace.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dimensions", "metricName" ] }, "azure:monitoring/ScheduledQueryRulesLogCriteriaDimension:ScheduledQueryRulesLogCriteriaDimension": { "properties": { "name": { "type": "string", "description": "Name of the dimension.\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Operator for dimension values, - 'Include'.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "List of dimension values.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "values" ] }, "azure:monitoring/getActionGroupArmRoleReceiver:getActionGroupArmRoleReceiver": { "properties": { "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "roleId": { "type": "string", "description": "The arm role id.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Indicates whether to use common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "isGlobalRunbook": { "type": "boolean", "description": "Indicates whether this instance is global runbook.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "runbookName": { "type": "string", "description": "The name for this runbook.\n", "language": { "python": { "mapCase": false } } }, "serviceUri": { "type": "string", "description": "The URI where webhooks should be sent.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Indicates whether to use common alert schema.\n", "language": { "python": { "mapCase": false } } }, "webhookResourceId": { "type": "string", "description": "The resource id for webhook linked to this runbook.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "emailAddress", "name" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getActionGroupAzureFunctionReceiver:getActionGroupAzureFunctionReceiver": { "properties": { "functionAppResourceId": { "type": "string", "language": { "python": { "mapCase": false } } }, "functionName": { "type": "string", "description": "The function name in the function app.\n", "language": { "python": { "mapCase": false } } }, "httpTriggerUrl": { "type": "string", "description": "The http trigger url where http request sent to.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Indicates whether to use common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Indicates whether to use common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "emailAddress", "name", "useCommonAlertSchema" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getActionGroupItsmReceiver:getActionGroupItsmReceiver": { "properties": { "connectionId": { "type": "string", "description": "The unique connection identifier of the ITSM connection.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "region": { "type": "string", "description": "The region of the workspace.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "workspaceId": { "type": "string", "description": "The Azure Log Analytics workspace ID where this connection is defined.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "resourceId": { "type": "string", "description": "The Azure resource ID of the logic app.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Indicates whether to use common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "phoneNumber": { "type": "string", "description": "The phone number of the voice receiver.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "phoneNumber": { "type": "string", "description": "The phone number of the voice receiver.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "countryCode", "name", "phoneNumber" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getActionGroupWebhookReceiver:getActionGroupWebhookReceiver": { "properties": { "name": { "type": "string", "description": "Specifies the name of the Action Group.\n", "language": { "python": { "mapCase": false } } }, "serviceUri": { "type": "string", "description": "The URI where webhooks should be sent.\n", "language": { "python": { "mapCase": false } } }, "useCommonAlertSchema": { "type": "boolean", "description": "Indicates whether to use common alert schema.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "serviceUri" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getLogProfileRetentionPolicy:getLogProfileRetentionPolicy": { "properties": { "days": { "type": "integer", "description": "The number of days for the retention policy.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "A boolean value indicating whether the retention policy is enabled.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "days", "enabled" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getScheduledQueryRulesAlertAction:getScheduledQueryRulesAlertAction": { "properties": { "actionGroups": { "type": "array", "items": { "type": "string" }, "description": "List of action group reference resource IDs.\n", "language": { "python": { "mapCase": false } } }, "customWebhookPayload": { "type": "string", "description": "Custom payload to be sent for all webhook URI in Azure action group.\n", "language": { "python": { "mapCase": false } } }, "emailSubject": { "type": "string", "description": "Custom subject override for all email IDs in Azure action group.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actionGroups", "customWebhookPayload", "emailSubject" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getScheduledQueryRulesAlertTrigger:getScheduledQueryRulesAlertTrigger": { "properties": { "metricTriggers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getScheduledQueryRulesAlertTriggerMetricTrigger:getScheduledQueryRulesAlertTriggerMetricTrigger" }, "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Evaluation operation for rule.\n", "language": { "python": { "mapCase": false } } }, "threshold": { "type": "number", "description": "Result or count threshold based on which rule should be triggered.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "metricTriggers", "operator", "threshold" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:monitoring/getScheduledQueryRulesAlertTriggerMetricTrigger:getScheduledQueryRulesAlertTriggerMetricTrigger": { "properties": { "metricColumn": { "type": "string", "language": { "python": { "mapCase": false } } }, "metricTriggerType": { "type": "string", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Evaluation operation for rule.\n", "language": { "python": { "mapCase": false } } }, "threshold": { "type": "number", "description": "Result or count threshold based on which rule should be triggered.\n", "language": { "python": { "mapCase": false } } } }, "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 `dimension` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "metricName": { "type": "string", "description": "Name of the metric.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Operator for dimension values.\n", "language": { "python": { "mapCase": false } } }, "values": { "type": "array", "items": { "type": "string" }, "description": "List of dimension values.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "operator", "values" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:mssql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy": { "properties": { "retentionInDays": { "type": "integer", "description": "Specifies the number of days to retain logs for in the storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the access key to use for the auditing storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Specifies whether `storage_account_access_key` value is the storage's secondary key.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountAccessKey", "storageEndpoint" ] }, "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", "language": { "python": { "mapCase": false } } }, "emailAccountAdmins": { "type": "string", "description": "Should the account administrators be emailed when this alert is triggered?\n", "language": { "python": { "mapCase": false } } }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses which alerts should be sent to.\n", "language": { "python": { "mapCase": false } } }, "retentionDays": { "type": "integer", "description": "Specifies the number of days to keep in the Threat Detection audit logs.\n", "language": { "python": { "mapCase": false } } }, "state": { "type": "string", "description": "The State of the Policy. Possible values are `Enabled`, `Disabled` or `New`.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.\n", "language": { "python": { "mapCase": false } } }, "useServerDefault": { "type": "string", "description": "Should the default server policy be used? Defaults to `Disabled`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult": { "properties": { "results": { "type": "array", "items": { "type": "string" }, "description": "A list representing a result of the baseline.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "results" ] }, "azure:mssql/ElasticPoolPerDatabaseSettings:ElasticPoolPerDatabaseSettings": { "properties": { "maxCapacity": { "type": "number", "description": "The maximum capacity any one database can consume.\n", "language": { "python": { "mapCase": false } } }, "minCapacity": { "type": "number", "description": "The minimum capacity all databases are guaranteed.\n", "language": { "python": { "mapCase": false } } } }, "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/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).\n", "language": { "python": { "mapCase": false } } }, "family": { "type": "string", "description": "The `family` of hardware `Gen4` or `Gen5`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either `vCore` based `tier` + `family` pattern (e.g. GP_Gen4, BC_Gen5) or the `DTU` based `BasicPool`, `StandardPool`, or `PremiumPool` pattern.\n", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, or `Premium`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "capacity", "name", "tier" ] }, "azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator": { "properties": { "loginUsername": { "type": "string", "description": "(Required) The login username of the Azure AD Administrator of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "(Required) The object id of the Azure AD Administrator of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "(Optional) The tenant id of the Azure AD Administrator of this SQL Server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "loginUsername", "objectId" ], "language": { "nodejs": { "requiredOutputs": [ "loginUsername", "objectId", "tenantId" ] } } }, "azure:mssql/ServerExtendedAuditingPolicy:ServerExtendedAuditingPolicy": { "properties": { "retentionInDays": { "type": "integer", "description": "(Optional) Specifies the number of days to retain logs for in the storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "(Required) Specifies the access key to use for the auditing storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "(Optional) Specifies whether `storage_account_access_key` value is the storage's secondary key.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "(Required) Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountAccessKey", "storageEndpoint" ] }, "azure:mssql/ServerIdentity:ServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Identity of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "(Optional) The tenant id of the Azure AD Administrator of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the identity type of the Microsoft SQL Server. At this time the only allowed value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "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 `false`.\n", "language": { "python": { "mapCase": false } } }, "emails": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of e-mail addresses to which the scan notification is sent.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching": { "properties": { "dayOfWeek": { "type": "string", "description": "The day of week to apply the patch on.\n", "language": { "python": { "mapCase": false } } }, "maintenanceWindowDurationInMinutes": { "type": "integer", "description": "The size of the Maintenance Window in minutes.\n", "language": { "python": { "mapCase": false } } }, "maintenanceWindowStartingHour": { "type": "integer", "description": "The Hour, in the Virtual Machine Time-Zone when the patching maintenance window should begin.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dayOfWeek", "maintenanceWindowDurationInMinutes", "maintenanceWindowStartingHour" ] }, "azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential": { "properties": { "keyVaultUrl": { "type": "string", "description": "The azure Key Vault url. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The credential name.\n", "language": { "python": { "mapCase": false } } }, "servicePrincipalName": { "type": "string", "description": "The service principal name to access key vault. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "servicePrincipalSecret": { "type": "string", "description": "The service principal name secret to access key vault. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "keyVaultUrl", "name", "servicePrincipalName", "servicePrincipalSecret" ] }, "azure:mssql/getServerIdentity:getServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Identity of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Identity of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Microsoft SQL Server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "principalId", "tenantId", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:mysql/ServerIdentity:ServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The Client ID of the Service Principal assigned to this MySQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of Identity which should be used for this MySQL Server. At this time the only possible value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:mysql/ServerStorageProfile:ServerStorageProfile": { "properties": { "autoGrow": { "type": "string", "deprecationMessage": "this has been moved to the top level boolean attribute `auto_grow_enabled` and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` days.\n", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "geoRedundantBackup": { "type": "string", "deprecationMessage": "this has been moved to the top level boolean attribute `geo_redundant_backup_enabled` and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#StorageProfile).\n", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "autoGrow", "backupRetentionDays", "geoRedundantBackup" ] } } }, "azure:mysql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy": { "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", "language": { "python": { "mapCase": false } } }, "emailAccountAdmins": { "type": "boolean", "description": "Should the account administrators be emailed when this alert is triggered?\n", "language": { "python": { "mapCase": false } } }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses which alerts should be sent to.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is the policy enabled?\n", "language": { "python": { "mapCase": false } } }, "retentionDays": { "type": "integer", "description": "Specifies the number of days to keep in the Threat Detection audit logs.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:netapp/AccountActiveDirectory:AccountActiveDirectory": { "properties": { "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "A list of DNS server IP addresses for the Active Directory domain. Only allows `IPv4` address.\n", "language": { "python": { "mapCase": false } } }, "domain": { "type": "string", "description": "The name of the Active Directory domain.\n", "language": { "python": { "mapCase": false } } }, "organizationalUnit": { "type": "string", "description": "The Organizational Unit (OU) within the Active Directory Domain.\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "The password associated with the `username`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "username": { "type": "string", "description": "The Username of Active Directory Domain Administrator.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dnsServers", "domain", "password", "smbServerName", "username" ] }, "azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule": { "properties": { "allowedClients": { "type": "array", "items": { "type": "string" }, "description": "A list of allowed clients IPv4 addresses.\n", "language": { "python": { "mapCase": false } } }, "cifsEnabled": { "type": "boolean", "description": "Is the CIFS protocol allowed?\n", "deprecationMessage": "Deprecated in favour of `protocols_enabled`", "language": { "python": { "mapCase": false } } }, "nfsv3Enabled": { "type": "boolean", "description": "Is the NFSv3 protocol allowed?\n", "deprecationMessage": "Deprecated in favour of `protocols_enabled`", "language": { "python": { "mapCase": false } } }, "nfsv4Enabled": { "type": "boolean", "description": "Is the NFSv4 protocol allowed?\n", "deprecationMessage": "Deprecated in favour of `protocols_enabled`", "language": { "python": { "mapCase": false } } }, "protocolsEnabled": { "type": "string", "description": "A list of allowed protocols. Valid values include `CIFS`, `NFSv3`, or `NFSv4.1`. Only one value is supported at this time. This replaces the previous arguments: `cifs_enabled`, `nfsv3_enabled` and `nfsv4_enabled`.\n", "language": { "python": { "mapCase": false } } }, "ruleIndex": { "type": "integer", "description": "The index number of the rule.\n", "language": { "python": { "mapCase": false } } }, "unixReadOnly": { "type": "boolean", "description": "Is the file system on unix read only?\n", "language": { "python": { "mapCase": false } } }, "unixReadWrite": { "type": "boolean", "description": "Is the file system on unix read and write?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "allowedClients", "ruleIndex" ], "language": { "nodejs": { "requiredOutputs": [ "allowedClients", "cifsEnabled", "nfsv3Enabled", "nfsv4Enabled", "protocolsEnabled", "ruleIndex" ] } } }, "azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate": { "properties": { "data": { "type": "string", "description": "The contents of the Authentication Certificate which should be used.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Authentication Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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 `2` to `125`.\n", "language": { "python": { "mapCase": false } } }, "minCapacity": { "type": "integer", "description": "Minimum capacity for autoscaling. Accepted values are in the range `0` to `100`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "ipAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of IP Addresses which should be part of the Backend Address Pool.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Backend Address Pool.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "authenticationCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendHttpSettingAuthenticationCertificate:ApplicationGatewayBackendHttpSettingAuthenticationCertificate" }, "description": "One or more `authentication_certificate` blocks.\n", "language": { "python": { "mapCase": false } } }, "connectionDraining": { "$ref": "#/types/azure:network/ApplicationGatewayBackendHttpSettingConnectionDraining:ApplicationGatewayBackendHttpSettingConnectionDraining", "description": "A `connection_draining` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "cookieBasedAffinity": { "type": "string", "description": "Is Cookie-Based Affinity enabled? Possible values are `Enabled` and `Disabled`.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "Host header to be sent to the backend servers. Cannot be set if `pick_host_name_from_backend_address` is set to `true`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Backend HTTP Settings Collection.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The Path which should be used as a prefix for all HTTP requests.\n", "language": { "python": { "mapCase": false } } }, "pickHostNameFromBackendAddress": { "type": "boolean", "description": "Whether host header should be picked from the host name of the backend server. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The port which should be used for this Backend HTTP Settings Collection.\n", "language": { "python": { "mapCase": false } } }, "probeId": { "type": "string", "description": "The ID of the associated Probe.\n", "language": { "python": { "mapCase": false } } }, "probeName": { "type": "string", "description": "The name of an associated HTTP Probe.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The Protocol which should be used. Possible values are `Http` and `Https`.\n", "language": { "python": { "mapCase": false } } }, "requestTimeout": { "type": "integer", "description": "The request timeout in seconds, which must be between 1 and 86400 seconds.\n", "language": { "python": { "mapCase": false } } }, "trustedRootCertificateNames": { "type": "array", "items": { "type": "string" }, "description": "A list of `trusted_root_certificate` names.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Authentication Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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 `1` second to `3600` seconds.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "If connection draining is enabled or not.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "drainTimeoutSec", "enabled" ] }, "azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration": { "properties": { "customErrorPageUrl": { "type": "string", "description": "Error page URL of the application gateway customer error.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "statusCode": { "type": "string", "description": "Status code of the application gateway customer error. Possible values are `HttpStatus403` and `HttpStatus502`\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Frontend IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The Private IP Address to use for the Application Gateway.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "The Allocation Method for the Private IP Address. Possible values are `Dynamic` and `Static`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of a Public IP Address which the Application Gateway should use.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "id", "name", "privateIpAddress", "privateIpAddressAllocation", "publicIpAddressId", "subnetId" ] } } }, "azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort": { "properties": { "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Frontend Port.\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The port used for this Frontend Port.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Gateway IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet which the Application Gateway should be connected to.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "subnetId" ], "language": { "nodejs": { "requiredOutputs": [ "id", "name", "subnetId" ] } } }, "azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener": { "properties": { "customErrorConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayHttpListenerCustomErrorConfiguration:ApplicationGatewayHttpListenerCustomErrorConfiguration" }, "description": "One or more `custom_error_configuration` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "firewallPolicyId": { "type": "string", "description": "The ID of the Web Application Firewall Policy which should be used as a HTTP Listener.\n", "language": { "python": { "mapCase": false } } }, "frontendIpConfigurationId": { "type": "string", "description": "The ID of the associated Frontend Configuration.\n", "language": { "python": { "mapCase": false } } }, "frontendIpConfigurationName": { "type": "string", "description": "The Name of the Frontend IP Configuration used for this HTTP Listener.\n", "language": { "python": { "mapCase": false } } }, "frontendPortId": { "type": "string", "description": "The ID of the associated Frontend Port.\n", "language": { "python": { "mapCase": false } } }, "frontendPortName": { "type": "string", "description": "The Name of the Frontend Port use for this HTTP Listener.\n", "language": { "python": { "mapCase": false } } }, "hostName": { "type": "string", "description": "The Hostname which should be used for this HTTP Listener.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the HTTP Listener.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The Protocol to use for this HTTP Listener. Possible values are `Http` and `Https`.\n", "language": { "python": { "mapCase": false } } }, "requireSni": { "type": "boolean", "description": "Should Server Name Indication be Required? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "sslCertificateId": { "type": "string", "description": "The ID of the associated SSL Certificate.\n", "language": { "python": { "mapCase": false } } }, "sslCertificateName": { "type": "string", "description": "The name of the associated SSL Certificate which should be used for this HTTP Listener.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "frontendIpConfigurationName", "frontendPortName", "name", "protocol" ], "language": { "nodejs": { "requiredOutputs": [ "frontendIpConfigurationId", "frontendIpConfigurationName", "frontendPortId", "frontendPortName", "id", "name", "protocol", "sslCertificateId" ] } } }, "azure:network/ApplicationGatewayHttpListenerCustomErrorConfiguration:ApplicationGatewayHttpListenerCustomErrorConfiguration": { "properties": { "customErrorPageUrl": { "type": "string", "description": "Error page URL of the application gateway customer error.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "statusCode": { "type": "string", "description": "Status code of the application gateway customer error. Possible values are `HttpStatus403` and `HttpStatus502`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "customErrorPageUrl", "statusCode" ], "language": { "nodejs": { "requiredOutputs": [ "customErrorPageUrl", "id", "statusCode" ] } } }, "azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity": { "properties": { "identityIds": { "type": "string", "description": "Specifies a list with a single user managed identity id to be assigned to the Application Gateway.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Managed Service Identity Type of this Application Gateway. The only possible value is `UserAssigned`. Defaults to `UserAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "identityIds" ] }, "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 `pick_host_name_from_backend_http_settings` is set to `true`.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "match": { "$ref": "#/types/azure:network/ApplicationGatewayProbeMatch:ApplicationGatewayProbeMatch", "description": "A `match` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "minimumServers": { "type": "integer", "description": "The minimum number of servers that are always marked as healthy. Defaults to `0`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the Probe.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The Path used for this Probe.\n", "language": { "python": { "mapCase": false } } }, "pickHostNameFromBackendHttpSettings": { "type": "boolean", "description": "Whether the host header should be picked from the backend http settings. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "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 Standard_v2 and WAF_v2 only.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The Protocol used for this Probe. Possible values are `Http` and `Https`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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 - 20 seconds.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "interval", "name", "path", "protocol", "timeout", "unhealthyThreshold" ], "language": { "nodejs": { "requiredOutputs": [ "id", "interval", "match", "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", "language": { "python": { "mapCase": false } } }, "statusCodes": { "type": "array", "items": { "type": "string" }, "description": "A list of allowed status codes for this Health Probe.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration": { "properties": { "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "includePath": { "type": "boolean", "description": "Whether or not to include the path in the redirected Url. Defaults to `false`\n", "language": { "python": { "mapCase": false } } }, "includeQueryString": { "type": "boolean", "description": "Whether or not to include the query string in the redirected Url. Default to `false`\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Unique name of the redirect configuration block\n", "language": { "python": { "mapCase": false } } }, "redirectType": { "type": "string", "description": "The type of redirect. Possible values are `Permanent`, `Temporary`, `Found` and `SeeOther`\n", "language": { "python": { "mapCase": false } } }, "targetListenerId": { "type": "string", "language": { "python": { "mapCase": false } } }, "targetListenerName": { "type": "string", "description": "The name of the listener to redirect to. Cannot be set if `target_url` is set.\n", "language": { "python": { "mapCase": false } } }, "targetUrl": { "type": "string", "description": "The Url to redirect the request to. Cannot be set if `target_listener_name` is set.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "backendAddressPoolName": { "type": "string", "description": "The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.\n", "language": { "python": { "mapCase": false } } }, "backendHttpSettingsId": { "type": "string", "description": "The ID of the associated Backend HTTP Settings Configuration.\n", "language": { "python": { "mapCase": false } } }, "backendHttpSettingsName": { "type": "string", "description": "The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if `redirect_configuration_name` is set.\n", "language": { "python": { "mapCase": false } } }, "httpListenerId": { "type": "string", "description": "The ID of the associated HTTP Listener.\n", "language": { "python": { "mapCase": false } } }, "httpListenerName": { "type": "string", "description": "The Name of the HTTP Listener which should be used for this Routing Rule.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Request Routing Rule.\n", "language": { "python": { "mapCase": false } } }, "redirectConfigurationId": { "type": "string", "description": "The ID of the associated Redirect Configuration.\n", "language": { "python": { "mapCase": false } } }, "redirectConfigurationName": { "type": "string", "description": "The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set.\n", "language": { "python": { "mapCase": false } } }, "rewriteRuleSetId": { "type": "string", "description": "The ID of the associated Rewrite Rule Set.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "ruleType": { "type": "string", "description": "The Type of Routing that should be used for this Rule. Possible values are `Basic` and `PathBasedRouting`.\n", "language": { "python": { "mapCase": false } } }, "urlPathMapId": { "type": "string", "description": "The ID of the associated URL Path Map.\n", "language": { "python": { "mapCase": false } } }, "urlPathMapName": { "type": "string", "description": "The Name of the URL Path Map which should be associated with this Routing Rule.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Unique name of the rewrite rule set block\n", "language": { "python": { "mapCase": false } } }, "rewriteRules": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRule:ApplicationGatewayRewriteRuleSetRewriteRule" }, "description": "One or more `rewrite_rule` blocks as defined above.\n", "language": { "python": { "mapCase": false } } } }, "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 `condition` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Unique name of the rewrite rule block\n", "language": { "python": { "mapCase": false } } }, "requestHeaderConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration" }, "description": "One or more `request_header_configuration` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "responseHeaderConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration" }, "description": "One or more `response_header_configuration` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "ruleSequence": { "type": "integer", "description": "Rule sequence of the rewrite rule that determines the order of execution in a set.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "ruleSequence" ] }, "azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleCondition:ApplicationGatewayRewriteRuleSetRewriteRuleCondition": { "properties": { "ignoreCase": { "type": "boolean", "description": "Perform a case in-sensitive comparison. Defaults to `false`\n", "language": { "python": { "mapCase": false } } }, "negate": { "type": "boolean", "description": "Negate the result of the condition evaluation. Defaults to `false`\n", "language": { "python": { "mapCase": false } } }, "pattern": { "type": "string", "description": "The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.\n", "language": { "python": { "mapCase": false } } }, "variable": { "type": "string", "description": "The [variable](https://docs.microsoft.com/en-us/azure/application-gateway/rewrite-http-headers#server-variables) of the condition.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "pattern", "variable" ] }, "azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration": { "properties": { "headerName": { "type": "string", "description": "Header name of the header configuration.\n", "language": { "python": { "mapCase": false } } }, "headerValue": { "type": "string", "description": "Header value of the header configuration. To delete a request header set this property to an empty string.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "headerName", "headerValue" ] }, "azure:network/ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration:ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration": { "properties": { "headerName": { "type": "string", "description": "Header name of the header configuration.\n", "language": { "python": { "mapCase": false } } }, "headerValue": { "type": "string", "description": "Header value of the header configuration. To delete a response header set this property to an empty string.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "headerName", "headerValue" ] }, "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 1 and 32, and 1 to 125 for a V2 SKU. This property is optional if `autoscale_configuration` is set.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the SKU to use for this Application Gateway. Possible values are `Standard_Small`, `Standard_Medium`, `Standard_Large`, `Standard_v2`, `WAF_Medium`, `WAF_Large`, and `WAF_v2`.\n", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "The Tier of the SKU to use for this Application Gateway. Possible values are `Standard`, `Standard_v2`, `WAF` and `WAF_v2`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "tier" ] }, "azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate": { "properties": { "data": { "type": "string", "description": "PFX certificate. Required if `key_vault_secret_id` is not set.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "keyVaultSecretId": { "type": "string", "description": "Secret Id of (base-64 encoded unencrypted pfx) `Secret` or `Certificate` object stored in Azure KeyVault. You need to enable soft delete for keyvault to use this feature. Required if `data` is not set.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the SSL certificate that is unique within this Application Gateway\n", "language": { "python": { "mapCase": false } } }, "password": { "type": "string", "description": "Password for the pfx file specified in data. Required if `data` is set.\n", "language": { "python": { "mapCase": false } } }, "publicCertData": { "type": "string", "description": "The Public Certificate Data associated with the SSL Certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredOutputs": [ "id", "name", "publicCertData" ] } } }, "azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy": { "properties": { "cipherSuites": { "type": "array", "items": { "type": "string" }, "description": "A List of accepted cipher suites. Possible values are: `TLS_DHE_DSS_WITH_AES_128_CBC_SHA`, `TLS_DHE_DSS_WITH_AES_128_CBC_SHA256`, `TLS_DHE_DSS_WITH_AES_256_CBC_SHA`, `TLS_DHE_DSS_WITH_AES_256_CBC_SHA256`, `TLS_DHE_RSA_WITH_AES_128_CBC_SHA`, `TLS_DHE_RSA_WITH_AES_128_GCM_SHA256`, `TLS_DHE_RSA_WITH_AES_256_CBC_SHA`, `TLS_DHE_RSA_WITH_AES_256_GCM_SHA384`, `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA`, `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256`, `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256`, `TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA`, `TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384`, `TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384`, `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA`, `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256`, `TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA`, `TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384`, `TLS_RSA_WITH_3DES_EDE_CBC_SHA`, `TLS_RSA_WITH_AES_128_CBC_SHA`, `TLS_RSA_WITH_AES_128_CBC_SHA256`, `TLS_RSA_WITH_AES_128_GCM_SHA256`, `TLS_RSA_WITH_AES_256_CBC_SHA`, `TLS_RSA_WITH_AES_256_CBC_SHA256` and `TLS_RSA_WITH_AES_256_GCM_SHA384`.\n", "language": { "python": { "mapCase": false } } }, "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` and `TLSv1_2`.\n", "language": { "python": { "mapCase": false } } }, "minProtocolVersion": { "type": "string", "description": "The minimal TLS version. Possible values are `TLSv1_0`, `TLSv1_1` and `TLSv1_2`.\n", "language": { "python": { "mapCase": false } } }, "policyName": { "type": "string", "description": "The Name of the Policy e.g AppGwSslPolicy20170401S. Required if `policy_type` is set to `Predefined`. Possible values can change over time and\nare published here https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-ssl-policy-overview. Not compatible with `disabled_protocols`.\n", "language": { "python": { "mapCase": false } } }, "policyType": { "type": "string", "description": "The Type of the Policy. Possible values are `Predefined` and `Custom`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate": { "properties": { "data": { "type": "string", "description": "The contents of the Trusted Root Certificate which should be used.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the Trusted Root Certificate to use.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "data", "name" ], "language": { "nodejs": { "requiredOutputs": [ "data", "id", "name" ] } } }, "azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap": { "properties": { "defaultBackendAddressPoolId": { "type": "string", "description": "The ID of the Default Backend Address Pool.\n", "language": { "python": { "mapCase": false } } }, "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 `default_redirect_configuration_name` is set.\n", "language": { "python": { "mapCase": false } } }, "defaultBackendHttpSettingsId": { "type": "string", "description": "The ID of the Default Backend HTTP Settings Collection.\n", "language": { "python": { "mapCase": false } } }, "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 `default_redirect_configuration_name` is set.\n", "language": { "python": { "mapCase": false } } }, "defaultRedirectConfigurationId": { "type": "string", "description": "The ID of the Default Redirect Configuration.\n", "language": { "python": { "mapCase": false } } }, "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 `default_backend_address_pool_name` or `default_backend_http_settings_name` is set.\n", "language": { "python": { "mapCase": false } } }, "defaultRewriteRuleSetId": { "type": "string", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the URL Path Map.\n", "language": { "python": { "mapCase": false } } }, "pathRules": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayUrlPathMapPathRule:ApplicationGatewayUrlPathMapPathRule" }, "description": "One or more `path_rule` blocks as defined above.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "backendAddressPoolName": { "type": "string", "description": "The Name of the Backend Address Pool to use for this Path Rule. Cannot be set if `redirect_configuration_name` is set.\n", "language": { "python": { "mapCase": false } } }, "backendHttpSettingsId": { "type": "string", "description": "The ID of the associated Backend HTTP Settings Configuration.\n", "language": { "python": { "mapCase": false } } }, "backendHttpSettingsName": { "type": "string", "description": "The Name of the Backend HTTP Settings Collection to use for this Path Rule. Cannot be set if `redirect_configuration_name` is set.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Rewrite Rule Set\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the Path Rule.\n", "language": { "python": { "mapCase": false } } }, "paths": { "type": "array", "items": { "type": "string" }, "description": "A list of Paths used in this Path Rule.\n", "language": { "python": { "mapCase": false } } }, "redirectConfigurationId": { "type": "string", "description": "The ID of the associated Redirect Configuration.\n", "language": { "python": { "mapCase": false } } }, "redirectConfigurationName": { "type": "string", "description": "The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if `backend_address_pool_name` or `backend_http_settings_name` is set.\n", "language": { "python": { "mapCase": false } } }, "rewriteRuleSetId": { "type": "string", "description": "The ID of the associated Rewrite Rule Set.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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 `disabled_rule_group` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is the Web Application Firewall be enabled?\n", "language": { "python": { "mapCase": false } } }, "exclusions": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayWafConfigurationExclusion:ApplicationGatewayWafConfigurationExclusion" }, "description": "one or more `exclusion` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "fileUploadLimitMb": { "type": "integer", "description": "The File Upload Limit in MB. Accepted values are in the range `1`MB to `500`MB. Defaults to `100`MB.\n", "language": { "python": { "mapCase": false } } }, "firewallMode": { "type": "string", "description": "The Web Application Firewall Mode. Possible values are `Detection` and `Prevention`.\n", "language": { "python": { "mapCase": false } } }, "maxRequestBodySizeKb": { "type": "integer", "description": "The Maximum Request Body Size in KB. Accepted values are in the range `1`KB to `128`KB. Defaults to `128`KB.\n", "language": { "python": { "mapCase": false } } }, "requestBodyCheck": { "type": "boolean", "description": "Is Request Body Inspection enabled? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "ruleSetType": { "type": "string", "description": "The Type of the Rule Set used for this Web Application Firewall. Currently, only `OWASP` is supported.\n", "language": { "python": { "mapCase": false } } }, "ruleSetVersion": { "type": "string", "description": "The Version of the Rule Set used for this Web Application Firewall. Possible values are `2.2.9`, `3.0`, and `3.1`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "firewallMode", "ruleSetVersion" ] }, "azure:network/ApplicationGatewayWafConfigurationDisabledRuleGroup:ApplicationGatewayWafConfigurationDisabledRuleGroup": { "properties": { "ruleGroupName": { "type": "string", "description": "The rule group where specific rules should be disabled. Accepted values are: `crs_20_protocol_violations`, `crs_21_protocol_anomalies`, `crs_23_request_limits`, `crs_30_http_policy`, `crs_35_bad_robots`, `crs_40_generic_attacks`, `crs_41_sql_injection_attacks`, `crs_41_xss_attacks`, `crs_42_tight_security`, `crs_45_trojans`, `General`, `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`\n", "language": { "python": { "mapCase": false } } }, "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 `rules` is not specified.\n", "language": { "python": { "mapCase": false } } } }, "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 `RequestHeaderNames`, `RequestArgNames` and `RequestCookieNames`\n", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "String value which will be used for the filter operation. If empty will exclude all traffic on this `match_variable`\n", "language": { "python": { "mapCase": false } } }, "selectorMatchOperator": { "type": "string", "description": "Operator which will be used to search in the variable content. Possible values are `Equals`, `StartsWith`, `EndsWith`, `Contains`. If empty will exclude all traffic on this `match_variable`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchVariable" ] }, "azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig": { "properties": { "advertisedPublicPrefixes": { "type": "array", "items": { "type": "string" }, "description": "A list of Advertised Public Prefixes\n", "language": { "python": { "mapCase": false } } }, "customerAsn": { "type": "integer", "description": "The CustomerASN of the peering\n", "language": { "python": { "mapCase": false } } }, "routingRegistryName": { "type": "string", "description": "The RoutingRegistryName of the configuration\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "The service tier. Possible values are `Basic`, `Local`, `Standard` or `Premium`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "family", "tier" ] }, "azure:network/FirewallApplicationRuleCollectionRule:FirewallApplicationRuleCollectionRule": { "properties": { "description": { "type": "string", "description": "Specifies a description for the rule.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the rule.\n", "language": { "python": { "mapCase": false } } }, "protocols": { "type": "array", "items": { "$ref": "#/types/azure:network/FirewallApplicationRuleCollectionRuleProtocol:FirewallApplicationRuleCollectionRuleProtocol" }, "description": "One or more `protocol` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "sourceAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of source IP addresses and/or IP ranges.\n", "language": { "python": { "mapCase": false } } }, "sourceIpGroups": { "type": "array", "items": { "type": "string" }, "description": "A list of source IP Group IDs for the rule.\n", "language": { "python": { "mapCase": false } } }, "targetFqdns": { "type": "array", "items": { "type": "string" }, "description": "A list of FQDNs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:network/FirewallApplicationRuleCollectionRuleProtocol:FirewallApplicationRuleCollectionRuleProtocol": { "properties": { "port": { "type": "integer", "description": "Specify a port for the connection.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the type of connection. Possible values are `Http`, `Https` and `Mssql`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ] }, "azure:network/FirewallIpConfiguration:FirewallIpConfiguration": { "properties": { "name": { "type": "string", "description": "Specifies the name of the IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The Private IP address of the Azure Firewall.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of the Public IP Address associated with the firewall.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "Reference to the subnet associated with the IP Configuration.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publicIpAddressId" ], "language": { "nodejs": { "requiredOutputs": [ "name", "privateIpAddress", "publicIpAddressId" ] } } }, "azure:network/FirewallManagementIpConfiguration:FirewallManagementIpConfiguration": { "properties": { "name": { "type": "string", "description": "Specifies the name of the IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The Private IP address of the Azure Firewall.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of the Public IP Address associated with the firewall.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "Reference to the subnet associated with the IP Configuration. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "destinationAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of destination IP addresses and/or IP ranges.\n", "language": { "python": { "mapCase": false } } }, "destinationPorts": { "type": "array", "items": { "type": "string" }, "description": "A list of destination ports.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the rule.\n", "language": { "python": { "mapCase": false } } }, "protocols": { "type": "array", "items": { "type": "string" }, "description": "A list of protocols. Possible values are `Any`, `ICMP`, `TCP` and `UDP`. If `action` is `Dnat`, protocols can only be `TCP` and `UDP`.\n", "language": { "python": { "mapCase": false } } }, "sourceAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of source IP addresses and/or IP ranges.\n", "language": { "python": { "mapCase": false } } }, "sourceIpGroups": { "type": "array", "items": { "type": "string" }, "description": "A list of source IP Group IDs for the rule.\n", "language": { "python": { "mapCase": false } } }, "translatedAddress": { "type": "string", "description": "The address of the service behind the Firewall.\n", "language": { "python": { "mapCase": false } } }, "translatedPort": { "type": "string", "description": "The port of the service behind the Firewall.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/virtual-network/service-tags-overview#available-service-tags).\n", "language": { "python": { "mapCase": false } } }, "destinationIpGroups": { "type": "array", "items": { "type": "string" }, "description": "A list of destination IP Group IDs for the rule.\n", "language": { "python": { "mapCase": false } } }, "destinationPorts": { "type": "array", "items": { "type": "string" }, "description": "A list of destination ports.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the rule.\n", "language": { "python": { "mapCase": false } } }, "protocols": { "type": "array", "items": { "type": "string" }, "description": "A list of protocols. Possible values are `Any`, `ICMP`, `TCP` and `UDP`.\n", "language": { "python": { "mapCase": false } } }, "sourceAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of source IP addresses and/or IP ranges.\n", "language": { "python": { "mapCase": false } } }, "sourceIpGroups": { "type": "array", "items": { "type": "string" }, "description": "A list of IP Group IDs for the rule.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "destinationPorts", "name", "protocols" ] }, "azure:network/FirewallPolicyDns:FirewallPolicyDns": { "properties": { "networkRuleFqdnEnabled": { "type": "boolean", "description": "Whether FQDNS in Network Rules belongs to this Firewall Policy are supported? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "proxyEnabled": { "type": "boolean", "description": "Whether to enable DNS proxy on Firewalls attached to this Firewall Policy? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "servers": { "type": "array", "items": { "type": "string" }, "description": "A list of custom DNS servers' IP addresses.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:network/FirewallPolicyThreatIntelligenceAllowlist:FirewallPolicyThreatIntelligenceAllowlist": { "properties": { "fqdns": { "type": "array", "items": { "type": "string" }, "description": "A list of FQDNs that will be skipped for threat detection.\n", "language": { "python": { "mapCase": false } } }, "ipAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of IP addresses or IP address ranges that will be skipped for threat detection.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings": { "properties": { "asn": { "type": "integer", "description": "The BGP speaker's ASN.\n", "language": { "python": { "mapCase": false } } }, "bgpPeeringAddress": { "type": "string", "description": "The BGP peering address and BGP identifier\nof this BGP speaker.\n", "language": { "python": { "mapCase": false } } }, "peerWeight": { "type": "integer", "description": "The weight added to routes learned from this\nBGP speaker.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "asn", "bgpPeeringAddress" ], "language": { "nodejs": { "requiredOutputs": [ "asn", "bgpPeeringAddress", "peerWeight" ] } } }, "azure:network/NetworkConnectionMonitorDestination:NetworkConnectionMonitorDestination": { "properties": { "address": { "type": "string", "description": "The address of the connection monitor destination (IP or domain name). Conflicts with `destination.0.virtual_machine_id`\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The destination port used by connection monitor.\n", "language": { "python": { "mapCase": false } } }, "virtualMachineId": { "type": "string", "description": "The ID of the virtual machine used as the destination by connection monitor. Conflicts with `destination.0.address`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "port" ] }, "azure:network/NetworkConnectionMonitorSource:NetworkConnectionMonitorSource": { "properties": { "port": { "type": "integer", "description": "The source port used by connection monitor.\n", "language": { "python": { "mapCase": false } } }, "virtualMachineId": { "type": "string", "description": "The ID of the virtual machine used as the source by connection monitor.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "virtualMachineId" ] }, "azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration": { "properties": { "name": { "type": "string", "description": "A name used for this IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Is this the Primary IP Configuration? Must be `true` for the first `ip_configuration` when multiple are specified. Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The Static IP Address which should be used.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "The allocation method used for the Private IP Address. Possible values are `Dynamic` and `Static`.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressVersion": { "type": "string", "description": "The IP Version to use. Possible values are `IPv4` or `IPv6`. Defaults to `IPv4`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "Reference to a Public IP Address to associate with this NIC\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet where this Network Interface should be located in.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "privateIpAddressAllocation" ], "language": { "nodejs": { "requiredOutputs": [ "name", "primary", "privateIpAddress", "privateIpAddressAllocation" ] } } }, "azure:network/NetworkPacketCaptureFilter:NetworkPacketCaptureFilter": { "properties": { "localIpAddress": { "type": "string", "description": "The local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "localPort": { "type": "string", "description": "The local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "remoteIpAddress": { "type": "string", "description": "The remote IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported.. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "remotePort": { "type": "string", "description": "The remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "protocol" ] }, "azure:network/NetworkPacketCaptureStorageLocation:NetworkPacketCaptureStorageLocation": { "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", "language": { "python": { "mapCase": false } } }, "storageAccountId": { "type": "string", "description": "The ID of the storage account to save the packet capture session\n", "language": { "python": { "mapCase": false } } }, "storagePath": { "type": "string", "description": "The URI of the storage path to save the packet capture.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "storagePath" ] } } }, "azure:network/NetworkSecurityGroupSecurityRule:NetworkSecurityGroupSecurityRule": { "properties": { "access": { "type": "string", "description": "Specifies whether network traffic is allowed or denied. Possible values are `Allow` and `Deny`.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "A description for this rule. Restricted to 140 characters.\n", "language": { "python": { "mapCase": false } } }, "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 `destination_address_prefixes` is not specified.\n", "language": { "python": { "mapCase": false } } }, "destinationAddressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "List of destination address prefixes. Tags may not be used. This is required if `destination_address_prefix` is not specified.\n", "language": { "python": { "mapCase": false } } }, "destinationApplicationSecurityGroupIds": { "type": "array", "items": { "type": "string" }, "description": "A List of destination Application Security Group ID's\n", "language": { "python": { "mapCase": false } } }, "destinationPortRange": { "type": "string", "description": "Destination Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `destination_port_ranges` is not specified.\n", "language": { "python": { "mapCase": false } } }, "destinationPortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of destination ports or port ranges. This is required if `destination_port_range` is not specified.\n", "language": { "python": { "mapCase": false } } }, "direction": { "type": "string", "description": "The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are `Inbound` and `Outbound`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the security rule.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "Network protocol this rule applies to. Can be `Tcp`, `Udp`, `Icmp`, or `*` to match all.\n", "language": { "python": { "mapCase": false } } }, "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 `source_address_prefixes` is not specified.\n", "language": { "python": { "mapCase": false } } }, "sourceAddressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "List of source address prefixes. Tags may not be used. This is required if `source_address_prefix` is not specified.\n", "language": { "python": { "mapCase": false } } }, "sourceApplicationSecurityGroupIds": { "type": "array", "items": { "type": "string" }, "description": "A List of source Application Security Group ID's\n", "language": { "python": { "mapCase": false } } }, "sourcePortRange": { "type": "string", "description": "Source Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `source_port_ranges` is not specified.\n", "language": { "python": { "mapCase": false } } }, "sourcePortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of source ports or port ranges. This is required if `source_port_range` is not specified.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Boolean flag to enable/disable traffic analytics.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "days", "enabled" ] }, "azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics": { "properties": { "enabled": { "type": "boolean", "description": "Boolean flag to enable/disable traffic analytics.\n", "language": { "python": { "mapCase": false } } }, "intervalInMinutes": { "type": "integer", "description": "How frequently service should do flow analytics in minutes.\n", "language": { "python": { "mapCase": false } } }, "workspaceId": { "type": "string", "description": "The resource guid of the attached workspace.\n", "language": { "python": { "mapCase": false } } }, "workspaceRegion": { "type": "string", "description": "The location of the attached workspace.\n", "language": { "python": { "mapCase": false } } }, "workspaceResourceId": { "type": "string", "description": "The resource ID of the attached workspace.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "workspaceId", "workspaceRegion", "workspaceResourceId" ] }, "azure:network/PacketCaptureFilter:PacketCaptureFilter": { "properties": { "localIpAddress": { "type": "string", "description": "The local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "localPort": { "type": "string", "description": "The local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "remoteIpAddress": { "type": "string", "description": "The remote IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported.. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "remotePort": { "type": "string", "description": "The remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "protocol" ] }, "azure:network/PacketCaptureStorageLocation:PacketCaptureStorageLocation": { "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", "language": { "python": { "mapCase": false } } }, "storageAccountId": { "type": "string", "description": "The ID of the storage account to save the packet capture session\n", "language": { "python": { "mapCase": false } } }, "storagePath": { "type": "string", "description": "The URI of the storage path to save the packet capture.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "storagePath" ] } } }, "azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration": { "properties": { "name": { "type": "string", "description": "The Name which should be used for this Connection Configuration.\n", "language": { "python": { "mapCase": false } } }, "vpnClientAddressPool": { "$ref": "#/types/azure:network/PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPool:PointToPointVpnGatewayConnectionConfigurationVpnClientAddressPool", "description": "A `vpn_client_address_pool` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "vpnClientAddressPool" ] }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "addressPrefixes" ] }, "azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface": { "properties": { "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ProfileContainerNetworkInterfaceIpConfiguration:ProfileContainerNetworkInterfaceIpConfiguration" }, "description": "One or more `ip_configuration` blocks as documented below.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the IP Configuration.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "ipConfigurations", "name" ] }, "azure:network/ProfileContainerNetworkInterfaceIpConfiguration:ProfileContainerNetworkInterfaceIpConfiguration": { "properties": { "name": { "type": "string", "description": "Specifies the name of the IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "Reference to the subnet associated with the IP Configuration.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "communities": { "type": "array", "items": { "type": "string" }, "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'].\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the route filter rule.\n", "language": { "python": { "mapCase": false } } }, "ruleType": { "type": "string", "description": "The rule type of the rule. The only possible value is `Community`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "access", "communities", "name", "ruleType" ] }, "azure:network/RouteTableRoute:RouteTableRoute": { "properties": { "addressPrefix": { "type": "string", "description": "The destination CIDR to which the route applies, such as 10.1.0.0/16\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the route.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "addressPrefix", "name", "nextHopType" ] }, "azure:network/SubnetDelegation:SubnetDelegation": { "properties": { "name": { "type": "string", "description": "A name for this delegation.\n", "language": { "python": { "mapCase": false } } }, "serviceDelegation": { "$ref": "#/types/azure:network/SubnetDelegationServiceDelegation:SubnetDelegationServiceDelegation", "description": "A `service_delegation` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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 include `Microsoft.Network/networkinterfaces/*`, `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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of service to delegate to. Possible values include `Microsoft.ApiManagement/service`, `Microsoft.AzureCosmosDB/clusters`, `Microsoft.BareMetal/AzureVMware`, `Microsoft.BareMetal/CrayServers`, `Microsoft.Batch/batchAccounts`, `Microsoft.ContainerInstance/containerGroups`, `Microsoft.Databricks/workspaces`, `Microsoft.DBforMySQL/flexibleServers`, `Microsoft.DBforMySQL/serversv2`, `Microsoft.DBforPostgreSQL/flexibleServers`, `Microsoft.DBforPostgreSQL/serversv2`, `Microsoft.DBforPostgreSQL/singleServers`, `Microsoft.HardwareSecurityModules/dedicatedHSMs`, `Microsoft.Kusto/clusters`, `Microsoft.Logic/integrationServiceEnvironments`, `Microsoft.MachineLearningServices/workspaces`, `Microsoft.Netapp/volumes`, `Microsoft.Network/managedResolvers`, `Microsoft.PowerPlatform/vnetaccesslinks`, `Microsoft.ServiceFabricMesh/networks`, `Microsoft.Sql/managedInstances`, `Microsoft.Sql/servers`, `Microsoft.StreamAnalytics/streamingJobs`, `Microsoft.Synapse/workspaces`, `Microsoft.Web/hostingEnvironments`, and `Microsoft.Web/serverFarms`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:network/TrafficManagerEndpointCustomHeader:TrafficManagerEndpointCustomHeader": { "properties": { "name": { "type": "string", "description": "The name of the custom header.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of custom header. Applicable for Http and Https protocol.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "value" ] }, "azure:network/TrafficManagerEndpointSubnet:TrafficManagerEndpointSubnet": { "properties": { "first": { "type": "string", "description": "The First IP....\n", "language": { "python": { "mapCase": false } } }, "last": { "type": "string", "description": "The Last IP...\n", "language": { "python": { "mapCase": false } } }, "scope": { "type": "integer", "description": "The Scope...\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "ttl": { "type": "integer", "description": "The TTL value of the Profile used by Local DNS resolvers and clients.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "relativeName", "ttl" ] }, "azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig": { "properties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerProfileMonitorConfigCustomHeader:TrafficManagerProfileMonitorConfigCustomHeader" }, "description": "One or more `custom_header` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "expectedStatusCodeRanges": { "type": "array", "items": { "type": "string" }, "description": "A list of status code ranges in the format of `100-101`.\n", "language": { "python": { "mapCase": false } } }, "intervalInSeconds": { "type": "integer", "description": "The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: `30` (normal probing) and `10` (fast probing). The default value is `30`.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The path used by the monitoring checks. Required when `protocol` is set to `HTTP` or `HTTPS` - cannot be set when `protocol` is set to `TCP`.\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The port number used by the monitoring checks.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The protocol used by the monitoring checks, supported values are `HTTP`, `HTTPS` and `TCP`.\n", "language": { "python": { "mapCase": false } } }, "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 `interval_in_seconds` is set to `30`, then `timeout_in_seconds` can be between `5` and `10`. The default value is `10`. If `interval_in_seconds` is set to `10`, then valid values are between `5` and `9` and `timeout_in_seconds` is required.\n", "language": { "python": { "mapCase": false } } }, "toleratedNumberOfFailures": { "type": "integer", "description": "The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between `0` and `9`. The default value is `3`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "port", "protocol" ] }, "azure:network/TrafficManagerProfileMonitorConfigCustomHeader:TrafficManagerProfileMonitorConfigCustomHeader": { "properties": { "name": { "type": "string", "description": "The name of the custom header.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of custom header. Applicable for Http and Https protocol.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "value" ] }, "azure:network/VirtualHubRoute:VirtualHubRoute": { "properties": { "addressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "A list of Address Prefixes.\n", "language": { "python": { "mapCase": false } } }, "nextHopIpAddress": { "type": "string", "description": "The IP Address that Packets should be forwarded to as the Next Hop.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "addressPrefixes", "nextHopIpAddress" ] }, "azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan": { "properties": { "enable": { "type": "boolean", "description": "Enable/disable DDoS Protection Plan on Virtual Network.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of DDoS Protection Plan.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enable", "id" ] }, "azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings": { "properties": { "asn": { "type": "integer", "description": "The Autonomous System Number (ASN) to use as part of the BGP.\n", "language": { "python": { "mapCase": false } } }, "peerWeight": { "type": "integer", "description": "The weight added to routes which have been learned\nthrough BGP peering. Valid values can be between `0` and `100`.\n", "language": { "python": { "mapCase": false } } }, "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. The IP address must be part of the subnet of\nthe Virtual Network Gateway. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "peeringAddress" ] } } }, "azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy": { "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", "language": { "python": { "mapCase": false } } }, "ikeEncryption": { "type": "string", "description": "The IKE encryption algorithm. Valid\noptions are `AES128`, `AES192`, `AES256`, `DES`, or `DES3`.\n", "language": { "python": { "mapCase": false } } }, "ikeIntegrity": { "type": "string", "description": "The IKE integrity algorithm. Valid\noptions are `MD5`, `SHA1`, `SHA256`, or `SHA384`.\n", "language": { "python": { "mapCase": false } } }, "ipsecEncryption": { "type": "string", "description": "The IPSec encryption algorithm. Valid\noptions are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256`, or `None`.\n", "language": { "python": { "mapCase": false } } }, "ipsecIntegrity": { "type": "string", "description": "The IPSec integrity algorithm. Valid\noptions are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1`, or `SHA256`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "saDatasize": { "type": "integer", "description": "The IPSec SA payload size in KB. Must be at least\n`1024` KB. Defaults to `102400000` KB.\n", "language": { "python": { "mapCase": false } } }, "saLifetime": { "type": "integer", "description": "The IPSec SA lifetime in seconds. Must be at least\n`300` seconds. Defaults to `27000` seconds.\n", "language": { "python": { "mapCase": false } } } }, "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" }, "language": { "python": { "mapCase": false } } }, "remoteAddressCidrs": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "localAddressCidrs", "remoteAddressCidrs" ] }, "azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration": { "properties": { "name": { "type": "string", "description": "A user-defined name of the revoked certificate.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "Defines how the private IP address\nof the gateways virtual interface is assigned. Valid options are `Static` or\n`Dynamic`. Defaults to `Dynamic`.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of the public ip address to associate\nwith the Virtual Network Gateway.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "publicIpAddressId", "subnetId" ] }, "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\nThis setting is incompatible with the use of\n`root_certificate` and `revoked_certificate`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "aadIssuer": { "type": "string", "description": "The STS url for your tenant\nThis setting is incompatible with the use of\n`root_certificate` and `revoked_certificate`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "aadTenant": { "type": "string", "description": "AzureAD Tenant URL\nThis setting is incompatible with the use of\n`root_certificate` and `revoked_certificate`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "radiusServerAddress": { "type": "string", "description": "The address of the Radius server.\nThis setting is incompatible with the use of\n`aad_tenant`, `aad_audience`, `aad_issuer`, `root_certificate` and `revoked_certificate`.\n", "language": { "python": { "mapCase": false } } }, "radiusServerSecret": { "type": "string", "description": "The secret used by the Radius server.\nThis setting is incompatible with the use of\n`aad_tenant`, `aad_audience`, `aad_issuer`, `root_certificate` and `revoked_certificate`.\n", "language": { "python": { "mapCase": false } } }, "revokedCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate" }, "description": "One or more `revoked_certificate` blocks which\nare defined below.\nThis setting is incompatible with the use of\n`aad_tenant`, `aad_audience`, `aad_issuer`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "rootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkGatewayVpnClientConfigurationRootCertificate:VirtualNetworkGatewayVpnClientConfigurationRootCertificate" }, "description": "One or more `root_certificate` 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`aad_tenant`, `aad_audience`, `aad_issuer`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "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`aad_tenant`, `aad_audience` and `aad_issuer`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "addressSpaces" ], "language": { "nodejs": { "requiredOutputs": [ "addressSpaces", "vpnClientProtocols" ] } } }, "azure:network/VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:VirtualNetworkGatewayVpnClientConfigurationRevokedCertificate": { "properties": { "name": { "type": "string", "description": "A user-defined name of the revoked certificate.\n", "language": { "python": { "mapCase": false } } }, "thumbprint": { "type": "string", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "thumbprint" ] }, "azure:network/VirtualNetworkGatewayVpnClientConfigurationRootCertificate:VirtualNetworkGatewayVpnClientConfigurationRootCertificate": { "properties": { "name": { "type": "string", "description": "A user-defined name of the revoked certificate.\n", "language": { "python": { "mapCase": false } } }, "publicCertData": { "type": "string", "description": "The SHA1 thumbprint of the certificate to be\nrevoked.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publicCertData" ] }, "azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet": { "properties": { "addressPrefix": { "type": "string", "description": "The address prefix to use for the subnet.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of DDoS Protection Plan.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the virtual network. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "securityGroup": { "type": "string", "description": "The Network Security Group to associate with the subnet. (Referenced by `id`, ie. `azurerm_network_security_group.example.id`)\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "addressPrefix", "name" ], "language": { "nodejs": { "requiredOutputs": [ "addressPrefix", "id", "name" ] } } }, "azure:network/VpnGatewayBgpSetting:VpnGatewayBgpSetting": { "properties": { "asn": { "type": "integer", "description": "The ASN of the BGP Speaker. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "bgpPeeringAddress": { "type": "string", "description": "The Address which should be used for the BGP Peering.\n", "language": { "python": { "mapCase": false } } }, "peerWeight": { "type": "integer", "description": "The weight added to Routes learned from this BGP Speaker. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "asn", "peerWeight" ], "language": { "nodejs": { "requiredOutputs": [ "asn", "bgpPeeringAddress", "peerWeight" ] } } }, "azure:network/VpnServerConfigurationAzureActiveDirectoryAuthentication:VpnServerConfigurationAzureActiveDirectoryAuthentication": { "properties": { "audience": { "type": "string", "description": "The Audience which should be used for authentication.\n", "language": { "python": { "mapCase": false } } }, "issuer": { "type": "string", "description": "The Issuer which should be used for authentication.\n", "language": { "python": { "mapCase": false } } }, "tenant": { "type": "string", "description": "The Tenant which should be used for authentication.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "audience", "issuer", "tenant" ] }, "azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate": { "properties": { "name": { "type": "string", "description": "A name used to uniquely identify this certificate.\n", "language": { "python": { "mapCase": false } } }, "thumbprint": { "type": "string", "description": "The Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "thumbprint" ] }, "azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate": { "properties": { "name": { "type": "string", "description": "A name used to uniquely identify this certificate.\n", "language": { "python": { "mapCase": false } } }, "publicCertData": { "type": "string", "description": "The Public Key Data associated with the Certificate.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "ipsecIntegrity": { "type": "string", "description": "The IPSec integrity algorithm, used for IKE phase 1. Possible values include `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "saDataSizeKilobytes": { "type": "integer", "description": "The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.\n", "language": { "python": { "mapCase": false } } }, "saLifetimeSeconds": { "type": "integer", "description": "The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dhGroup", "ikeEncryption", "ikeIntegrity", "ipsecEncryption", "ipsecIntegrity", "pfsGroup", "saDataSizeKilobytes", "saLifetimeSeconds" ] }, "azure:network/VpnServerConfigurationRadiusServer:VpnServerConfigurationRadiusServer": { "properties": { "address": { "type": "string", "description": "The Address of the Radius Server.\n", "language": { "python": { "mapCase": false } } }, "clientRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationRadiusServerClientRootCertificate:VpnServerConfigurationRadiusServerClientRootCertificate" }, "description": "One or more `client_root_certificate` blocks as defined above.\n", "language": { "python": { "mapCase": false } } }, "secret": { "type": "string", "description": "The Secret used to communicate with the Radius Server.\n", "language": { "python": { "mapCase": false } } }, "serverRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationRadiusServerServerRootCertificate:VpnServerConfigurationRadiusServerServerRootCertificate" }, "description": "One or more `server_root_certificate` blocks as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "address", "secret", "serverRootCertificates" ] }, "azure:network/VpnServerConfigurationRadiusServerClientRootCertificate:VpnServerConfigurationRadiusServerClientRootCertificate": { "properties": { "name": { "type": "string", "description": "A name used to uniquely identify this certificate.\n", "language": { "python": { "mapCase": false } } }, "thumbprint": { "type": "string", "description": "The Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "thumbprint" ] }, "azure:network/VpnServerConfigurationRadiusServerServerRootCertificate:VpnServerConfigurationRadiusServerServerRootCertificate": { "properties": { "name": { "type": "string", "description": "A name used to uniquely identify this certificate.\n", "language": { "python": { "mapCase": false } } }, "publicCertData": { "type": "string", "description": "The Public Key Data associated with the Certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publicCertData" ] }, "azure:network/getExpressRouteCircuitPeering:getExpressRouteCircuitPeering": { "properties": { "azureAsn": { "type": "integer", "description": "The Either a 16-bit or a 32-bit ASN for Azure.\n", "language": { "python": { "mapCase": false } } }, "peerAsn": { "type": "integer", "description": "The Either a 16-bit or a 32-bit ASN. Can either be public or private.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "primaryPeerAddressPrefix": { "type": "string", "description": "A `/30` subnet for the primary link.\n", "language": { "python": { "mapCase": false } } }, "secondaryPeerAddressPrefix": { "type": "string", "description": "A `/30` subnet for the secondary link.\n", "language": { "python": { "mapCase": false } } }, "sharedKey": { "type": "string", "description": "The shared key. Can be a maximum of 25 characters.\n", "language": { "python": { "mapCase": false } } }, "vlanId": { "type": "integer", "description": "A valid VLAN ID to establish this peering on.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "peeringLocation": { "type": "string", "description": "The name of the peering location and **not** the Azure resource location.\n", "language": { "python": { "mapCase": false } } }, "serviceProviderName": { "type": "string", "description": "The name of the ExpressRoute Service Provider.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "tier": { "type": "string", "description": "The service tier. Possible values are `Basic`, `Local`, `Standard` or `Premium`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "family", "tier" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:network/getFirewallIpConfiguration:getFirewallIpConfiguration": { "properties": { "internalPublicIpAddressId": { "type": "string", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Azure Firewall.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The Private IP Address of the Azure Firewall.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet where the Azure Firewall is deployed.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "internalPublicIpAddressId", "name", "privateIpAddress", "publicIpAddressId", "subnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:network/getFirewallPolicyDn:getFirewallPolicyDn": { "properties": { "networkRuleFqdnEnabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "proxyEnabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "servers": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "networkRuleFqdnEnabled", "proxyEnabled", "servers" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:network/getFirewallPolicyThreatIntelligenceAllowlist:getFirewallPolicyThreatIntelligenceAllowlist": { "properties": { "fqdns": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "ipAddresses": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "fqdns", "ipAddresses" ], "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", "language": { "python": { "mapCase": false } } }, "ikeEncryption": { "type": "string", "description": "The IKE encryption algorithm. Valid\noptions are `AES128`, `AES192`, `AES256`, `DES`, or `DES3`.\n", "language": { "python": { "mapCase": false } } }, "ikeIntegrity": { "type": "string", "description": "The IKE integrity algorithm. Valid\noptions are `MD5`, `SHA1`, `SHA256`, or `SHA384`.\n", "language": { "python": { "mapCase": false } } }, "ipsecEncryption": { "type": "string", "description": "The IPSec encryption algorithm. Valid\noptions are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256`, or `None`.\n", "language": { "python": { "mapCase": false } } }, "ipsecIntegrity": { "type": "string", "description": "The IPSec integrity algorithm. Valid\noptions are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1`, or `SHA256`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "saDatasize": { "type": "integer", "description": "The IPSec SA payload size in KB. Must be at least\n`1024` KB.\n", "language": { "python": { "mapCase": false } } }, "saLifetime": { "type": "integer", "description": "The IPSec SA lifetime in seconds. Must be at least\n`300` seconds.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "remoteAddressCidrs": { "type": "array", "items": { "type": "string" }, "description": "List of remote CIDRs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "localAddressCidrs", "remoteAddressCidrs" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:network/getNetworkInterfaceIpConfiguration:getNetworkInterfaceIpConfiguration": { "properties": { "applicationGatewayBackendAddressPoolsIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Backend Address Pool ID's within a Application Gateway that this Network Interface is connected to.\n", "language": { "python": { "mapCase": false } } }, "applicationSecurityGroupIds": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "loadBalancerBackendAddressPoolsIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Backend Address Pool ID's within a Load Balancer that this Network Interface is connected to.\n", "language": { "python": { "mapCase": false } } }, "loadBalancerInboundNatRulesIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Inbound NAT Rule ID's within a Load Balancer that this Network Interface is connected to.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the name of the Network Interface.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "is this the Primary IP Configuration for this Network Interface?\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The Private IP Address assigned to this Network Interface.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "The IP Address allocation type for the Private address, such as `Dynamic` or `Static`.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressVersion": { "type": "string", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of the Public IP Address which is connected to this Network Interface.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the Subnet which the Network Interface is connected to.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "applicationGatewayBackendAddressPoolsIds", "applicationSecurityGroupIds", "loadBalancerBackendAddressPoolsIds", "loadBalancerInboundNatRulesIds", "name", "primary", "privateIpAddress", "privateIpAddressAllocation", "privateIpAddressVersion", "publicIpAddressId", "subnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:network/getNetworkSecurityGroupSecurityRule:getNetworkSecurityGroupSecurityRule": { "properties": { "access": { "type": "string", "description": "Is network traffic is allowed or denied?\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "The description for this rule.\n", "language": { "python": { "mapCase": false } } }, "destinationAddressPrefix": { "type": "string", "description": "CIDR or destination IP range or * to match any IP.\n", "language": { "python": { "mapCase": false } } }, "destinationAddressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "A list of CIDRs or destination IP ranges.\n", "language": { "python": { "mapCase": false } } }, "destinationApplicationSecurityGroupIds": { "type": "array", "items": { "type": "string" }, "description": "A List of destination Application Security Group ID's\n", "language": { "python": { "mapCase": false } } }, "destinationPortRange": { "type": "string", "description": "The Destination Port or Range.\n", "language": { "python": { "mapCase": false } } }, "destinationPortRanges": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "direction": { "type": "string", "description": "The direction specifies if rule will be evaluated on incoming or outgoing traffic.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the Name of the Network Security Group.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority of the rule\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The network protocol this rule applies to.\n", "language": { "python": { "mapCase": false } } }, "sourceAddressPrefix": { "type": "string", "description": "CIDR or source IP range or * to match any IP.\n", "language": { "python": { "mapCase": false } } }, "sourceAddressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "A list of CIDRs or source IP ranges.\n", "language": { "python": { "mapCase": false } } }, "sourceApplicationSecurityGroupIds": { "type": "array", "items": { "type": "string" }, "description": "A List of source Application Security Group ID's\n", "language": { "python": { "mapCase": false } } }, "sourcePortRange": { "type": "string", "description": "The Source Port or Range.\n", "language": { "python": { "mapCase": false } } }, "sourcePortRanges": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fqdn": { "type": "string", "description": "The FQDN of the Public IP Address\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID of the Public IP Address\n", "language": { "python": { "mapCase": false } } }, "ipAddress": { "type": "string", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of the Public IP Address\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "communities": { "type": "array", "items": { "type": "string" }, "description": "The collection for bgp community values.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The Name of this Route Filter.\n", "language": { "python": { "mapCase": false } } }, "ruleType": { "type": "string", "description": "The Route Filter Rule Type.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Route Table.\n", "language": { "python": { "mapCase": false } } }, "nextHopInIpAddress": { "type": "string", "description": "Contains the IP address packets should be forwarded to.\n", "language": { "python": { "mapCase": false } } }, "nextHopType": { "type": "string", "description": "The type of Azure hop the packet should be sent to.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "addressPrefix", "name", "nextHopInIpAddress", "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", "language": { "python": { "mapCase": false } } }, "peerWeight": { "type": "integer", "description": "The weight added to routes which have been learned\nthrough BGP peering.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "asn", "peerWeight", "peeringAddress" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:network/getVirtualNetworkGatewayIpConfiguration:getVirtualNetworkGatewayIpConfiguration": { "properties": { "name": { "type": "string", "description": "Specifies the name of the Virtual Network Gateway.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressAllocation": { "type": "string", "description": "Defines how the private IP address\nof the gateways virtual interface is assigned.\n", "language": { "python": { "mapCase": false } } }, "publicIpAddressId": { "type": "string", "description": "The ID of the Public IP Address associated\nwith the Virtual Network Gateway.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "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`root_certificate` and `revoked_certificate`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "aadIssuer": { "type": "string", "description": "The STS url for your tenant\nThis setting is incompatible with the use of\n`root_certificate` and `revoked_certificate`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "aadTenant": { "type": "string", "description": "AzureAD Tenant URL\nThis setting is incompatible with the use of\n`root_certificate` and `revoked_certificate`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "radiusServerAddress": { "type": "string", "description": "The address of the Radius server.\nThis setting is incompatible with the use of\n`aad_tenant`, `aad_audience`, `aad_issuer`, `root_certificate` and `revoked_certificate`.\n", "language": { "python": { "mapCase": false } } }, "radiusServerSecret": { "type": "string", "description": "The secret used by the Radius server.\nThis setting is incompatible with the use of\n`aad_tenant`, `aad_audience`, `aad_issuer`, `root_certificate` and `revoked_certificate`.\n", "language": { "python": { "mapCase": false } } }, "revokedCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/getVirtualNetworkGatewayVpnClientConfigurationRevokedCertificate:getVirtualNetworkGatewayVpnClientConfigurationRevokedCertificate" }, "description": "One or more `revoked_certificate` blocks which\nare defined below.\nThis setting is incompatible with the use of\n`aad_tenant`, `aad_audience`, `aad_issuer`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "rootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/getVirtualNetworkGatewayVpnClientConfigurationRootCertificate:getVirtualNetworkGatewayVpnClientConfigurationRootCertificate" }, "description": "One or more `root_certificate` 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`aad_tenant`, `aad_audience`, `aad_issuer`, `radius_server_address`, and `radius_server_secret`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "thumbprint": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "publicCertData": { "type": "string", "description": "The SHA1 thumbprint of the certificate to be revoked.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "publicCertData" ], "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", "language": { "python": { "mapCase": false } } }, "bundleId": { "type": "string", "description": "The Bundle ID of the iOS/macOS application to send push notifications for, such as `com.org.example`.\n", "language": { "python": { "mapCase": false } } }, "keyId": { "type": "string", "description": "The Apple Push Notifications Service (APNS) Key.\n", "language": { "python": { "mapCase": false } } }, "teamId": { "type": "string", "description": "The ID of the team the Token.\n", "language": { "python": { "mapCase": false } } }, "token": { "type": "string", "description": "The Push Token associated with the Apple Developer Account. This is the contents of the `key` downloaded from [the Apple Developer Portal](https://developer.apple.com/account/ios/authkey/) between the `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----` blocks.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "applicationMode", "bundleId", "keyId", "teamId", "token" ] }, "azure:notificationhub/HubGcmCredential:HubGcmCredential": { "properties": { "apiKey": { "type": "string", "description": "The API Key associated with the Google Cloud Messaging service.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "bundleId": { "type": "string", "description": "The Bundle ID of the iOS/macOS application to send push notifications for, such as `com.org.example`.\n", "language": { "python": { "mapCase": false } } }, "keyId": { "type": "string", "description": "The Apple Push Notifications Service (APNS) Key.\n", "language": { "python": { "mapCase": false } } }, "teamId": { "type": "string", "description": "The ID of the team the Token.\n", "language": { "python": { "mapCase": false } } }, "token": { "type": "string", "description": "The Push Token associated with the Apple Developer Account.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan": { "properties": { "name": { "type": "string", "language": { "python": { "mapCase": false } } }, "product": { "type": "string", "description": "The product name of the solution. For example `OMSGallery/Containers`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "promotionCode": { "type": "string", "description": "A promotion code to be used with the solution.\n", "language": { "python": { "mapCase": false } } }, "publisher": { "type": "string", "description": "The publisher of the solution. For example `Microsoft`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "product", "publisher" ], "language": { "nodejs": { "requiredOutputs": [ "name", "product", "publisher" ] } } }, "azure:policy/AssignmentIdentity:AssignmentIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID of this Policy Assignment if `type` is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID of this Policy Assignment if `type` is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Managed Service Identity Type of this Policy Assignment. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), or `None` (no use of a Managed Service Identity).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId" ] } } }, "azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference": { "properties": { "parameterValues": { "type": "string", "description": "Parameter values for the referenced policy rule. This field is a json object that allows you to assign parameters to this policy rule.\n", "language": { "python": { "mapCase": false } } }, "parameters": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "Parameters for the policy set definition. This field is a json object that allows you to parameterize your policy definition.\n", "deprecationMessage": "Deprecated in favour of `parameter_values`", "language": { "python": { "mapCase": false } } }, "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition that will be included in this policy set definition.\n", "language": { "python": { "mapCase": false } } }, "referenceId": { "type": "string", "description": "A unique ID within this policy set definition for this policy definition reference.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "policyDefinitionId" ], "language": { "nodejs": { "requiredOutputs": [ "parameterValues", "parameters", "policyDefinitionId", "referenceId" ] } } }, "azure:policy/getPolicySetDefinitionPolicyDefinitionReference:getPolicySetDefinitionPolicyDefinitionReference": { "properties": { "parameterValues": { "type": "string", "description": "The parameter values for the referenced policy rule. This field is a json object.\n", "language": { "python": { "mapCase": false } } }, "parameters": { "type": "object", "additionalProperties": { "$ref": "pulumi.json#/Any" }, "description": "The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.\n", "language": { "python": { "mapCase": false } } }, "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition that is included in this policy set definition.\n", "language": { "python": { "mapCase": false } } }, "referenceId": { "type": "string", "description": "The unique ID within this policy set definition for this policy definition reference.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "parameterValues", "parameters", "policyDefinitionId", "referenceId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:postgresql/ServerIdentity:ServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The Client ID of the Service Principal assigned to this PostgreSQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant the Service Principal is assigned in.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Type of Identity which should be used for this PostgreSQL Server. At this time the only possible value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:postgresql/ServerStorageProfile:ServerStorageProfile": { "properties": { "autoGrow": { "type": "string", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` days.\n", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "geoRedundantBackup": { "type": "string", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#StorageProfile).\n", "deprecationMessage": "this has been moved to the top level and will be removed in version 3.0 of the provider.", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "autoGrow", "geoRedundantBackup" ] } } }, "azure:postgresql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy": { "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", "language": { "python": { "mapCase": false } } }, "emailAccountAdmins": { "type": "boolean", "description": "Should the account administrators be emailed when this alert is triggered?\n", "language": { "python": { "mapCase": false } } }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses which alerts should be sent to.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Is the policy enabled?\n", "language": { "python": { "mapCase": false } } }, "retentionDays": { "type": "integer", "description": "Specifies the number of days to keep in the Threat Detection audit logs.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:postgresql/getServerIdentity:getServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The ID of the System Managed Service Principal assigned to the PostgreSQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Tenant of the System Managed Service Principal assigned to the PostgreSQL Server.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the Managed Identity assigned to the PostgreSQL Server.\n", "language": { "python": { "mapCase": false } } } }, "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. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Is this is the Primary IP Configuration? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "Specifies a Private Static IP Address for this IP Configuration.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "Specifies the ID of the Subnet which should be used for the Private Link Service.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "preference": { "type": "integer", "description": "The preference of the MX record.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "exchange", "preference" ] }, "azure:privatedns/SRVRecordRecord:SRVRecordRecord": { "properties": { "port": { "type": "integer", "description": "The Port the service is listening on.\n", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "The priority of the SRV record.\n", "language": { "python": { "mapCase": false } } }, "target": { "type": "string", "description": "The FQDN of the service.\n", "language": { "python": { "mapCase": false } } }, "weight": { "type": "integer", "description": "The Weight of the SRV record.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "value" ] }, "azure:privatelink/EndpointCustomDnsConfig:EndpointCustomDnsConfig": { "properties": { "fqdn": { "type": "string", "description": "The fully qualified domain name to the `private_dns_zone`.\n", "language": { "python": { "mapCase": false } } }, "ipAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of all IP Addresses that map to the `private_dns_zone` fqdn.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "fqdn", "ipAddresses" ] } } }, "azure:privatelink/EndpointPrivateDnsZoneConfig:EndpointPrivateDnsZoneConfig": { "properties": { "id": { "type": "string", "description": "The ID of the Private DNS Zone Config.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "privateDnsZoneId": { "type": "string", "description": "A list of IP Addresses\n", "language": { "python": { "mapCase": false } } }, "recordSets": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/EndpointPrivateDnsZoneConfigRecordSet:EndpointPrivateDnsZoneConfigRecordSet" }, "description": "A `record_sets` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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 `private_dns_zone`.\n", "language": { "python": { "mapCase": false } } }, "ipAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of all IP Addresses that map to the `private_dns_zone` fqdn.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "ttl": { "type": "integer", "description": "The time to live for each connection to the `private_dns_zone`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The type of DNS record.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the Name of the Private DNS Zone Group. Changing this forces a new `private_dns_zone_group` resource to be created.\n", "language": { "python": { "mapCase": false } } }, "privateDnsZoneIds": { "type": "array", "items": { "type": "string" }, "description": "Specifies the list of Private DNS Zones to include within the `private_dns_zone_group`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies the Name of the Private Service Connection. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "privateConnectionResourceId": { "type": "string", "description": "The ID of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "(Computed) 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", "language": { "python": { "mapCase": false } } }, "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 request message can be a maximum of `140` characters in length. Only valid if `is_manual_connection` is set to `true`.\n", "language": { "python": { "mapCase": false } } }, "subresourceNames": { "type": "array", "items": { "type": "string" }, "description": "A list of subresource names which the Private Endpoint is able to connect to. `subresource_names` corresponds to `group_id`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "isManualConnection", "name", "privateConnectionResourceId" ], "language": { "nodejs": { "requiredOutputs": [ "isManualConnection", "name", "privateConnectionResourceId", "privateIpAddress" ] } } }, "azure:privatelink/getEndpointConnectionPrivateServiceConnection:getEndpointConnectionPrivateServiceConnection": { "properties": { "name": { "type": "string", "description": "Specifies the Name of the private endpoint.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "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 `request_response` will display the same text from your `request_message` in the `private_service_connection` 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 `request_response` 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 `request_response` text\n", "language": { "python": { "mapCase": false } } }, "status": { "type": "string", "description": "The current status of the private endpoint request, possible values will be `Pending`, `Approved`, `Rejected`, or `Disconnected`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "connectionId": { "type": "string", "description": "The resource id of the private link service connection between the private link service and the private link endpoint.\n", "language": { "python": { "mapCase": false } } }, "connectionName": { "type": "string", "description": "The name of the connection between the private link service and the private link endpoint.\n", "language": { "python": { "mapCase": false } } }, "description": { "type": "string", "description": "The request for approval message or the reason for rejection message.\n", "language": { "python": { "mapCase": false } } }, "privateEndpointId": { "type": "string", "description": "The resource id of the private link endpoint.\n", "language": { "python": { "mapCase": false } } }, "privateEndpointName": { "type": "string", "description": "The name of the private link endpoint.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "primary": { "type": "boolean", "description": "Value that indicates if the IP configuration is the primary configuration or not.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddress": { "type": "string", "description": "The private IP address of the NAT IP configuration.\n", "language": { "python": { "mapCase": false } } }, "privateIpAddressVersion": { "type": "string", "description": "The version of the IP Protocol.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The ID of the subnet to be used by the service.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "primary", "privateIpAddress", "privateIpAddressVersion", "subnetId" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:redis/CachePatchSchedule:CachePatchSchedule": { "properties": { "dayOfWeek": { "type": "string", "language": { "python": { "mapCase": false } } }, "startHourUtc": { "type": "integer", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dayOfWeek" ] }, "azure:redis/CacheRedisConfiguration:CacheRedisConfiguration": { "properties": { "aofBackupEnabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "aofStorageConnectionString0": { "type": "string", "language": { "python": { "mapCase": false } } }, "aofStorageConnectionString1": { "type": "string", "language": { "python": { "mapCase": false } } }, "enableAuthentication": { "type": "boolean", "description": "If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`.\n", "language": { "python": { "mapCase": false } } }, "maxclients": { "type": "integer", "description": "Returns the max number of connected clients at the same time.\n", "language": { "python": { "mapCase": false } } }, "maxfragmentationmemoryReserved": { "type": "integer", "description": "Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.\n", "language": { "python": { "mapCase": false } } }, "maxmemoryDelta": { "type": "integer", "description": "The max-memory delta for this Redis instance. Defaults are shown below.\n", "language": { "python": { "mapCase": false } } }, "maxmemoryPolicy": { "type": "string", "description": "How Redis will select what to remove when `maxmemory` is reached. Defaults are shown below.\n", "language": { "python": { "mapCase": false } } }, "maxmemoryReserved": { "type": "integer", "description": "Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "rdbBackupEnabled": { "type": "boolean", "description": "Is Backup Enabled? Only supported on Premium SKU's.\n", "language": { "python": { "mapCase": false } } }, "rdbBackupFrequency": { "type": "integer", "description": "The Backup Frequency in Minutes. Only supported on Premium SKU's. Possible values are: `15`, `30`, `60`, `360`, `720` and `1440`.\n", "language": { "python": { "mapCase": false } } }, "rdbBackupMaxSnapshotCount": { "type": "integer", "description": "The maximum number of snapshots to create as a backup. Only supported for Premium SKU's.\n", "language": { "python": { "mapCase": false } } }, "rdbStorageConnectionString": { "type": "string", "description": "The Connection String to the Storage Account. Only supported for Premium SKU's. 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", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "maxclients", "maxfragmentationmemoryReserved", "maxmemoryDelta", "maxmemoryReserved" ] } } }, "azure:redis/getCachePatchSchedule:getCachePatchSchedule": { "properties": { "dayOfWeek": { "type": "string", "description": "the Weekday name for the patch item\n", "language": { "python": { "mapCase": false } } }, "startHourUtc": { "type": "integer", "description": "The Start Hour for maintenance in UTC\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "dayOfWeek", "startHourUtc" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:redis/getCacheRedisConfiguration:getCacheRedisConfiguration": { "properties": { "aofBackupEnabled": { "type": "boolean", "language": { "python": { "mapCase": false } } }, "aofStorageConnectionString0": { "type": "string", "language": { "python": { "mapCase": false } } }, "aofStorageConnectionString1": { "type": "string", "language": { "python": { "mapCase": false } } }, "enableAuthentication": { "type": "boolean", "description": "Specifies if authentication is enabled\n", "language": { "python": { "mapCase": false } } }, "maxclients": { "type": "integer", "language": { "python": { "mapCase": false } } }, "maxfragmentationmemoryReserved": { "type": "integer", "description": "Value in megabytes reserved to accommodate for memory fragmentation.\n", "language": { "python": { "mapCase": false } } }, "maxmemoryDelta": { "type": "integer", "description": "The max-memory delta for this Redis instance.\n", "language": { "python": { "mapCase": false } } }, "maxmemoryPolicy": { "type": "string", "description": "How Redis will select what to remove when `maxmemory` is reached.\n", "language": { "python": { "mapCase": false } } }, "maxmemoryReserved": { "type": "integer", "description": "The value in megabytes reserved for non-cache usage e.g. failover\n", "language": { "python": { "mapCase": false } } }, "notifyKeyspaceEvents": { "type": "string", "language": { "python": { "mapCase": false } } }, "rdbBackupEnabled": { "type": "boolean", "description": "Is Backup Enabled? Only supported on Premium SKU's.\n", "language": { "python": { "mapCase": false } } }, "rdbBackupFrequency": { "type": "integer", "description": "The Backup Frequency in Minutes. Only supported on Premium SKU's.\n", "language": { "python": { "mapCase": false } } }, "rdbBackupMaxSnapshotCount": { "type": "integer", "description": "The maximum number of snapshots that can be created as a backup.\n", "language": { "python": { "mapCase": false } } }, "rdbStorageConnectionString": { "type": "string", "description": "The Connection String to the Storage Account. Only supported for Premium SKU's.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "aofBackupEnabled", "aofStorageConnectionString0", "aofStorageConnectionString1", "enableAuthentication", "maxclients", "maxfragmentationmemoryReserved", "maxmemoryDelta", "maxmemoryPolicy", "maxmemoryReserved", "notifyKeyspaceEvents", "rdbBackupEnabled", "rdbBackupFrequency", "rdbBackupMaxSnapshotCount", "rdbStorageConnectionString" ], "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } }, "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/en-us/azure/role-based-access-control/resource-provider-operations) for details.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:role/getRoleDefinitionPermission:getRoleDefinitionPermission": { "properties": { "actions": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "dataActions": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "notActions": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } }, "notDataActions": { "type": "array", "items": { "type": "string" }, "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actions", "notActions" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:search/ServiceQueryKey:ServiceQueryKey": { "properties": { "key": { "type": "string", "description": "The value of this Query Key.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "key", "name" ] } } }, "azure:servicebus/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule": { "properties": { "ignoreMissingVnetServiceEndpoint": { "type": "boolean", "description": "Should the ServiceBus Namespace Network Rule Set ignore missing Virtual Network Service Endpoint option in the Subnet? Defaults to `false`.\n", "language": { "python": { "mapCase": false } } }, "subnetId": { "type": "string", "description": "The Subnet ID which should be able to access this ServiceBus Namespace.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "subnetId" ] }, "azure:servicebus/SubscriptionRuleCorrelationFilter:SubscriptionRuleCorrelationFilter": { "properties": { "contentType": { "type": "string", "description": "Content type of the message.\n", "language": { "python": { "mapCase": false } } }, "correlationId": { "type": "string", "description": "Identifier of the correlation.\n", "language": { "python": { "mapCase": false } } }, "label": { "type": "string", "description": "Application specific label.\n", "language": { "python": { "mapCase": false } } }, "messageId": { "type": "string", "description": "Identifier of the message.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "replyTo": { "type": "string", "description": "Address of the queue to reply to.\n", "language": { "python": { "mapCase": false } } }, "replyToSessionId": { "type": "string", "description": "Session identifier to reply to.\n", "language": { "python": { "mapCase": false } } }, "sessionId": { "type": "string", "description": "Session identifier.\n", "language": { "python": { "mapCase": false } } }, "to": { "type": "string", "description": "Address to send to.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "clusterApplicationId": { "type": "string", "description": "The Azure Active Directory Cluster Application ID.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Azure Active Directory Tenant ID.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "clientApplicationId", "clusterApplicationId", "tenantId" ] }, "azure:servicefabric/ClusterCertificate:ClusterCertificate": { "properties": { "thumbprint": { "type": "string", "description": "The Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } }, "thumbprintSecondary": { "type": "string", "description": "The Secondary Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } }, "x509StoreName": { "type": "string", "description": "The X509 Store where the Certificate Exists, such as `My`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "thumbprint", "x509StoreName" ] }, "azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames": { "properties": { "commonNames": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterCertificateCommonNamesCommonName:ClusterCertificateCommonNamesCommonName" }, "description": "A `common_names` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "x509StoreName": { "type": "string", "description": "The X509 Store where the Certificate Exists, such as `My`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "commonNames", "x509StoreName" ] }, "azure:servicefabric/ClusterCertificateCommonNamesCommonName:ClusterCertificateCommonNamesCommonName": { "properties": { "certificateCommonName": { "type": "string", "description": "The common or subject name of the certificate.\n", "language": { "python": { "mapCase": false } } }, "certificateIssuerThumbprint": { "type": "string", "description": "The Issuer Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "certificateCommonName" ] }, "azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName": { "properties": { "commonName": { "type": "string", "description": "The common or subject name of the certificate.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "issuerThumbprint": { "type": "string", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "thumbprint": { "type": "string", "description": "The Thumbprint associated with the Client Certificate.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "isAdmin", "thumbprint" ] }, "azure:servicefabric/ClusterDiagnosticsConfig:ClusterDiagnosticsConfig": { "properties": { "blobEndpoint": { "type": "string", "description": "The Blob Endpoint of the Storage Account.\n", "language": { "python": { "mapCase": false } } }, "protectedAccountKeyName": { "type": "string", "description": "The protected diagnostics storage key name, such as `StorageAccountKey1`.\n", "language": { "python": { "mapCase": false } } }, "queueEndpoint": { "type": "string", "description": "The Queue Endpoint of the Storage Account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account where the Diagnostics should be sent to.\n", "language": { "python": { "mapCase": false } } }, "tableEndpoint": { "type": "string", "description": "The Table Endpoint of the Storage Account.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map containing settings for the specified Fabric Setting.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:servicefabric/ClusterNodeType:ClusterNodeType": { "properties": { "applicationPorts": { "$ref": "#/types/azure:servicefabric/ClusterNodeTypeApplicationPorts:ClusterNodeTypeApplicationPorts", "description": "A `application_ports` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "clientEndpointPort": { "type": "integer", "description": "The Port used for the Client Endpoint for this Node Type. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "durabilityLevel": { "type": "string", "description": "The Durability Level for this Node Type. Possible values include `Bronze`, `Gold` and `Silver`. Defaults to `Bronze`. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "ephemeralPorts": { "$ref": "#/types/azure:servicefabric/ClusterNodeTypeEphemeralPorts:ClusterNodeTypeEphemeralPorts", "description": "A `ephemeral_ports` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "httpEndpointPort": { "type": "integer", "description": "The Port used for the HTTP Endpoint for this Node Type. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "instanceCount": { "type": "integer", "description": "The number of nodes for this Node Type.\n", "language": { "python": { "mapCase": false } } }, "isPrimary": { "type": "boolean", "description": "Is this the Primary Node Type? Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "The name of the Node Type. Changing this forces a new resource to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "reverseProxyEndpointPort": { "type": "integer", "description": "The Port used for the Reverse Proxy Endpoint for this Node Type. Changing this will upgrade the cluster.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "startPort": { "type": "integer", "description": "The start of the Application Port Range on this Node Type.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "startPort": { "type": "integer", "description": "The start of the Ephemeral Port Range on this Node Type.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "endPort", "startPort" ] }, "azure:servicefabric/ClusterReverseProxyCertificate:ClusterReverseProxyCertificate": { "properties": { "thumbprint": { "type": "string", "description": "The Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } }, "thumbprintSecondary": { "type": "string", "description": "The Secondary Thumbprint of the Certificate.\n", "language": { "python": { "mapCase": false } } }, "x509StoreName": { "type": "string", "description": "The X509 Store where the Certificate Exists, such as `My`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "thumbprint", "x509StoreName" ] }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "allowedOrigins" ] }, "azure:signalr/ServiceFeature:ServiceFeature": { "properties": { "flag": { "type": "string", "description": "The kind of Feature. Possible values are `EnableConnectivityLogs`, `EnableMessagingLogs`, and `ServiceMode`.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "A value of a feature flag. Possible values are `Classic`, `Default` and `Serverless`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "flag", "value" ] }, "azure:signalr/ServiceSku:ServiceSku": { "properties": { "capacity": { "type": "integer", "description": "Specifies the number of units associated with this SignalR service. Valid values are `1`, `2`, `5`, `10`, `20`, `50` and `100`.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "Specifies which tier to use. Valid values are `Free_F1` and `Standard_S1`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "capacity", "name" ] }, "azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk": { "properties": { "diskId": { "type": "string", "description": "Id of disk that should be replicated.\n", "language": { "python": { "mapCase": false } } }, "stagingStorageAccountId": { "type": "string", "description": "Storage account that should be used for caching.\n", "language": { "python": { "mapCase": false } } }, "targetDiskType": { "type": "string", "description": "What type should the disk be when a failover is done.\n", "language": { "python": { "mapCase": false } } }, "targetReplicaDiskType": { "type": "string", "description": "What type should the disk be that holds the replication data.\n", "language": { "python": { "mapCase": false } } }, "targetResourceGroupId": { "type": "string", "description": "Resource group disk should belong to when a failover is done.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "diskId", "stagingStorageAccountId", "targetDiskType", "targetReplicaDiskType", "targetResourceGroupId" ] }, "azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface": { "properties": { "sourceNetworkInterfaceId": { "type": "string", "description": "Id source network interface.\n", "language": { "python": { "mapCase": false } } }, "targetStaticIp": { "type": "string", "description": "Static IP to assign when a failover is done.\n", "language": { "python": { "mapCase": false } } }, "targetSubnetName": { "type": "string", "description": "Name of the subnet to to use when a failover is done.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "sourceNetworkInterfaceId" ] } } }, "azure:sql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy": { "properties": { "retentionInDays": { "type": "integer", "description": "Specifies the number of days to retain logs for in the storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the access key to use for the auditing storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Specifies whether `storage_account_access_key` value is the storage's secondary key.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountAccessKey", "storageEndpoint" ] }, "azure:sql/DatabaseImport:DatabaseImport": { "properties": { "administratorLogin": { "type": "string", "description": "Specifies the name of the SQL administrator.\n", "language": { "python": { "mapCase": false } } }, "administratorLoginPassword": { "type": "string", "description": "Specifies the password of the SQL administrator.\n", "language": { "python": { "mapCase": false } } }, "authenticationType": { "type": "string", "description": "Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.\n", "language": { "python": { "mapCase": false } } }, "operationMode": { "type": "string", "description": "Specifies the type of import operation being performed. The only allowable value is `Import`.\n", "language": { "python": { "mapCase": false } } }, "storageKey": { "type": "string", "description": "Specifies the access key for the storage account.\n", "language": { "python": { "mapCase": false } } }, "storageKeyType": { "type": "string", "description": "Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.\n", "language": { "python": { "mapCase": false } } }, "storageUri": { "type": "string", "description": "Specifies the blob URI of the .bacpac file.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "administratorLogin", "administratorLoginPassword", "authenticationType", "storageKey", "storageKeyType", "storageUri" ] }, "azure:sql/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", "language": { "python": { "mapCase": false } } }, "emailAccountAdmins": { "type": "string", "description": "Should the account administrators be emailed when this alert is triggered?\n", "language": { "python": { "mapCase": false } } }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "A list of email addresses which alerts should be sent to.\n", "language": { "python": { "mapCase": false } } }, "retentionDays": { "type": "integer", "description": "Specifies the number of days to keep in the Threat Detection audit logs.\n", "language": { "python": { "mapCase": false } } }, "state": { "type": "string", "description": "The State of the Policy. Possible values are `Enabled`, `Disabled` or `New`.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.\n", "language": { "python": { "mapCase": false } } }, "useServerDefault": { "type": "string", "description": "Should the default server policy be used? Defaults to `Disabled`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:sql/FailoverGroupPartnerServer:FailoverGroupPartnerServer": { "properties": { "id": { "type": "string", "description": "the SQL server ID\n", "language": { "python": { "mapCase": false } } }, "location": { "type": "string", "description": "the location of the failover group.\n", "language": { "python": { "mapCase": false } } }, "role": { "type": "string", "description": "local replication role of the failover group instance.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id" ], "language": { "nodejs": { "requiredOutputs": [ "id", "location", "role" ] } } }, "azure:sql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy": { "properties": { "graceMinutes": { "type": "integer", "description": "Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted\n", "language": { "python": { "mapCase": false } } }, "mode": { "type": "string", "description": "the failover mode. Possible values are `Manual`, `Automatic`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "mode" ] }, "azure:sql/FailoverGroupReadonlyEndpointFailoverPolicy:FailoverGroupReadonlyEndpointFailoverPolicy": { "properties": { "mode": { "type": "string", "description": "Failover policy for the read-only endpoint. Possible values are `Enabled`, and `Disabled`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "mode" ] }, "azure:sql/SqlServerExtendedAuditingPolicy:SqlServerExtendedAuditingPolicy": { "properties": { "retentionInDays": { "type": "integer", "description": "(Optional) Specifies the number of days to retain logs for in the storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKey": { "type": "string", "description": "(Required) Specifies the access key to use for the auditing storage account.\n", "language": { "python": { "mapCase": false } } }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "(Optional) Specifies whether `storage_account_access_key` value is the storage's secondary key.\n", "language": { "python": { "mapCase": false } } }, "storageEndpoint": { "type": "string", "description": "(Required) Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "storageAccountAccessKey", "storageEndpoint" ] }, "azure:sql/SqlServerIdentity:SqlServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Identity of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Identity of this SQL Server.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the identity type of the Microsoft SQL Server. At this time the only allowed value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:sql/getServerIdentity:getServerIdentity": { "properties": { "principalId": { "type": "string", "description": "The ID of the Principal (Client) in Azure Active Directory.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The ID of the Azure Active Directory Tenant.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The identity type of the SQL Server.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "principalId", "tenantId", "type" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:storage/AccountBlobProperties:AccountBlobProperties": { "properties": { "corsRules": { "type": "array", "items": { "$ref": "#/types/azure:storage/AccountBlobPropertiesCorsRule:AccountBlobPropertiesCorsRule" }, "description": "A `cors_rule` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "deleteRetentionPolicy": { "$ref": "#/types/azure:storage/AccountBlobPropertiesDeleteRetentionPolicy:AccountBlobPropertiesDeleteRetentionPolicy", "description": "A `delete_retention_policy` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "allowedMethods": { "type": "array", "items": { "type": "string" }, "description": "A list of http headers that are allowed to be executed by the origin. Valid options are\n`DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PUT` or `PATCH`.\n", "language": { "python": { "mapCase": false } } }, "allowedOrigins": { "type": "array", "items": { "type": "string" }, "description": "A list of origin domains that will be allowed by CORS.\n", "language": { "python": { "mapCase": false } } }, "exposedHeaders": { "type": "array", "items": { "type": "string" }, "description": "A list of response headers that are exposed to CORS clients.\n", "language": { "python": { "mapCase": false } } }, "maxAgeInSeconds": { "type": "integer", "description": "The number of seconds the client should cache a preflight response.\n", "language": { "python": { "mapCase": false } } } }, "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 `1` and `365` days. Defaults to `7`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "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", "language": { "python": { "mapCase": false } } }, "useSubdomain": { "type": "boolean", "description": "Should the Custom Domain Name be validated by using indirect CNAME validation?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ] }, "azure:storage/AccountIdentity:AccountIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Identity of this Storage Account.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The Tenant ID for the Service Principal associated with the Identity of this Storage Account.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "Specifies the identity type of the Storage Account. At this time the only allowed value is `SystemAssigned`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ], "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:storage/AccountNetworkRules:AccountNetworkRules": { "properties": { "bypasses": { "type": "array", "items": { "type": "string" }, "description": "Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are\nany combination of `Logging`, `Metrics`, `AzureServices`, or `None`.\n", "language": { "python": { "mapCase": false } } }, "defaultAction": { "type": "string", "description": "Specifies the default action of allow or deny when no other rules match. Valid options are `Deny` or `Allow`.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of resource ids for subnets.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "defaultAction" ], "language": { "nodejs": { "requiredOutputs": [ "bypasses", "defaultAction", "ipRules", "virtualNetworkSubnetIds" ] } } }, "azure:storage/AccountQueueProperties:AccountQueueProperties": { "properties": { "corsRules": { "type": "array", "items": { "$ref": "#/types/azure:storage/AccountQueuePropertiesCorsRule:AccountQueuePropertiesCorsRule" }, "description": "A `cors_rule` block as defined above.\n", "language": { "python": { "mapCase": false } } }, "hourMetrics": { "$ref": "#/types/azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics", "description": "A `hour_metrics` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "logging": { "$ref": "#/types/azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging", "description": "A `logging` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "minuteMetrics": { "$ref": "#/types/azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics", "description": "A `minute_metrics` block as defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "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", "language": { "python": { "mapCase": false } } }, "allowedMethods": { "type": "array", "items": { "type": "string" }, "description": "A list of http headers that are allowed to be executed by the origin. Valid options are\n`DELETE`, `GET`, `HEAD`, `MERGE`, `POST`, `OPTIONS`, `PUT` or `PATCH`.\n", "language": { "python": { "mapCase": false } } }, "allowedOrigins": { "type": "array", "items": { "type": "string" }, "description": "A list of origin domains that will be allowed by CORS.\n", "language": { "python": { "mapCase": false } } }, "exposedHeaders": { "type": "array", "items": { "type": "string" }, "description": "A list of response headers that are exposed to CORS clients.\n", "language": { "python": { "mapCase": false } } }, "maxAgeInSeconds": { "type": "integer", "description": "The number of seconds the client should cache a preflight response.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "allowedHeaders", "allowedMethods", "allowedOrigins", "exposedHeaders", "maxAgeInSeconds" ] }, "azure:storage/AccountQueuePropertiesHourMetrics:AccountQueuePropertiesHourMetrics": { "properties": { "enabled": { "type": "boolean", "description": "Indicates whether hour metrics are enabled for the Queue service. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "includeApis": { "type": "boolean", "description": "Indicates whether metrics should generate summary statistics for called API operations.\n", "language": { "python": { "mapCase": false } } }, "retentionPolicyDays": { "type": "integer", "description": "Specifies the number of days that logs will be retained. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The version of storage analytics to configure. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "version" ] }, "azure:storage/AccountQueuePropertiesLogging:AccountQueuePropertiesLogging": { "properties": { "delete": { "type": "boolean", "description": "Indicates whether all delete requests should be logged. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "read": { "type": "boolean", "description": "Indicates whether all read requests should be logged. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "retentionPolicyDays": { "type": "integer", "description": "Specifies the number of days that logs will be retained. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The version of storage analytics to configure. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "write": { "type": "boolean", "description": "Indicates whether all write requests should be logged. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "delete", "read", "version", "write" ] }, "azure:storage/AccountQueuePropertiesMinuteMetrics:AccountQueuePropertiesMinuteMetrics": { "properties": { "enabled": { "type": "boolean", "description": "Indicates whether minute metrics are enabled for the Queue service. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "includeApis": { "type": "boolean", "description": "Indicates whether metrics should generate summary statistics for called API operations.\n", "language": { "python": { "mapCase": false } } }, "retentionPolicyDays": { "type": "integer", "description": "Specifies the number of days that logs will be retained. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The version of storage analytics to configure. Changing this forces a new resource.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "enabled", "version" ] }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:storage/ManagementPolicyRule:ManagementPolicyRule": { "properties": { "actions": { "$ref": "#/types/azure:storage/ManagementPolicyRuleActions:ManagementPolicyRuleActions", "description": "An `actions` block as documented below.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Boolean to specify whether the rule is enabled.\n", "language": { "python": { "mapCase": false } } }, "filters": { "$ref": "#/types/azure:storage/ManagementPolicyRuleFilters:ManagementPolicyRuleFilters", "description": "A `filter` block as documented below.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "actions", "enabled", "name" ] }, "azure:storage/ManagementPolicyRuleActions:ManagementPolicyRuleActions": { "properties": { "baseBlob": { "$ref": "#/types/azure:storage/ManagementPolicyRuleActionsBaseBlob:ManagementPolicyRuleActionsBaseBlob", "description": "A `base_blob` block as documented below.\n", "language": { "python": { "mapCase": false } } }, "snapshot": { "$ref": "#/types/azure:storage/ManagementPolicyRuleActionsSnapshot:ManagementPolicyRuleActionsSnapshot", "description": "A `snapshot` block as documented below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:storage/ManagementPolicyRuleActionsBaseBlob:ManagementPolicyRuleActionsBaseBlob": { "properties": { "deleteAfterDaysSinceModificationGreaterThan": { "type": "integer", "description": "The age in days after last modification to delete the blob. Must be at least 0.\n", "language": { "python": { "mapCase": false } } }, "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 at least 0.\n", "language": { "python": { "mapCase": false } } }, "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 at least 0.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:storage/ManagementPolicyRuleActionsSnapshot:ManagementPolicyRuleActionsSnapshot": { "properties": { "deleteAfterDaysSinceCreationGreaterThan": { "type": "integer", "description": "The age in days after create to delete the snaphot. Must be at least 0.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "prefixMatches": { "type": "array", "items": { "type": "string" }, "description": "An array of strings for prefixes to be matched.\n", "language": { "python": { "mapCase": false } } } }, "type": "object" }, "azure:storage/ShareAcl:ShareAcl": { "properties": { "accessPolicies": { "type": "array", "items": { "$ref": "#/types/azure:storage/ShareAclAccessPolicy:ShareAclAccessPolicy" }, "description": "An `access_policy` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID which should be used for this Shared Identifier.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "id" ] }, "azure:storage/ShareAclAccessPolicy:ShareAclAccessPolicy": { "properties": { "expiry": { "type": "string", "description": "The time at which this Access Policy should be valid until, in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n", "language": { "python": { "mapCase": false } } }, "permissions": { "type": "string", "description": "The permissions which should be associated with this Shared Identifier. Possible value is combination of `r` (read), `w` (write), `d` (delete), and `l` (list).\n", "language": { "python": { "mapCase": false } } }, "start": { "type": "string", "description": "The time at which this Access Policy should be valid from, in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "expiry", "permissions", "start" ] }, "azure:storage/TableAcl:TableAcl": { "properties": { "accessPolicies": { "type": "array", "items": { "$ref": "#/types/azure:storage/TableAclAccessPolicy:TableAclAccessPolicy" }, "description": "An `access_policy` block as defined below.\n", "language": { "python": { "mapCase": false } } }, "id": { "type": "string", "description": "The ID which should be used for this Shared Identifier.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "permissions": { "type": "string", "description": "The permissions which should associated with this Shared Identifier.\n", "language": { "python": { "mapCase": false } } }, "start": { "type": "string", "description": "The ISO8061 UTC time at which this Access Policy should be valid from.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "expiry", "permissions", "start" ] }, "azure:storage/getAccountBlobContainerSASPermissions:getAccountBlobContainerSASPermissions": { "properties": { "add": { "type": "boolean", "description": "Should Add permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "create": { "type": "boolean", "description": "Should Create permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "delete": { "type": "boolean", "description": "Should Delete permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "list": { "type": "boolean", "description": "Should List permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "read": { "type": "boolean", "description": "Should Read permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "write": { "type": "boolean", "description": "Should Write permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:storage/getAccountSASPermissions:getAccountSASPermissions": { "properties": { "add": { "type": "boolean", "description": "Should Add permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "create": { "type": "boolean", "description": "Should Create permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "delete": { "type": "boolean", "description": "Should Delete permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "list": { "type": "boolean", "description": "Should List permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "process": { "type": "boolean", "description": "Should Process permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "read": { "type": "boolean", "description": "Should Read permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "update": { "type": "boolean", "description": "Should Update permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } }, "write": { "type": "boolean", "description": "Should Write permissions be enabled for this SAS?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "add", "create", "delete", "list", "process", "read", "update", "write" ] }, "azure:storage/getAccountSASResourceTypes:getAccountSASResourceTypes": { "properties": { "container": { "type": "boolean", "description": "Should permission be granted to the container?\n", "language": { "python": { "mapCase": false } } }, "object": { "type": "boolean", "description": "Should permission be granted only to a specific object?\n", "language": { "python": { "mapCase": false } } }, "service": { "type": "boolean", "description": "Should permission be granted to the entire service?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "container", "object", "service" ] }, "azure:storage/getAccountSASServices:getAccountSASServices": { "properties": { "blob": { "type": "boolean", "description": "Should permission be granted to `blob` services within this storage account?\n", "language": { "python": { "mapCase": false } } }, "file": { "type": "boolean", "description": "Should permission be granted to `file` services within this storage account?\n", "language": { "python": { "mapCase": false } } }, "queue": { "type": "boolean", "description": "Should permission be granted to `queue` services within this storage account?\n", "language": { "python": { "mapCase": false } } }, "table": { "type": "boolean", "description": "Should permission be granted to `table` services within this storage account?\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "blob", "file", "queue", "table" ] }, "azure:storage/getPolicyRule:getPolicyRule": { "properties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:storage/getPolicyRuleAction:getPolicyRuleAction" }, "description": "An `actions` block as documented below.\n", "language": { "python": { "mapCase": false } } }, "enabled": { "type": "boolean", "description": "Boolean to specify whether the rule is enabled.\n", "language": { "python": { "mapCase": false } } }, "filters": { "type": "array", "items": { "$ref": "#/types/azure:storage/getPolicyRuleFilter:getPolicyRuleFilter" }, "description": "A `filter` block as documented below.\n", "language": { "python": { "mapCase": false } } }, "name": { "type": "string", "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy.\n", "language": { "python": { "mapCase": false } } } }, "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 `base_blob` block as documented below.\n", "language": { "python": { "mapCase": false } } }, "snapshots": { "type": "array", "items": { "$ref": "#/types/azure:storage/getPolicyRuleActionSnapshot:getPolicyRuleActionSnapshot" }, "description": "A `snapshot` block as documented below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "baseBlobs", "snapshots" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:storage/getPolicyRuleActionBaseBlob:getPolicyRuleActionBaseBlob": { "properties": { "deleteAfterDaysSinceModificationGreaterThan": { "type": "integer", "description": "The age in days after last modification to delete the blob.\n", "language": { "python": { "mapCase": false } } }, "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.\n", "language": { "python": { "mapCase": false } } }, "tierToCoolAfterDaysSinceModificationGreaterThan": { "type": "integer", "description": "The age in days after last modification to tier blobs to cool storage. Supports blob currently at Hot tier.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "deleteAfterDaysSinceModificationGreaterThan", "tierToArchiveAfterDaysSinceModificationGreaterThan", "tierToCoolAfterDaysSinceModificationGreaterThan" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:storage/getPolicyRuleActionSnapshot:getPolicyRuleActionSnapshot": { "properties": { "deleteAfterDaysSinceCreationGreaterThan": { "type": "integer", "description": "The age in days after create to delete the snaphot.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "deleteAfterDaysSinceCreationGreaterThan" ], "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", "language": { "python": { "mapCase": false } } }, "prefixMatches": { "type": "array", "items": { "type": "string" }, "description": "An array of strings for prefixes to be matched.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "blobTypes", "prefixMatches" ], "language": { "nodejs": { "requiredInputs": [] } } }, "azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput": { "properties": { "type": { "type": "string", "description": "The Data Type for the Input Argument of this JavaScript Function. Possible values include `array`, `any`, `bigint`, `datetime`, `float`, `nvarchar(max)` and `record`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ] }, "azure:streamanalytics/FunctionJavaScriptUDFOutput:FunctionJavaScriptUDFOutput": { "properties": { "type": { "type": "string", "description": "The Data Type output from this JavaScript Function. Possible values include `array`, `any`, `bigint`, `datetime`, `float`, `nvarchar(max)` and `record`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ] }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "format": { "type": "string", "description": "Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "format": { "type": "string", "description": "Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "format": { "type": "string", "description": "Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "format": { "type": "string", "description": "Specifies the format of the JSON the output will be written in. Possible values are `Array` and `LineSeparated`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for outgoing data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for the reference data. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "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", "language": { "python": { "mapCase": false } } }, "fieldDelimiter": { "type": "string", "description": "The delimiter that will be used to separate comma-separated value (CSV) records. Possible values are ` ` (space), `,` (comma), ` ` (tab), `|` (pipe) and `;`.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The serialization format used for incoming data streams. Possible values are `Avro`, `Csv` and `Json`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "type" ] }, "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 `5` and `10080`.\n", "language": { "python": { "mapCase": false } } } }, "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 `3` and `200`.\n", "language": { "python": { "mapCase": false } } }, "minNodeCount": { "type": "integer", "description": "The minimum number of nodes the Spark Pool can support. Must be between `3` and `200`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "maxNodeCount", "minNodeCount" ] }, "azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement": { "properties": { "content": { "type": "string", "description": "The content of library requirements.\n", "language": { "python": { "mapCase": false } } }, "filename": { "type": "string", "description": "The name of the library requirements file.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "content", "filename" ] }, "azure:synapse/SqlPoolRestore:SqlPoolRestore": { "properties": { "pointInTime": { "type": "string", "description": "Specifies the Snapshot time to restore. Changing this forces a new Synapse Sql Pool to be created.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "pointInTime", "sourceDatabaseId" ] }, "azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin": { "properties": { "login": { "type": "string", "description": "The login name of the Azure AD Administrator of this Synapse Workspace.\n", "language": { "python": { "mapCase": false } } }, "objectId": { "type": "string", "description": "The object id of the Azure AD Administrator of this Synapse Workspace.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The tenant id of the Azure AD Administrator of this Synapse Workspace.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "login", "objectId", "tenantId" ] }, "azure:synapse/WorkspaceIdentity:WorkspaceIdentity": { "properties": { "principalId": { "type": "string", "description": "The Principal ID for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n", "language": { "python": { "mapCase": false } } }, "tenantId": { "type": "string", "description": "The tenant id of the Azure AD Administrator of this Synapse Workspace.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The Identity Type for the Service Principal associated with the Managed Service Identity of this Synapse Workspace.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ "principalId", "tenantId", "type" ] } } }, "azure:trafficmanager/EndpointCustomHeader:EndpointCustomHeader": { "properties": { "name": { "type": "string", "description": "The name of the custom header.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of custom header. Applicable for Http and Https protocol.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "value" ] }, "azure:trafficmanager/EndpointSubnet:EndpointSubnet": { "properties": { "first": { "type": "string", "description": "The First IP....\n", "language": { "python": { "mapCase": false } } }, "last": { "type": "string", "description": "The Last IP...\n", "language": { "python": { "mapCase": false } } }, "scope": { "type": "integer", "description": "The Scope...\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "first" ] }, "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", "language": { "python": { "mapCase": false } } }, "ttl": { "type": "integer", "description": "The TTL value of the Profile used by Local DNS resolvers and clients.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "relativeName", "ttl" ] }, "azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig": { "properties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/ProfileMonitorConfigCustomHeader:ProfileMonitorConfigCustomHeader" }, "description": "One or more `custom_header` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "expectedStatusCodeRanges": { "type": "array", "items": { "type": "string" }, "description": "A list of status code ranges in the format of `100-101`.\n", "language": { "python": { "mapCase": false } } }, "intervalInSeconds": { "type": "integer", "description": "The interval used to check the endpoint health from a Traffic Manager probing agent. You can specify two values here: `30` (normal probing) and `10` (fast probing). The default value is `30`.\n", "language": { "python": { "mapCase": false } } }, "path": { "type": "string", "description": "The path used by the monitoring checks. Required when `protocol` is set to `HTTP` or `HTTPS` - cannot be set when `protocol` is set to `TCP`.\n", "language": { "python": { "mapCase": false } } }, "port": { "type": "integer", "description": "The port number used by the monitoring checks.\n", "language": { "python": { "mapCase": false } } }, "protocol": { "type": "string", "description": "The protocol used by the monitoring checks, supported values are `HTTP`, `HTTPS` and `TCP`.\n", "language": { "python": { "mapCase": false } } }, "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 `interval_in_seconds` is set to `30`, then `timeout_in_seconds` can be between `5` and `10`. The default value is `10`. If `interval_in_seconds` is set to `10`, then valid values are between `5` and `9` and `timeout_in_seconds` is required.\n", "language": { "python": { "mapCase": false } } }, "toleratedNumberOfFailures": { "type": "integer", "description": "The number of failures a Traffic Manager probing agent tolerates before marking that endpoint as unhealthy. Valid values are between `0` and `9`. The default value is `3`\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "port", "protocol" ] }, "azure:trafficmanager/ProfileMonitorConfigCustomHeader:ProfileMonitorConfigCustomHeader": { "properties": { "name": { "type": "string", "description": "The name of the custom header.\n", "language": { "python": { "mapCase": false } } }, "value": { "type": "string", "description": "The value of custom header. Applicable for Http and Https protocol.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "name", "value" ] }, "azure:waf/PolicyCustomRule:PolicyCustomRule": { "properties": { "action": { "type": "string", "description": "Type of action.\n", "language": { "python": { "mapCase": false } } }, "matchConditions": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyCustomRuleMatchCondition:PolicyCustomRuleMatchCondition" }, "description": "One or more `match_conditions` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "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", "language": { "python": { "mapCase": false } } }, "priority": { "type": "integer", "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.\n", "language": { "python": { "mapCase": false } } }, "ruleType": { "type": "string", "description": "Describes the type of rule.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "action", "matchConditions", "priority", "ruleType" ] }, "azure:waf/PolicyCustomRuleMatchCondition:PolicyCustomRuleMatchCondition": { "properties": { "matchValues": { "type": "array", "items": { "type": "string" }, "description": "A list of match values.\n", "language": { "python": { "mapCase": false } } }, "matchVariables": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyCustomRuleMatchConditionMatchVariable:PolicyCustomRuleMatchConditionMatchVariable" }, "description": "One or more `match_variables` blocks as defined below.\n", "language": { "python": { "mapCase": false } } }, "negationCondition": { "type": "boolean", "description": "Describes if this is negate condition or not\n", "language": { "python": { "mapCase": false } } }, "operator": { "type": "string", "description": "Describes operator to be matched.\n", "language": { "python": { "mapCase": false } } }, "transforms": { "type": "array", "items": { "type": "string" }, "description": "A list of transformations to do before the match is attempted.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchValues", "matchVariables", "operator" ] }, "azure:waf/PolicyCustomRuleMatchConditionMatchVariable:PolicyCustomRuleMatchConditionMatchVariable": { "properties": { "selector": { "type": "string", "description": "Describes field of the matchVariable collection\n", "language": { "python": { "mapCase": false } } }, "variableName": { "type": "string", "description": "The name of the Match Variable\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "variableName" ] }, "azure:waf/PolicyManagedRules:PolicyManagedRules": { "properties": { "exclusions": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyManagedRulesExclusion:PolicyManagedRulesExclusion" }, "description": "One or more `exclusion` block defined below.\n", "language": { "python": { "mapCase": false } } }, "managedRuleSets": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyManagedRulesManagedRuleSet:PolicyManagedRulesManagedRuleSet" }, "description": "One or more `managed_rule_set` block defined below.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "managedRuleSets" ] }, "azure:waf/PolicyManagedRulesExclusion:PolicyManagedRulesExclusion": { "properties": { "matchVariable": { "type": "string", "description": "The name of the Match Variable. Possible values: `RequestArgNames`, `RequestCookieNames`, `RequestHeaderNames`.\n", "language": { "python": { "mapCase": false } } }, "selector": { "type": "string", "description": "Describes field of the matchVariable collection.\n", "language": { "python": { "mapCase": false } } }, "selectorMatchOperator": { "type": "string", "description": "Describes operator to be matched. Possible values: `Contains`, `EndsWith`, `Equals`, `EqualsAny`, `StartsWith`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "matchVariable", "selector", "selectorMatchOperator" ] }, "azure:waf/PolicyManagedRulesManagedRuleSet:PolicyManagedRulesManagedRuleSet": { "properties": { "ruleGroupOverrides": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyManagedRulesManagedRuleSetRuleGroupOverride:PolicyManagedRulesManagedRuleSetRuleGroupOverride" }, "description": "One or more `rule_group_override` block defined below.\n", "language": { "python": { "mapCase": false } } }, "type": { "type": "string", "description": "The rule set type. Possible values: `Microsoft_BotManagerRuleSet` and `OWASP`.\n", "language": { "python": { "mapCase": false } } }, "version": { "type": "string", "description": "The rule set version. Possible values: `0.1`, `1.0`, `2.2.9`, `3.0` and `3.1`.\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "version" ] }, "azure:waf/PolicyManagedRulesManagedRuleSetRuleGroupOverride:PolicyManagedRulesManagedRuleSetRuleGroupOverride": { "properties": { "disabledRules": { "type": "array", "items": { "type": "string" }, "description": "One or more Rule ID's\n", "language": { "python": { "mapCase": false } } }, "ruleGroupName": { "type": "string", "description": "The name of the Rule Group\n", "language": { "python": { "mapCase": false } } } }, "type": "object", "required": [ "disabledRules", "ruleGroupName" ] }, "azure:waf/PolicyPolicySettings:PolicyPolicySettings": { "properties": { "enabled": { "type": "boolean", "description": "Describes if the policy is in enabled state or disabled state. Defaults to `Enabled`.\n", "language": { "python": { "mapCase": false } } }, "fileUploadLimitInMb": { "type": "integer", "language": { "python": { "mapCase": false } } }, "maxRequestBodySizeInKb": { "type": "integer", "language": { "python": { "mapCase": false } } }, "mode": { "type": "string", "description": "Describes if it is in detection mode or prevention mode at the policy level. Defaults to `Prevention`.\n", "language": { "python": { "mapCase": false } } }, "requestBodyCheck": { "type": "boolean", "description": "Is Request Body Inspection enabled? Defaults to `true`.\n", "language": { "python": { "mapCase": false } } } }, "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", "inputProperties": { "auxiliaryTenantIds": { "type": "array", "items": { "type": "string" } }, "clientCertificatePassword": { "type": "string", "description": "The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client\nCertificate\n" }, "clientCertificatePath": { "type": "string", "description": "The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service\nPrincipal using a Client Certificate.\n" }, "clientId": { "type": "string", "description": "The Client ID which should be used.\n" }, "clientSecret": { "type": "string", "description": "The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.\n" }, "disableCorrelationRequestId": { "type": "boolean", "description": "This will disable the x-ms-correlation-request-id header.\n" }, "disableTerraformPartnerId": { "type": "boolean", "description": "This will disable the Terraform Partner ID which is used if a custom `partner_id` isn't specified.\n" }, "environment": { "type": "string", "description": "The Cloud Environment which should be used. Possible values are public, usgovernment, german, and china. Defaults to\npublic.\n", "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.\n", "default": "", "defaultInfo": { "environment": [ "ARM_METADATA_HOSTNAME" ] } }, "metadataUrl": { "type": "string", "description": "Deprecated - replaced by `metadata_host`.\n", "default": "", "defaultInfo": { "environment": [ "ARM_METADATA_URL" ] }, "deprecationMessage": "use `metadata_host` instead" }, "msiEndpoint": { "type": "string", "description": "The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected\nautomatically.\n" }, "partnerId": { "type": "string", "description": "A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.\n" }, "skipCredentialsValidation": { "type": "boolean", "description": "This will cause the AzureRM Provider to skip verifying the credentials being used are valid.\n" }, "skipProviderRegistration": { "type": "boolean", "description": "Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already\nregistered?\n", "default": false, "defaultInfo": { "environment": [ "ARM_SKIP_PROVIDER_REGISTRATION" ] } }, "storageUseAzuread": { "type": "boolean", "description": "Should the AzureRM Provider use AzureAD to access the Storage Data Plane API's?\n", "default": false, "defaultInfo": { "environment": [ "ARM_STORAGE_USE_AZUREAD" ] } }, "subscriptionId": { "type": "string", "description": "The Subscription ID which should be used.\n", "default": "", "defaultInfo": { "environment": [ "ARM_SUBSCRIPTION_ID" ] } }, "tenantId": { "type": "string", "description": "The Tenant ID which should be used.\n" }, "useMsi": { "type": "boolean", "description": "Allowed Managed Service Identity be used for Authentication.\n" } } }, "resources": { "azure:analysisservices/server:Server": { "description": "Manages an Analysis Services Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"northeurope\"});\nconst server = new azure.analysisservices.Server(\"server\", {\n location: \"northeurope\",\n resourceGroupName: rg.name,\n sku: \"S0\",\n adminUsers: [\"myuser@domain.tld\"],\n enablePowerBiService: 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\nrg = azure.core.ResourceGroup(\"rg\", location=\"northeurope\")\nserver = azure.analysisservices.Server(\"server\",\n location=\"northeurope\",\n resource_group_name=rg.name,\n sku=\"S0\",\n admin_users=[\"myuser@domain.tld\"],\n enable_power_bi_service=True,\n ipv4_firewall_rules=[azure.analysisservices.ServerIpv4FirewallRuleArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var server = new Azure.AnalysisServices.Server(\"server\", new Azure.AnalysisServices.ServerArgs\n {\n Location = \"northeurope\",\n ResourceGroupName = rg.Name,\n Sku = \"S0\",\n AdminUsers = \n {\n \"myuser@domain.tld\",\n },\n EnablePowerBiService = true,\n Ipv4FirewallRules = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/analysisservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"northeurope\"),\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\tLocation: pulumi.String(\"northeurope\"),\n\t\t\tResourceGroupName: rg.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\tEnablePowerBiService: 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\n\u003e **NOTE:** The server resource will automatically be started and stopped during an update if it is in `paused` state.\n{{% /example %}}\n{{% /examples %}}", "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" }, "enablePowerBiService": { "type": "boolean", "description": "Indicates if the Power BI service is allowed to access or not.\n" }, "ipv4FirewallRules": { "type": "array", "items": { "$ref": "#/types/azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule" }, "description": "One or more `ipv4_firewall_rule` 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": "Specifies the name of the firewall rule.\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.\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" } } }, "required": [ "location", "name", "querypoolConnectionMode", "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" }, "enablePowerBiService": { "type": "boolean", "description": "Indicates if the Power BI service is allowed to access or not.\n" }, "ipv4FirewallRules": { "type": "array", "items": { "$ref": "#/types/azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule" }, "description": "One or more `ipv4_firewall_rule` 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": "Specifies the name of the firewall rule.\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.\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" }, "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" } } }, "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" }, "enablePowerBiService": { "type": "boolean", "description": "Indicates if the Power BI service is allowed to access or not.\n" }, "ipv4FirewallRules": { "type": "array", "items": { "$ref": "#/types/azure:analysisservices/ServerIpv4FirewallRule:ServerIpv4FirewallRule" }, "description": "One or more `ipv4_firewall_rule` 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": "Specifies the name of the firewall rule.\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.\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" } } }, "type": "object" } }, "azure:apimanagement/api:Api": { "description": "Manages an API within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"exampleApi\", {\n resourceGroupName: exampleResourceGroup.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: \"http://conferenceapi.azurewebsites.net/?format=json\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"exampleApi\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n revision=\"1\",\n display_name=\"Example API\",\n path=\"example\",\n protocols=[\"https\"],\n import_=azure.apimanagement.ApiImportArgs(\n content_format=\"swagger-link-json\",\n content_value=\"http://conferenceapi.azurewebsites.net/?format=json\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n var exampleApi = new Azure.ApiManagement.Api(\"exampleApi\", new Azure.ApiManagement.ApiArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n Revision = \"1\",\n DisplayName = \"Example API\",\n Path = \"example\",\n Protocols = \n {\n \"https\",\n },\n Import = new Azure.ApiManagement.Inputs.ApiImportArgs\n {\n ContentFormat = \"swagger-link-json\",\n ContentValue = \"http://conferenceapi.azurewebsites.net/?format=json\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleApi\", \u0026apimanagement.ApiArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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(\"http://conferenceapi.azurewebsites.net/?format=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{{% /example %}}\n{{% /examples %}}", "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" }, "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 `import` block as documented below.\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" }, "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 `oauth2_authorization` block as documented below.\n" }, "openidAuthentication": { "$ref": "#/types/azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication", "description": "An `openid_authentication` 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 `http` and `https`.\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.\n" }, "serviceUrl": { "type": "string", "description": "Absolute URL of the backend service implementing this API.\n" }, "soapPassThrough": { "type": "boolean", "description": "Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to `false`.\n" }, "subscriptionKeyParameterNames": { "$ref": "#/types/azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames", "description": "A `subscription_key_parameter_names` block as documented below.\n" }, "subscriptionRequired": { "type": "boolean", "description": "Should this API require a subscription key?\n" }, "version": { "type": "string", "description": "The Version number of this API, if this API is versioned.\n" }, "versionSetId": { "type": "string", "description": "The ID of the Version Set which this API is associated with.\n" } }, "required": [ "apiManagementName", "displayName", "isCurrent", "isOnline", "name", "path", "protocols", "resourceGroupName", "revision", "serviceUrl", "subscriptionKeyParameterNames", "subscriptionRequired", "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" }, "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 `import` 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 `oauth2_authorization` block as documented below.\n" }, "openidAuthentication": { "$ref": "#/types/azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication", "description": "An `openid_authentication` 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 `http` and `https`.\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.\n" }, "serviceUrl": { "type": "string", "description": "Absolute URL of the backend service implementing this API.\n" }, "soapPassThrough": { "type": "boolean", "description": "Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to `false`.\n" }, "subscriptionKeyParameterNames": { "$ref": "#/types/azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames", "description": "A `subscription_key_parameter_names` block as documented below.\n" }, "subscriptionRequired": { "type": "boolean", "description": "Should this API require a subscription key?\n" }, "version": { "type": "string", "description": "The Version number of this API, if this API is versioned.\n" }, "versionSetId": { "type": "string", "description": "The ID of the Version Set which this API is associated with.\n" } }, "requiredInputs": [ "apiManagementName", "displayName", "path", "protocols", "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" }, "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 `import` block as documented below.\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" }, "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 `oauth2_authorization` block as documented below.\n" }, "openidAuthentication": { "$ref": "#/types/azure:apimanagement/ApiOpenidAuthentication:ApiOpenidAuthentication", "description": "An `openid_authentication` 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 `http` and `https`.\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.\n" }, "serviceUrl": { "type": "string", "description": "Absolute URL of the backend service implementing this API.\n" }, "soapPassThrough": { "type": "boolean", "description": "Should this API expose a SOAP frontend, rather than a HTTP frontend? Defaults to `false`.\n" }, "subscriptionKeyParameterNames": { "$ref": "#/types/azure:apimanagement/ApiSubscriptionKeyParameterNames:ApiSubscriptionKeyParameterNames", "description": "A `subscription_key_parameter_names` block as documented below.\n" }, "subscriptionRequired": { "type": "boolean", "description": "Should this API require a subscription key?\n" }, "version": { "type": "string", "description": "The Version number of this API, if this API is versioned.\n" }, "versionSetId": { "type": "string", "description": "The ID of the Version Set which this API is associated with.\n" } }, "type": "object" } }, "azure:apimanagement/apiDiagnostic:ApiDiagnostic": { "description": "Manages a API Management Service API Diagnostics Logs.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"web\",\n});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@terraform.io\",\n skuName: \"Developer_1\",\n});\nconst exampleApi = new azure.apimanagement.Api(\"exampleApi\", {\n resourceGroupName: exampleResourceGroup.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: \"http://conferenceapi.azurewebsites.net/?format=json\",\n },\n});\nconst exampleLogger = new azure.apimanagement.Logger(\"exampleLogger\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n applicationInsights: {\n instrumentationKey: exampleInsights.instrumentationKey,\n },\n});\nconst exampleApiDiagnostic = new azure.apimanagement.ApiDiagnostic(\"exampleApiDiagnostic\", {\n resourceGroupName: exampleResourceGroup.name,\n apiManagementName: exampleService.name,\n apiName: exampleApi.name,\n apiManagementLoggerId: exampleLogger.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@terraform.io\",\n sku_name=\"Developer_1\")\nexample_api = azure.apimanagement.Api(\"exampleApi\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n revision=\"1\",\n display_name=\"Example API\",\n path=\"example\",\n protocols=[\"https\"],\n import_=azure.apimanagement.ApiImportArgs(\n content_format=\"swagger-link-json\",\n content_value=\"http://conferenceapi.azurewebsites.net/?format=json\",\n ))\nexample_logger = azure.apimanagement.Logger(\"exampleLogger\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n application_insights=azure.apimanagement.LoggerApplicationInsightsArgs(\n instrumentation_key=example_insights.instrumentation_key,\n ))\nexample_api_diagnostic = azure.apimanagement.ApiDiagnostic(\"exampleApiDiagnostic\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n api_name=example_api.name,\n api_management_logger_id=example_logger.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@terraform.io\",\n SkuName = \"Developer_1\",\n });\n var exampleApi = new Azure.ApiManagement.Api(\"exampleApi\", new Azure.ApiManagement.ApiArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n Revision = \"1\",\n DisplayName = \"Example API\",\n Path = \"example\",\n Protocols = \n {\n \"https\",\n },\n Import = new Azure.ApiManagement.Inputs.ApiImportArgs\n {\n ContentFormat = \"swagger-link-json\",\n ContentValue = \"http://conferenceapi.azurewebsites.net/?format=json\",\n },\n });\n var exampleLogger = new Azure.ApiManagement.Logger(\"exampleLogger\", new Azure.ApiManagement.LoggerArgs\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs\n {\n InstrumentationKey = exampleInsights.InstrumentationKey,\n },\n });\n var exampleApiDiagnostic = new Azure.ApiManagement.ApiDiagnostic(\"exampleApiDiagnostic\", new Azure.ApiManagement.ApiDiagnosticArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n ApiName = exampleApi.Name,\n ApiManagementLoggerId = exampleLogger.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleApi\", \u0026apimanagement.ApiArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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(\"http://conferenceapi.azurewebsites.net/?format=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, \"exampleLogger\", \u0026apimanagement.LoggerArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleApiDiagnostic\", \u0026apimanagement.ApiDiagnosticArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tApiName: exampleApi.Name,\n\t\t\tApiManagementLoggerId: exampleLogger.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "identifier": { "type": "string", "description": "Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.\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" } }, "required": [ "apiManagementLoggerId", "apiManagementName", "apiName", "identifier", "resourceGroupName" ], "inputProperties": { "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" }, "identifier": { "type": "string", "description": "Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.\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" } }, "requiredInputs": [ "apiManagementLoggerId", "apiManagementName", "apiName", "identifier", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering ApiDiagnostic resources.\n", "properties": { "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" }, "identifier": { "type": "string", "description": "Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.\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" } }, "type": "object" } }, "azure:apimanagement/apiOperation:ApiOperation": { "description": "Manages an API Operation within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleApi = 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(\"exampleApiOperation\", {\n operationId: \"user-delete\",\n apiName: exampleApi.then(exampleApi =\u003e exampleApi.name),\n apiManagementName: exampleApi.then(exampleApi =\u003e exampleApi.apiManagementName),\n resourceGroupName: exampleApi.then(exampleApi =\u003e exampleApi.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 responses: [{\n statusCode: 200,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_api = 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(\"exampleApiOperation\",\n operation_id=\"user-delete\",\n api_name=example_api.name,\n api_management_name=example_api.api_management_name,\n resource_group_name=example_api.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 responses=[azure.apimanagement.ApiOperationResponseArgs(\n status_code=200,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApi = Output.Create(Azure.ApiManagement.GetApi.InvokeAsync(new Azure.ApiManagement.GetApiArgs\n {\n Name = \"search-api\",\n ApiManagementName = \"search-api-management\",\n ResourceGroupName = \"search-service\",\n Revision = \"2\",\n }));\n var exampleApiOperation = new Azure.ApiManagement.ApiOperation(\"exampleApiOperation\", new Azure.ApiManagement.ApiOperationArgs\n {\n OperationId = \"user-delete\",\n ApiName = exampleApi.Apply(exampleApi =\u003e exampleApi.Name),\n ApiManagementName = exampleApi.Apply(exampleApi =\u003e exampleApi.ApiManagementName),\n ResourceGroupName = exampleApi.Apply(exampleApi =\u003e exampleApi.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 Responses = \n {\n new Azure.ApiManagement.Inputs.ApiOperationResponseArgs\n {\n StatusCode = 200,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApi, 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, \"exampleApiOperation\", \u0026apimanagement.ApiOperationArgs{\n\t\t\tOperationId: pulumi.String(\"user-delete\"),\n\t\t\tApiName: pulumi.String(exampleApi.Name),\n\t\t\tApiManagementName: pulumi.String(exampleApi.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(exampleApi.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\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{{% /example %}}\n{{% /examples %}}", "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 `request` 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 `response` blocks as defined below.\n" }, "templateParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter" }, "description": "One or more `template_parameter` blocks as defined below.\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" }, "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 `request` 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 `response` blocks as defined below.\n" }, "templateParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter" }, "description": "One or more `template_parameter` blocks as defined below.\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" }, "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 `request` 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 `response` blocks as defined below.\n" }, "templateParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ApiOperationTemplateParameter:ApiOperationTemplateParameter" }, "description": "One or more `template_parameter` blocks as defined below.\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\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleApiOperation = new azure.apimanagement.ApiOperation(\"exampleApiOperation\", {});\n//...\nconst exampleApiOperationPolicy = new azure.apimanagement.ApiOperationPolicy(\"exampleApiOperationPolicy\", {\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_api_operation = azure.apimanagement.ApiOperation(\"exampleApiOperation\")\n#...\nexample_api_operation_policy = azure.apimanagement.ApiOperationPolicy(\"exampleApiOperationPolicy\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApiOperation = new Azure.ApiManagement.ApiOperation(\"exampleApiOperation\", new Azure.ApiManagement.ApiOperationArgs\n {\n });\n //...\n var exampleApiOperationPolicy = new Azure.ApiManagement.ApiOperationPolicy(\"exampleApiOperationPolicy\", new Azure.ApiManagement.ApiOperationPolicyArgs\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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApiOperation, err := apimanagement.NewApiOperation(ctx, \"exampleApiOperation\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apimanagement.NewApiOperationPolicy(ctx, \"exampleApiOperationPolicy\", \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(fmt.Sprintf(\"%v%v%v%v%v\", \"\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{{% /example %}}\n{{% /examples %}}", "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 Operation within the API Management Service. Changing this forces a new resource to be created.\n" }, "operationId": { "type": "string" }, "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" }, "apiName": { "type": "string", "description": "The ID of the API Management API Operation within the API Management Service. Changing this forces a new resource to be created.\n" }, "operationId": { "type": "string" }, "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" } }, "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" }, "apiName": { "type": "string", "description": "The ID of the API Management API Operation within the API Management Service. Changing this forces a new resource to be created.\n" }, "operationId": { "type": "string" }, "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" } }, "type": "object" } }, "azure:apimanagement/apiPolicy:ApiPolicy": { "description": "Manages an API Management API Policy\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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:apimanagement/apiSchema:ApiSchema": { "description": "Manages an API Schema within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleApi = 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(\"exampleApiSchema\", {\n apiName: exampleApi.then(exampleApi =\u003e exampleApi.name),\n apiManagementName: exampleApi.then(exampleApi =\u003e exampleApi.apiManagementName),\n resourceGroupName: exampleApi.then(exampleApi =\u003e exampleApi.resourceGroupName),\n schemaId: \"example-sche,a\",\n contentType: \"application/vnd.ms-azure-apim.xsd+xml\",\n value: fs.readFileSync(\"api_management_api_schema.xml\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_api = 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(\"exampleApiSchema\",\n api_name=example_api.name,\n api_management_name=example_api.api_management_name,\n resource_group_name=example_api.resource_group_name,\n schema_id=\"example-sche,a\",\n content_type=\"application/vnd.ms-azure-apim.xsd+xml\",\n value=(lambda path: open(path).read())(\"api_management_api_schema.xml\"))\n```\n```csharp\nusing System.IO;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApi = Output.Create(Azure.ApiManagement.GetApi.InvokeAsync(new Azure.ApiManagement.GetApiArgs\n {\n Name = \"search-api\",\n ApiManagementName = \"search-api-management\",\n ResourceGroupName = \"search-service\",\n Revision = \"2\",\n }));\n var exampleApiSchema = new Azure.ApiManagement.ApiSchema(\"exampleApiSchema\", new Azure.ApiManagement.ApiSchemaArgs\n {\n ApiName = exampleApi.Apply(exampleApi =\u003e exampleApi.Name),\n ApiManagementName = exampleApi.Apply(exampleApi =\u003e exampleApi.ApiManagementName),\n ResourceGroupName = exampleApi.Apply(exampleApi =\u003e exampleApi.ResourceGroupName),\n SchemaId = \"example-sche,a\",\n ContentType = \"application/vnd.ms-azure-apim.xsd+xml\",\n Value = File.ReadAllText(\"api_management_api_schema.xml\"),\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "contentType": { "type": "string", "description": "The content type of the API 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 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", "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" }, "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" }, "contentType": { "type": "string", "description": "The content type of the API 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 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" } }, "requiredInputs": [ "apiManagementName", "apiName", "contentType", "resourceGroupName", "schemaId", "value" ], "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" }, "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" }, "contentType": { "type": "string", "description": "The content type of the API 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 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" } }, "type": "object" } }, "azure:apimanagement/apiVersionSet:ApiVersionSet": { "description": "Manages an API Version Set within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Developer_1\",\n});\nconst exampleApiVersionSet = new azure.apimanagement.ApiVersionSet(\"exampleApiVersionSet\", {\n resourceGroupName: exampleResourceGroup.name,\n apiManagementName: exampleService.name,\n displayName: \"ExampleAPIVersionSet\",\n versioningScheme: \"Segment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\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_api_version_set = azure.apimanagement.ApiVersionSet(\"exampleApiVersionSet\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n display_name=\"ExampleAPIVersionSet\",\n versioning_scheme=\"Segment\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Developer_1\",\n });\n var exampleApiVersionSet = new Azure.ApiManagement.ApiVersionSet(\"exampleApiVersionSet\", new Azure.ApiManagement.ApiVersionSetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n DisplayName = \"ExampleAPIVersionSet\",\n VersioningScheme = \"Segment\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\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\t_, err = apimanagement.NewApiVersionSet(ctx, \"exampleApiVersionSet\", \u0026apimanagement.ApiVersionSetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "apiManagementName": { "type": "string", "description": "The name of the API Management Service in which the API Version Set should exist. 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. 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" }, "versionQueryName": { "type": "string", "description": "The name of the Query String which should be read from Inbound Requests which defines the API Version.\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. 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. 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" }, "versionQueryName": { "type": "string", "description": "The name of the Query String which should be read from Inbound Requests which defines the API Version.\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. 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. 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" }, "versionQueryName": { "type": "string", "description": "The name of the Query String which should be read from Inbound Requests which defines the API Version.\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\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleApi = azure.apimanagement.getApi({\n name: \"search-api\",\n apiManagementName: \"search-api-management\",\n resourceGroupName: \"search-service\",\n revision: \"2\",\n});\nconst exampleAuthorizationServer = new azure.apimanagement.AuthorizationServer(\"exampleAuthorizationServer\", {\n apiManagementName: data.azurerm_api_management.example.name,\n resourceGroupName: data.azurerm_api_management.example.resource_group_name,\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});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_api = azure.apimanagement.get_api(name=\"search-api\",\n api_management_name=\"search-api-management\",\n resource_group_name=\"search-service\",\n revision=\"2\")\nexample_authorization_server = azure.apimanagement.AuthorizationServer(\"exampleAuthorizationServer\",\n api_management_name=data[\"azurerm_api_management\"][\"example\"][\"name\"],\n resource_group_name=data[\"azurerm_api_management\"][\"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```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApi = Output.Create(Azure.ApiManagement.GetApi.InvokeAsync(new Azure.ApiManagement.GetApiArgs\n {\n Name = \"search-api\",\n ApiManagementName = \"search-api-management\",\n ResourceGroupName = \"search-service\",\n Revision = \"2\",\n }));\n var exampleAuthorizationServer = new Azure.ApiManagement.AuthorizationServer(\"exampleAuthorizationServer\", new Azure.ApiManagement.AuthorizationServerArgs\n {\n ApiManagementName = data.Azurerm_api_management.Example.Name,\n ResourceGroupName = data.Azurerm_api_management.Example.Resource_group_name,\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 {\n \"authorizationCode\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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.NewAuthorizationServer(ctx, \"exampleAuthorizationServer\", \u0026apimanagement.AuthorizationServerArgs{\n\t\t\tApiManagementName: pulumi.Any(data.Azurerm_api_management.Example.Name),\n\t\t\tResourceGroupName: pulumi.Any(data.Azurerm_api_management.Example.Resource_group_name),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "bearerTokenSendingMethods": { "type": "array", "items": { "type": "string" }, "description": "The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.\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" }, "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`, `implicit` 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" }, "resourceOwnerUsername": { "type": "string", "description": "The username associated with the Resource Owner.\n" }, "supportState": { "type": "boolean", "description": "Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.\n" }, "tokenBodyParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter" } }, "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" }, "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" }, "bearerTokenSendingMethods": { "type": "array", "items": { "type": "string" }, "description": "The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.\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" }, "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`, `implicit` 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" }, "resourceOwnerUsername": { "type": "string", "description": "The username associated with the Resource Owner.\n" }, "supportState": { "type": "boolean", "description": "Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.\n" }, "tokenBodyParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter" } }, "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" }, "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" }, "bearerTokenSendingMethods": { "type": "array", "items": { "type": "string" }, "description": "The mechanism by which Access Tokens are passed to the API. Possible values are `authorizationHeader` and `query`.\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" }, "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`, `implicit` 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" }, "resourceOwnerUsername": { "type": "string", "description": "The username associated with the Resource Owner.\n" }, "supportState": { "type": "boolean", "description": "Does this Authorization Server support State? If this is set to `true` the client may use the state parameter to raise protocol security.\n" }, "tokenBodyParameters": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/AuthorizationServerTokenBodyParameter:AuthorizationServerTokenBodyParameter" } }, "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", "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" }, "credentials": { "$ref": "#/types/azure:apimanagement/BackendCredentials:BackendCredentials", "description": "A `credentials` 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 `http` or `soap`.\n" }, "proxy": { "$ref": "#/types/azure:apimanagement/BackendProxy:BackendProxy", "description": "A `proxy` 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 `service_fabric_cluster` block as documented below.\n" }, "title": { "type": "string", "description": "The title of the backend.\n" }, "tls": { "$ref": "#/types/azure:apimanagement/BackendTls:BackendTls", "description": "A `tls` block as documented below.\n" }, "url": { "type": "string", "description": "The URL of the backend host.\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" }, "credentials": { "$ref": "#/types/azure:apimanagement/BackendCredentials:BackendCredentials", "description": "A `credentials` 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 `http` or `soap`.\n" }, "proxy": { "$ref": "#/types/azure:apimanagement/BackendProxy:BackendProxy", "description": "A `proxy` 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 `service_fabric_cluster` block as documented below.\n" }, "title": { "type": "string", "description": "The title of the backend.\n" }, "tls": { "$ref": "#/types/azure:apimanagement/BackendTls:BackendTls", "description": "A `tls` block as documented below.\n" }, "url": { "type": "string", "description": "The URL of the backend host.\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" }, "credentials": { "$ref": "#/types/azure:apimanagement/BackendCredentials:BackendCredentials", "description": "A `credentials` 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 `http` or `soap`.\n" }, "proxy": { "$ref": "#/types/azure:apimanagement/BackendProxy:BackendProxy", "description": "A `proxy` 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 `service_fabric_cluster` block as documented below.\n" }, "title": { "type": "string", "description": "The title of the backend.\n" }, "tls": { "$ref": "#/types/azure:apimanagement/BackendTls:BackendTls", "description": "A `tls` block as documented below.\n" }, "url": { "type": "string", "description": "The URL of the backend host.\n" } }, "type": "object" } }, "azure:apimanagement/certificate:Certificate": { "description": "Manages an Certificate within an API Management Service.\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. Changing this forces a new resource to be created.\n" }, "expiration": { "type": "string", "description": "The Expiration Date of this Certificate, formatted as an RFC3339 string.\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. 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" }, "subject": { "type": "string", "description": "The Subject of this Certificate.\n" }, "thumbprint": { "type": "string", "description": "The Thumbprint of this Certificate.\n" } }, "required": [ "apiManagementName", "data", "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" }, "data": { "type": "string", "description": "The base-64 encoded certificate data, which must be a PFX file. Changing this forces a new resource to be created.\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. 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" } }, "requiredInputs": [ "apiManagementName", "data", "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" }, "data": { "type": "string", "description": "The base-64 encoded certificate data, which must be a PFX file. Changing this forces a new resource to be created.\n" }, "expiration": { "type": "string", "description": "The Expiration Date of this Certificate, formatted as an RFC3339 string.\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. 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" }, "subject": { "type": "string", "description": "The Subject of this Certificate.\n" }, "thumbprint": { "type": "string", "description": "The Thumbprint of this Certificate.\n" } }, "type": "object" } }, "azure:apimanagement/diagnostic:Diagnostic": { "description": "Manages an API Management Service Diagnostic.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"web\",\n});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@mycompany.io\",\n skuName: \"Developer_1\",\n});\nconst exampleLogger = new azure.apimanagement.Logger(\"exampleLogger\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n applicationInsights: {\n instrumentationKey: exampleInsights.instrumentationKey,\n },\n});\nconst exampleDiagnostic = new azure.apimanagement.Diagnostic(\"exampleDiagnostic\", {\n identifier: \"applicationinsights\",\n resourceGroupName: exampleResourceGroup.name,\n apiManagementName: exampleService.name,\n apiManagementLoggerId: exampleLogger.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@mycompany.io\",\n sku_name=\"Developer_1\")\nexample_logger = azure.apimanagement.Logger(\"exampleLogger\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n application_insights=azure.apimanagement.LoggerApplicationInsightsArgs(\n instrumentation_key=example_insights.instrumentation_key,\n ))\nexample_diagnostic = azure.apimanagement.Diagnostic(\"exampleDiagnostic\",\n identifier=\"applicationinsights\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n api_management_logger_id=example_logger.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@mycompany.io\",\n SkuName = \"Developer_1\",\n });\n var exampleLogger = new Azure.ApiManagement.Logger(\"exampleLogger\", new Azure.ApiManagement.LoggerArgs\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs\n {\n InstrumentationKey = exampleInsights.InstrumentationKey,\n },\n });\n var exampleDiagnostic = new Azure.ApiManagement.Diagnostic(\"exampleDiagnostic\", new Azure.ApiManagement.DiagnosticArgs\n {\n Identifier = \"applicationinsights\",\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n ApiManagementLoggerId = exampleLogger.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLogger\", \u0026apimanagement.LoggerArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleDiagnostic\", \u0026apimanagement.DiagnosticArgs{\n\t\t\tIdentifier: pulumi.String(\"applicationinsights\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tApiManagementLoggerId: exampleLogger.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "enabled": { "type": "boolean", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "identifier": { "type": "string", "description": "The diagnostic identifier for the API Management Service. At this time the only supported value is `applicationinsights`. 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": [ "apiManagementLoggerId", "apiManagementName", "identifier", "resourceGroupName" ], "inputProperties": { "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" }, "enabled": { "type": "boolean", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "identifier": { "type": "string", "description": "The diagnostic identifier for the API Management Service. At this time the only supported value is `applicationinsights`. 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" } }, "requiredInputs": [ "apiManagementLoggerId", "apiManagementName", "identifier", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Diagnostic resources.\n", "properties": { "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" }, "enabled": { "type": "boolean", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "identifier": { "type": "string", "description": "The diagnostic identifier for the API Management Service. At this time the only supported value is `applicationinsights`. 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" } }, "type": "object" } }, "azure:apimanagement/group:Group": { "description": "Manages an API Management Group.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Developer_1\",\n});\nconst exampleGroup = new azure.apimanagement.Group(\"exampleGroup\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\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_group = azure.apimanagement.Group(\"exampleGroup\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Developer_1\",\n });\n var exampleGroup = new Azure.ApiManagement.Group(\"exampleGroup\", new Azure.ApiManagement.GroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n DisplayName = \"Example Group\",\n Description = \"This is an example API management group.\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\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\t_, err = apimanagement.NewGroup(ctx, \"exampleGroup\", \u0026apimanagement.GroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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\u003e.onmicrosoft.com/groups/\u003cgroup object id\u003e`.\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 `custom` and `external`. Default is `custom`.\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" }, "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\u003e.onmicrosoft.com/groups/\u003cgroup object id\u003e`.\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 `custom` and `external`. Default is `custom`.\n" } }, "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" }, "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\u003e.onmicrosoft.com/groups/\u003cgroup object id\u003e`.\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 `custom` and `external`. Default is `custom`.\n" } }, "type": "object" } }, "azure:apimanagement/groupUser:GroupUser": { "description": "Manages an API Management User Assignment to a Group.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleUser = azure.apimanagement.getUser({\n userId: \"my-user\",\n apiManagementName: \"example-apim\",\n resourceGroupName: \"search-service\",\n});\nconst exampleGroupUser = new azure.apimanagement.GroupUser(\"exampleGroupUser\", {\n userId: exampleUser.then(exampleUser =\u003e exampleUser.id),\n groupName: \"example-group\",\n resourceGroupName: exampleUser.then(exampleUser =\u003e exampleUser.resourceGroupName),\n apiManagementName: exampleUser.then(exampleUser =\u003e exampleUser.apiManagementName),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_user = 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(\"exampleGroupUser\",\n user_id=example_user.id,\n group_name=\"example-group\",\n resource_group_name=example_user.resource_group_name,\n api_management_name=example_user.api_management_name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(Azure.ApiManagement.GetUser.InvokeAsync(new Azure.ApiManagement.GetUserArgs\n {\n UserId = \"my-user\",\n ApiManagementName = \"example-apim\",\n ResourceGroupName = \"search-service\",\n }));\n var exampleGroupUser = new Azure.ApiManagement.GroupUser(\"exampleGroupUser\", new Azure.ApiManagement.GroupUserArgs\n {\n UserId = exampleUser.Apply(exampleUser =\u003e exampleUser.Id),\n GroupName = \"example-group\",\n ResourceGroupName = exampleUser.Apply(exampleUser =\u003e exampleUser.ResourceGroupName),\n ApiManagementName = exampleUser.Apply(exampleUser =\u003e exampleUser.ApiManagementName),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, 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, \"exampleGroupUser\", \u0026apimanagement.GroupUserArgs{\n\t\t\tUserId: pulumi.String(exampleUser.Id),\n\t\t\tGroupName: pulumi.String(\"example-group\"),\n\t\t\tResourceGroupName: pulumi.String(exampleUser.ResourceGroupName),\n\t\t\tApiManagementName: pulumi.String(exampleUser.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:apimanagement/identityProviderAad:IdentityProviderAad": { "description": "Manages an API Management AAD Identity Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@mycompany.io\",\n skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderAad = new azure.apimanagement.IdentityProviderAad(\"exampleIdentityProviderAad\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@mycompany.io\",\n sku_name=\"Developer_1\")\nexample_identity_provider_aad = azure.apimanagement.IdentityProviderAad(\"exampleIdentityProviderAad\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@mycompany.io\",\n SkuName = \"Developer_1\",\n });\n var exampleIdentityProviderAad = new Azure.ApiManagement.IdentityProviderAad(\"exampleIdentityProviderAad\", new Azure.ApiManagement.IdentityProviderAadArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n ClientId = \"00000000-0000-0000-0000-000000000000\",\n ClientSecret = \"00000000000000000000000000000000\",\n AllowedTenants = \n {\n \"00000000-0000-0000-0000-000000000000\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIdentityProviderAad\", \u0026apimanagement.IdentityProviderAadArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "clientSecret": { "type": "string", "description": "Client secret of the Application in the AAD Identity Provider.\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" }, "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" }, "clientId": { "type": "string", "description": "Client Id of the Application in the AAD Identity Provider.\n" }, "clientSecret": { "type": "string", "description": "Client secret of the Application in the AAD Identity Provider.\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" }, "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" }, "clientId": { "type": "string", "description": "Client Id of the Application in the AAD Identity Provider.\n" }, "clientSecret": { "type": "string", "description": "Client secret of the Application in the AAD Identity Provider.\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" }, "signinTenant": { "type": "string", "description": "The AAD Tenant to use instead of Common when logging into Active Directory\n" } }, "type": "object" } }, "azure:apimanagement/identityProviderFacebook:IdentityProviderFacebook": { "description": "Manages an API Management Facebook Identity Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@mycompany.io\",\n skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderFacebook = new azure.apimanagement.IdentityProviderFacebook(\"exampleIdentityProviderFacebook\", {\n resourceGroupName: exampleResourceGroup.name,\n apiManagementName: exampleService.name,\n appId: \"00000000000000000000000000000000\",\n appSecret: \"00000000000000000000000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@mycompany.io\",\n sku_name=\"Developer_1\")\nexample_identity_provider_facebook = azure.apimanagement.IdentityProviderFacebook(\"exampleIdentityProviderFacebook\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n app_id=\"00000000000000000000000000000000\",\n app_secret=\"00000000000000000000000000000000\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@mycompany.io\",\n SkuName = \"Developer_1\",\n });\n var exampleIdentityProviderFacebook = new Azure.ApiManagement.IdentityProviderFacebook(\"exampleIdentityProviderFacebook\", new Azure.ApiManagement.IdentityProviderFacebookArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n AppId = \"00000000000000000000000000000000\",\n AppSecret = \"00000000000000000000000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIdentityProviderFacebook\", \u0026apimanagement.IdentityProviderFacebookArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "appId": { "type": "string", "description": "App ID for Facebook.\n" }, "appSecret": { "type": "string", "description": "App Secret for Facebook.\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" } }, "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" }, "appId": { "type": "string", "description": "App ID for Facebook.\n" }, "appSecret": { "type": "string", "description": "App Secret for Facebook.\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" } }, "type": "object" } }, "azure:apimanagement/identityProviderGoogle:IdentityProviderGoogle": { "description": "Manages an API Management Google Identity Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@mycompany.io\",\n skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderGoogle = new azure.apimanagement.IdentityProviderGoogle(\"exampleIdentityProviderGoogle\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@mycompany.io\",\n sku_name=\"Developer_1\")\nexample_identity_provider_google = azure.apimanagement.IdentityProviderGoogle(\"exampleIdentityProviderGoogle\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n client_id=\"00000000.apps.googleusercontent.com\",\n client_secret=\"00000000000000000000000000000000\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@mycompany.io\",\n SkuName = \"Developer_1\",\n });\n var exampleIdentityProviderGoogle = new Azure.ApiManagement.IdentityProviderGoogle(\"exampleIdentityProviderGoogle\", new Azure.ApiManagement.IdentityProviderGoogleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n ClientId = \"00000000.apps.googleusercontent.com\",\n ClientSecret = \"00000000000000000000000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIdentityProviderGoogle\", \u0026apimanagement.IdentityProviderGoogleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "clientId": { "type": "string", "description": "Client Id for Google Sign-in.\n" }, "clientSecret": { "type": "string", "description": "Client secret for Google Sign-in.\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" } }, "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" }, "clientId": { "type": "string", "description": "Client Id for Google Sign-in.\n" }, "clientSecret": { "type": "string", "description": "Client secret for Google Sign-in.\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" } }, "type": "object" } }, "azure:apimanagement/identityProviderMicrosoft:IdentityProviderMicrosoft": { "description": "Manages an API Management Microsoft Identity Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@mycompany.io\",\n skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderMicrosoft = new azure.apimanagement.IdentityProviderMicrosoft(\"exampleIdentityProviderMicrosoft\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@mycompany.io\",\n sku_name=\"Developer_1\")\nexample_identity_provider_microsoft = azure.apimanagement.IdentityProviderMicrosoft(\"exampleIdentityProviderMicrosoft\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n client_id=\"00000000-0000-0000-0000-000000000000\",\n client_secret=\"00000000000000000000000000000000\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@mycompany.io\",\n SkuName = \"Developer_1\",\n });\n var exampleIdentityProviderMicrosoft = new Azure.ApiManagement.IdentityProviderMicrosoft(\"exampleIdentityProviderMicrosoft\", new Azure.ApiManagement.IdentityProviderMicrosoftArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n ClientId = \"00000000-0000-0000-0000-000000000000\",\n ClientSecret = \"00000000000000000000000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIdentityProviderMicrosoft\", \u0026apimanagement.IdentityProviderMicrosoftArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "clientId": { "type": "string", "description": "Client Id of the Azure AD Application.\n" }, "clientSecret": { "type": "string", "description": "Client secret of the Azure AD Application.\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" } }, "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" }, "clientId": { "type": "string", "description": "Client Id of the Azure AD Application.\n" }, "clientSecret": { "type": "string", "description": "Client secret of the Azure AD Application.\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" } }, "type": "object" } }, "azure:apimanagement/identityProviderTwitter:IdentityProviderTwitter": { "description": "Manages an API Management Twitter Identity Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@mycompany.io\",\n skuName: \"Developer_1\",\n});\nconst exampleIdentityProviderTwitter = new azure.apimanagement.IdentityProviderTwitter(\"exampleIdentityProviderTwitter\", {\n resourceGroupName: exampleResourceGroup.name,\n apiManagementName: exampleService.name,\n apiKey: \"00000000000000000000000000000000\",\n apiSecretKey: \"00000000000000000000000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@mycompany.io\",\n sku_name=\"Developer_1\")\nexample_identity_provider_twitter = azure.apimanagement.IdentityProviderTwitter(\"exampleIdentityProviderTwitter\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n api_key=\"00000000000000000000000000000000\",\n api_secret_key=\"00000000000000000000000000000000\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@mycompany.io\",\n SkuName = \"Developer_1\",\n });\n var exampleIdentityProviderTwitter = new Azure.ApiManagement.IdentityProviderTwitter(\"exampleIdentityProviderTwitter\", new Azure.ApiManagement.IdentityProviderTwitterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n ApiKey = \"00000000000000000000000000000000\",\n ApiSecretKey = \"00000000000000000000000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIdentityProviderTwitter\", \u0026apimanagement.IdentityProviderTwitterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "apiKey": { "type": "string", "description": "App Consumer API key for Twitter.\n" }, "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" }, "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" }, "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" }, "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" } }, "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" }, "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" }, "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" } }, "type": "object" } }, "azure:apimanagement/logger:Logger": { "description": "Manages a Logger within an API Management Service.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"other\",\n});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleLogger = new azure.apimanagement.Logger(\"exampleLogger\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n applicationInsights: {\n instrumentationKey: exampleInsights.instrumentationKey,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"other\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\")\nexample_logger = azure.apimanagement.Logger(\"exampleLogger\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n application_insights=azure.apimanagement.LoggerApplicationInsightsArgs(\n instrumentation_key=example_insights.instrumentation_key,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"other\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n var exampleLogger = new Azure.ApiManagement.Logger(\"exampleLogger\", new Azure.ApiManagement.LoggerArgs\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationInsights = new Azure.ApiManagement.Inputs.LoggerApplicationInsightsArgs\n {\n InstrumentationKey = exampleInsights.InstrumentationKey,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleInsights, err := appinsights.NewInsights(ctx, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLogger\", \u0026apimanagement.LoggerArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 `application_insights` block as documented below.\n" }, "buffered": { "type": "boolean", "description": "Specifies whether records should be buffered in the Logger prior to publishing. Defaults to `true`.\n" }, "description": { "type": "string", "description": "A description of this Logger.\n" }, "eventhub": { "$ref": "#/types/azure:apimanagement/LoggerEventhub:LoggerEventhub", "description": "An `eventhub` block as documented below.\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" } }, "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" }, "applicationInsights": { "$ref": "#/types/azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights", "description": "An `application_insights` block as documented below.\n" }, "buffered": { "type": "boolean", "description": "Specifies whether records should be buffered in the Logger prior to publishing. Defaults to `true`.\n" }, "description": { "type": "string", "description": "A description of this Logger.\n" }, "eventhub": { "$ref": "#/types/azure:apimanagement/LoggerEventhub:LoggerEventhub", "description": "An `eventhub` block as documented below.\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" } }, "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" }, "applicationInsights": { "$ref": "#/types/azure:apimanagement/LoggerApplicationInsights:LoggerApplicationInsights", "description": "An `application_insights` block as documented below.\n" }, "buffered": { "type": "boolean", "description": "Specifies whether records should be buffered in the Logger prior to publishing. Defaults to `true`.\n" }, "description": { "type": "string", "description": "A description of this Logger.\n" }, "eventhub": { "$ref": "#/types/azure:apimanagement/LoggerEventhub:LoggerEventhub", "description": "An `eventhub` block as documented below.\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" } }, "type": "object" } }, "azure:apimanagement/namedValue:NamedValue": { "description": "Manages an API Management Named Value.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Developer_1\",\n});\nconst exampleNamedValue = new azure.apimanagement.NamedValue(\"exampleNamedValue\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\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_named_value = azure.apimanagement.NamedValue(\"exampleNamedValue\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n display_name=\"ExampleProperty\",\n value=\"Example Value\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Developer_1\",\n });\n var exampleNamedValue = new Azure.ApiManagement.NamedValue(\"exampleNamedValue\", new Azure.ApiManagement.NamedValueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n DisplayName = \"ExampleProperty\",\n Value = \"Example Value\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\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\t_, err = apimanagement.NewNamedValue(ctx, \"exampleNamedValue\", \u0026apimanagement.NamedValueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `true` or `false`. The default value is `false`.\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" } }, "required": [ "apiManagementName", "displayName", "name", "resourceGroupName", "value" ], "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" }, "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 `true` or `false`. The default value is `false`.\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" } }, "requiredInputs": [ "apiManagementName", "displayName", "resourceGroupName", "value" ], "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" }, "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 `true` or `false`. The default value is `false`.\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" } }, "type": "object" } }, "azure:apimanagement/openIdConnectProvider:OpenIdConnectProvider": { "description": "Manages an OpenID Connect Provider within a API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleOpenIdConnectProvider = new azure.apimanagement.OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", {\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n clientId: \"00001111-2222-3333-4444-555566667777\",\n displayName: \"Example Provider\",\n metadataEndpoint: \"https://example.com/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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(\"exampleOpenIdConnectProvider\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n client_id=\"00001111-2222-3333-4444-555566667777\",\n display_name=\"Example Provider\",\n metadata_endpoint=\"https://example.com/example\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n var exampleOpenIdConnectProvider = new Azure.ApiManagement.OpenIdConnectProvider(\"exampleOpenIdConnectProvider\", new Azure.ApiManagement.OpenIdConnectProviderArgs\n {\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n ClientId = \"00001111-2222-3333-4444-555566667777\",\n DisplayName = \"Example Provider\",\n MetadataEndpoint = \"https://example.com/example\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleOpenIdConnectProvider\", \u0026apimanagement.OpenIdConnectProviderArgs{\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tClientId: pulumi.String(\"00001111-2222-3333-4444-555566667777\"),\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{{% /example %}}\n{{% /examples %}}", "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" }, "clientSecret": { "type": "string", "description": "The Client Secret used for the Client Application.\n" }, "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" }, "clientId": { "type": "string", "description": "The Client ID used for the Client Application.\n" }, "clientSecret": { "type": "string", "description": "The Client Secret used for the Client Application.\n" }, "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" } }, "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" }, "clientId": { "type": "string", "description": "The Client ID used for the Client Application.\n" }, "clientSecret": { "type": "string", "description": "The Client Secret used for the Client Application.\n" }, "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" } }, "type": "object" } }, "azure:apimanagement/product:Product": { "description": "Manages an API Management Product.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleProduct = new azure.apimanagement.Product(\"exampleProduct\", {\n productId: \"test-product\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\")\nexample_product = azure.apimanagement.Product(\"exampleProduct\",\n product_id=\"test-product\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n display_name=\"Test Product\",\n subscription_required=True,\n approval_required=True,\n published=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n var exampleProduct = new Azure.ApiManagement.Product(\"exampleProduct\", new Azure.ApiManagement.ProductArgs\n {\n ProductId = \"test-product\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n DisplayName = \"Test Product\",\n SubscriptionRequired = true,\n ApprovalRequired = true,\n Published = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleProduct\", \u0026apimanagement.ProductArgs{\n\t\t\tProductId: pulumi.String(\"test-product\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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?\n" }, "subscriptionsLimit": { "type": "integer", "description": "The number of subscriptions a user can have to this Product at the same time.\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", "subscriptionRequired" ], "inputProperties": { "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" }, "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?\n" }, "subscriptionsLimit": { "type": "integer", "description": "The number of subscriptions a user can have to this Product at the same time.\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", "subscriptionRequired" ], "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" }, "approvalRequired": { "type": "boolean", "description": "Do subscribers need to be approved prior to being able to use the Product?\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?\n" }, "subscriptionsLimit": { "type": "integer", "description": "The number of subscriptions a user can have to this Product at the same time.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleService = azure.apimanagement.getService({\n name: \"example-api\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleApi = Promise.all([exampleService, exampleService]).then(([exampleService, exampleService1]) =\u003e azure.apimanagement.getApi({\n name: \"search-api\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleService1.resourceGroupName,\n revision: \"2\",\n}));\nconst exampleProduct = Promise.all([exampleService, exampleService]).then(([exampleService, exampleService1]) =\u003e azure.apimanagement.getProduct({\n productId: \"my-product\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleService1.resourceGroupName,\n}));\nconst exampleProductApi = new azure.apimanagement.ProductApi(\"exampleProductApi\", {\n apiName: exampleApi.then(exampleApi =\u003e exampleApi.name),\n productId: exampleProduct.then(exampleProduct =\u003e exampleProduct.productId),\n apiManagementName: exampleService.then(exampleService =\u003e exampleService.name),\n resourceGroupName: exampleService.then(exampleService =\u003e exampleService.resourceGroupName),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_service = azure.apimanagement.get_service(name=\"example-api\",\n resource_group_name=\"example-resources\")\nexample_api = azure.apimanagement.get_api(name=\"search-api\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name,\n revision=\"2\")\nexample_product = azure.apimanagement.get_product(product_id=\"my-product\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\nexample_product_api = azure.apimanagement.ProductApi(\"exampleProductApi\",\n api_name=example_api.name,\n product_id=example_product.product_id,\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleService = Output.Create(Azure.ApiManagement.GetService.InvokeAsync(new Azure.ApiManagement.GetServiceArgs\n {\n Name = \"example-api\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleApi = Output.Tuple(exampleService, exampleService).Apply(values =\u003e\n {\n var exampleService = values.Item1;\n var exampleService1 = values.Item2;\n return Output.Create(Azure.ApiManagement.GetApi.InvokeAsync(new Azure.ApiManagement.GetApiArgs\n {\n Name = \"search-api\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleService1.ResourceGroupName,\n Revision = \"2\",\n }));\n });\n var exampleProduct = Output.Tuple(exampleService, exampleService).Apply(values =\u003e\n {\n var exampleService = values.Item1;\n var exampleService1 = values.Item2;\n return Output.Create(Azure.ApiManagement.GetProduct.InvokeAsync(new Azure.ApiManagement.GetProductArgs\n {\n ProductId = \"my-product\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleService1.ResourceGroupName,\n }));\n });\n var exampleProductApi = new Azure.ApiManagement.ProductApi(\"exampleProductApi\", new Azure.ApiManagement.ProductApiArgs\n {\n ApiName = exampleApi.Apply(exampleApi =\u003e exampleApi.Name),\n ProductId = exampleProduct.Apply(exampleProduct =\u003e exampleProduct.ProductId),\n ApiManagementName = exampleService.Apply(exampleService =\u003e exampleService.Name),\n ResourceGroupName = exampleService.Apply(exampleService =\u003e exampleService.ResourceGroupName),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleService, 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\texampleApi, err := apimanagement.LookupApi(ctx, \u0026apimanagement.LookupApiArgs{\n\t\t\tName: \"search-api\",\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleService.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\texampleProduct, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId: \"my-product\",\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleService.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, \"exampleProductApi\", \u0026apimanagement.ProductApiArgs{\n\t\t\tApiName: pulumi.String(exampleApi.Name),\n\t\t\tProductId: pulumi.String(exampleProduct.ProductId),\n\t\t\tApiManagementName: pulumi.String(exampleService.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleService.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:apimanagement/productGroup:ProductGroup": { "description": "Manages an API Management Product Assignment to a Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleService = azure.apimanagement.getService({\n name: \"example-api\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleProduct = Promise.all([exampleService, exampleService]).then(([exampleService, exampleService1]) =\u003e azure.apimanagement.getProduct({\n productId: \"my-product\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleService1.resourceGroupName,\n}));\nconst exampleGroup = Promise.all([exampleService, exampleService]).then(([exampleService, exampleService1]) =\u003e azure.apimanagement.getGroup({\n name: \"my-group\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleService1.resourceGroupName,\n}));\nconst exampleProductGroup = new azure.apimanagement.ProductGroup(\"exampleProductGroup\", {\n productId: exampleProduct.then(exampleProduct =\u003e exampleProduct.productId),\n groupName: exampleGroup.then(exampleGroup =\u003e exampleGroup.name),\n apiManagementName: exampleService.then(exampleService =\u003e exampleService.name),\n resourceGroupName: exampleService.then(exampleService =\u003e exampleService.resourceGroupName),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_service = azure.apimanagement.get_service(name=\"example-api\",\n resource_group_name=\"example-resources\")\nexample_product = azure.apimanagement.get_product(product_id=\"my-product\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\nexample_group = azure.apimanagement.get_group(name=\"my-group\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\nexample_product_group = azure.apimanagement.ProductGroup(\"exampleProductGroup\",\n product_id=example_product.product_id,\n group_name=example_group.name,\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleService = Output.Create(Azure.ApiManagement.GetService.InvokeAsync(new Azure.ApiManagement.GetServiceArgs\n {\n Name = \"example-api\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleProduct = Output.Tuple(exampleService, exampleService).Apply(values =\u003e\n {\n var exampleService = values.Item1;\n var exampleService1 = values.Item2;\n return Output.Create(Azure.ApiManagement.GetProduct.InvokeAsync(new Azure.ApiManagement.GetProductArgs\n {\n ProductId = \"my-product\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleService1.ResourceGroupName,\n }));\n });\n var exampleGroup = Output.Tuple(exampleService, exampleService).Apply(values =\u003e\n {\n var exampleService = values.Item1;\n var exampleService1 = values.Item2;\n return Output.Create(Azure.ApiManagement.GetGroup.InvokeAsync(new Azure.ApiManagement.GetGroupArgs\n {\n Name = \"my-group\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleService1.ResourceGroupName,\n }));\n });\n var exampleProductGroup = new Azure.ApiManagement.ProductGroup(\"exampleProductGroup\", new Azure.ApiManagement.ProductGroupArgs\n {\n ProductId = exampleProduct.Apply(exampleProduct =\u003e exampleProduct.ProductId),\n GroupName = exampleGroup.Apply(exampleGroup =\u003e exampleGroup.Name),\n ApiManagementName = exampleService.Apply(exampleService =\u003e exampleService.Name),\n ResourceGroupName = exampleService.Apply(exampleService =\u003e exampleService.ResourceGroupName),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleService, 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\texampleProduct, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId: \"my-product\",\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleService.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := apimanagement.LookupGroup(ctx, \u0026apimanagement.LookupGroupArgs{\n\t\t\tName: \"my-group\",\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleService.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, \"exampleProductGroup\", \u0026apimanagement.ProductGroupArgs{\n\t\t\tProductId: pulumi.String(exampleProduct.ProductId),\n\t\t\tGroupName: pulumi.String(exampleGroup.Name),\n\t\t\tApiManagementName: pulumi.String(exampleService.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleService.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:apimanagement/productPolicy:ProductPolicy": { "description": "Manages an API Management Product Policy\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleProduct = azure.apimanagement.getProduct({\n productId: \"my-product\",\n apiManagementName: \"example-apim\",\n resourceGroupName: \"search-service\",\n});\nconst exampleProductPolicy = new azure.apimanagement.ProductPolicy(\"exampleProductPolicy\", {\n productId: exampleProduct.then(exampleProduct =\u003e exampleProduct.productId),\n apiManagementName: exampleProduct.then(exampleProduct =\u003e exampleProduct.apiManagementName),\n resourceGroupName: exampleProduct.then(exampleProduct =\u003e exampleProduct.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_product = 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(\"exampleProductPolicy\",\n product_id=example_product.product_id,\n api_management_name=example_product.api_management_name,\n resource_group_name=example_product.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleProduct = Output.Create(Azure.ApiManagement.GetProduct.InvokeAsync(new Azure.ApiManagement.GetProductArgs\n {\n ProductId = \"my-product\",\n ApiManagementName = \"example-apim\",\n ResourceGroupName = \"search-service\",\n }));\n var exampleProductPolicy = new Azure.ApiManagement.ProductPolicy(\"exampleProductPolicy\", new Azure.ApiManagement.ProductPolicyArgs\n {\n ProductId = exampleProduct.Apply(exampleProduct =\u003e exampleProduct.ProductId),\n ApiManagementName = exampleProduct.Apply(exampleProduct =\u003e exampleProduct.ApiManagementName),\n ResourceGroupName = exampleProduct.Apply(exampleProduct =\u003e exampleProduct.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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleProduct, 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, \"exampleProductPolicy\", \u0026apimanagement.ProductPolicyArgs{\n\t\t\tProductId: pulumi.String(exampleProduct.ProductId),\n\t\t\tApiManagementName: pulumi.String(exampleProduct.ApiManagementName),\n\t\t\tResourceGroupName: pulumi.String(exampleProduct.ResourceGroupName),\n\t\t\tXmlContent: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"\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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:apimanagement/property:Property": { "description": "Manages an API Management Property.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"pub1\",\n publisherEmail: \"pub1@email.com\",\n skuName: \"Developer_1\",\n});\nconst exampleProperty = new azure.apimanagement.Property(\"exampleProperty\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\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_property = azure.apimanagement.Property(\"exampleProperty\",\n resource_group_name=example_resource_group.name,\n api_management_name=example_service.name,\n display_name=\"ExampleProperty\",\n value=\"Example Value\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"pub1\",\n PublisherEmail = \"pub1@email.com\",\n SkuName = \"Developer_1\",\n });\n var exampleProperty = new Azure.ApiManagement.Property(\"exampleProperty\", new Azure.ApiManagement.PropertyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ApiManagementName = exampleService.Name,\n DisplayName = \"ExampleProperty\",\n Value = \"Example Value\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleService, err := apimanagement.NewService(ctx, \"exampleService\", \u0026apimanagement.ServiceArgs{\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\t_, err = apimanagement.NewProperty(ctx, \"exampleProperty\", \u0026apimanagement.PropertyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "apiManagementName": { "type": "string", "description": "The name of the API Management Service in which the API Management Property should exist. Changing this forces a new resource to be created.\n" }, "displayName": { "type": "string", "description": "The display name of this API Management Property.\n" }, "name": { "type": "string", "description": "The name of the API Management Property. 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 Property should exist. Changing this forces a new resource to be created.\n" }, "secret": { "type": "boolean", "description": "Specifies whether the API Management Property is secret. Valid values are `true` or `false`. The default value is `false`.\n" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "A list of tags to be applied to the API Management Property.\n" }, "value": { "type": "string", "description": "The value of this API Management Property.\n" } }, "required": [ "apiManagementName", "displayName", "name", "resourceGroupName", "value" ], "inputProperties": { "apiManagementName": { "type": "string", "description": "The name of the API Management Service in which the API Management Property should exist. Changing this forces a new resource to be created.\n" }, "displayName": { "type": "string", "description": "The display name of this API Management Property.\n" }, "name": { "type": "string", "description": "The name of the API Management Property. 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 Property should exist. Changing this forces a new resource to be created.\n" }, "secret": { "type": "boolean", "description": "Specifies whether the API Management Property is secret. Valid values are `true` or `false`. The default value is `false`.\n" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "A list of tags to be applied to the API Management Property.\n" }, "value": { "type": "string", "description": "The value of this API Management Property.\n" } }, "requiredInputs": [ "apiManagementName", "displayName", "resourceGroupName", "value" ], "stateInputs": { "description": "Input properties used for looking up and filtering Property resources.\n", "properties": { "apiManagementName": { "type": "string", "description": "The name of the API Management Service in which the API Management Property should exist. Changing this forces a new resource to be created.\n" }, "displayName": { "type": "string", "description": "The display name of this API Management Property.\n" }, "name": { "type": "string", "description": "The name of the API Management Property. 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 Property should exist. Changing this forces a new resource to be created.\n" }, "secret": { "type": "boolean", "description": "Specifies whether the API Management Property is secret. Valid values are `true` or `false`. The default value is `false`.\n" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "A list of tags to be applied to the API Management Property.\n" }, "value": { "type": "string", "description": "The value of this API Management Property.\n" } }, "type": "object" } }, "azure:apimanagement/service:Service": { "description": "Manages an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n policy: {\n xmlContent: ` \u003cpolicies\u003e\n \u003cinbound /\u003e\n \u003cbackend /\u003e\n \u003coutbound /\u003e\n \u003con-error /\u003e\n \u003c/policies\u003e\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\",\n policy=azure.apimanagement.ServicePolicyArgs(\n xml_content=\"\"\" \u003cpolicies\u003e\n \u003cinbound /\u003e\n \u003cbackend /\u003e\n \u003coutbound /\u003e\n \u003con-error /\u003e\n \u003c/policies\u003e\n\"\"\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n Policy = new Azure.ApiManagement.Inputs.ServicePolicyArgs\n {\n XmlContent = @\" \u003cpolicies\u003e\n \u003cinbound /\u003e\n \u003cbackend /\u003e\n \u003coutbound /\u003e\n \u003con-error /\u003e\n \u003c/policies\u003e\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/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\tPolicy: \u0026apimanagement.ServicePolicyArgs{\n\t\t\t\tXmlContent: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v\", \" \u003cpolicies\u003e\\n\", \" \u003cinbound /\u003e\\n\", \" \u003cbackend /\u003e\\n\", \" \u003coutbound /\u003e\\n\", \" \u003con-error /\u003e\\n\", \" \u003c/policies\u003e\\n\")),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "additionalLocations": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation" }, "description": "One or more `additional_location` blocks as defined below.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceCertificate:ServiceCertificate" }, "description": "One or more (up to 10) `certificate` blocks as defined below.\n" }, "developerPortalUrl": { "type": "string", "description": "The URL for the Developer Portal associated with this API Management service.\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 `hostname_configuration` block as defined below.\n" }, "identity": { "$ref": "#/types/azure:apimanagement/ServiceIdentity:ServiceIdentity", "description": "An `identity` block is documented 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" }, "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" }, "policy": { "$ref": "#/types/azure:apimanagement/ServicePolicy:ServicePolicy", "description": "A `policy` block as defined below.\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 `protocols` block as defined below.\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" }, "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 be 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 `security` block as defined below.\n" }, "signIn": { "$ref": "#/types/azure:apimanagement/ServiceSignIn:ServiceSignIn", "description": "A `sign_in` block as defined below.\n" }, "signUp": { "$ref": "#/types/azure:apimanagement/ServiceSignUp:ServiceSignUp", "description": "A `sign_up` block as defined below.\n" }, "skuName": { "type": "string", "description": "`sku_name` is a string consisting of two parts separated by an underscore(\\_). The first part is the `name`, valid values include: `Consumption`, `Developer`, `Basic`, `Standard` and `Premium`. The second part is the `capacity` (e.g. the number of deployed units of the `sku`), which must be a positive `integer` (e.g. `Developer_1`).\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.\n" }, "virtualNetworkType": { "type": "string", "description": "The type of virtual network you want to use, valid values include: `None`, `External`, `Internal`.\n" } }, "required": [ "developerPortalUrl", "gatewayRegionalUrl", "gatewayUrl", "hostnameConfiguration", "location", "managementApiUrl", "name", "notificationSenderEmail", "policy", "portalUrl", "privateIpAddresses", "protocols", "publicIpAddresses", "publisherEmail", "publisherName", "resourceGroupName", "scmUrl", "security", "signIn", "signUp", "skuName" ], "inputProperties": { "additionalLocations": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceAdditionalLocation:ServiceAdditionalLocation" }, "description": "One or more `additional_location` blocks as defined below.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceCertificate:ServiceCertificate" }, "description": "One or more (up to 10) `certificate` blocks as defined below.\n" }, "hostnameConfiguration": { "$ref": "#/types/azure:apimanagement/ServiceHostnameConfiguration:ServiceHostnameConfiguration", "description": "A `hostname_configuration` block as defined below.\n" }, "identity": { "$ref": "#/types/azure:apimanagement/ServiceIdentity:ServiceIdentity", "description": "An `identity` block is documented 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" }, "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" }, "policy": { "$ref": "#/types/azure:apimanagement/ServicePolicy:ServicePolicy", "description": "A `policy` block as defined below.\n" }, "protocols": { "$ref": "#/types/azure:apimanagement/ServiceProtocols:ServiceProtocols", "description": "A `protocols` block as defined below.\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 be exist. Changing this forces a new resource to be created.\n" }, "security": { "$ref": "#/types/azure:apimanagement/ServiceSecurity:ServiceSecurity", "description": "A `security` block as defined below.\n" }, "signIn": { "$ref": "#/types/azure:apimanagement/ServiceSignIn:ServiceSignIn", "description": "A `sign_in` block as defined below.\n" }, "signUp": { "$ref": "#/types/azure:apimanagement/ServiceSignUp:ServiceSignUp", "description": "A `sign_up` block as defined below.\n" }, "skuName": { "type": "string", "description": "`sku_name` is a string consisting of two parts separated by an underscore(\\_). The first part is the `name`, valid values include: `Consumption`, `Developer`, `Basic`, `Standard` and `Premium`. The second part is the `capacity` (e.g. the number of deployed units of the `sku`), which must be a positive `integer` (e.g. `Developer_1`).\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.\n" }, "virtualNetworkType": { "type": "string", "description": "The type of virtual network you want to use, valid values include: `None`, `External`, `Internal`.\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 `additional_location` blocks as defined below.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/ServiceCertificate:ServiceCertificate" }, "description": "One or more (up to 10) `certificate` blocks as defined below.\n" }, "developerPortalUrl": { "type": "string", "description": "The URL for the Developer Portal associated with this API Management service.\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 `hostname_configuration` block as defined below.\n" }, "identity": { "$ref": "#/types/azure:apimanagement/ServiceIdentity:ServiceIdentity", "description": "An `identity` block is documented 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" }, "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" }, "policy": { "$ref": "#/types/azure:apimanagement/ServicePolicy:ServicePolicy", "description": "A `policy` block as defined below.\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 `protocols` block as defined below.\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" }, "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 be 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 `security` block as defined below.\n" }, "signIn": { "$ref": "#/types/azure:apimanagement/ServiceSignIn:ServiceSignIn", "description": "A `sign_in` block as defined below.\n" }, "signUp": { "$ref": "#/types/azure:apimanagement/ServiceSignUp:ServiceSignUp", "description": "A `sign_up` block as defined below.\n" }, "skuName": { "type": "string", "description": "`sku_name` is a string consisting of two parts separated by an underscore(\\_). The first part is the `name`, valid values include: `Consumption`, `Developer`, `Basic`, `Standard` and `Premium`. The second part is the `capacity` (e.g. the number of deployed units of the `sku`), which must be a positive `integer` (e.g. `Developer_1`).\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:apimanagement/ServiceVirtualNetworkConfiguration:ServiceVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below. Required when `virtual_network_type` is `External` or `Internal`.\n" }, "virtualNetworkType": { "type": "string", "description": "The type of virtual network you want to use, valid values include: `None`, `External`, `Internal`.\n" } }, "type": "object" } }, "azure:apimanagement/subscription:Subscription": { "description": "Manages a Subscription within a API Management Service.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleService = azure.apimanagement.getService({\n name: \"example-apim\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleProduct = Promise.all([exampleService, exampleService]).then(([exampleService, exampleService1]) =\u003e azure.apimanagement.getProduct({\n productId: \"00000000-0000-0000-0000-000000000000\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleService1.resourceGroupName,\n}));\nconst exampleUser = Promise.all([exampleService, exampleService]).then(([exampleService, exampleService1]) =\u003e azure.apimanagement.getUser({\n userId: \"11111111-1111-1111-1111-111111111111\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleService1.resourceGroupName,\n}));\nconst exampleSubscription = new azure.apimanagement.Subscription(\"exampleSubscription\", {\n apiManagementName: exampleService.then(exampleService =\u003e exampleService.name),\n resourceGroupName: exampleService.then(exampleService =\u003e exampleService.resourceGroupName),\n userId: exampleUser.then(exampleUser =\u003e exampleUser.id),\n productId: exampleProduct.then(exampleProduct =\u003e exampleProduct.id),\n displayName: \"Parser API\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_service = azure.apimanagement.get_service(name=\"example-apim\",\n resource_group_name=\"example-resources\")\nexample_product = azure.apimanagement.get_product(product_id=\"00000000-0000-0000-0000-000000000000\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\nexample_user = azure.apimanagement.get_user(user_id=\"11111111-1111-1111-1111-111111111111\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name)\nexample_subscription = azure.apimanagement.Subscription(\"exampleSubscription\",\n api_management_name=example_service.name,\n resource_group_name=example_service.resource_group_name,\n user_id=example_user.id,\n product_id=example_product.id,\n display_name=\"Parser API\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleService = Output.Create(Azure.ApiManagement.GetService.InvokeAsync(new Azure.ApiManagement.GetServiceArgs\n {\n Name = \"example-apim\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleProduct = Output.Tuple(exampleService, exampleService).Apply(values =\u003e\n {\n var exampleService = values.Item1;\n var exampleService1 = values.Item2;\n return Output.Create(Azure.ApiManagement.GetProduct.InvokeAsync(new Azure.ApiManagement.GetProductArgs\n {\n ProductId = \"00000000-0000-0000-0000-000000000000\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleService1.ResourceGroupName,\n }));\n });\n var exampleUser = Output.Tuple(exampleService, exampleService).Apply(values =\u003e\n {\n var exampleService = values.Item1;\n var exampleService1 = values.Item2;\n return Output.Create(Azure.ApiManagement.GetUser.InvokeAsync(new Azure.ApiManagement.GetUserArgs\n {\n UserId = \"11111111-1111-1111-1111-111111111111\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleService1.ResourceGroupName,\n }));\n });\n var exampleSubscription = new Azure.ApiManagement.Subscription(\"exampleSubscription\", new Azure.ApiManagement.SubscriptionArgs\n {\n ApiManagementName = exampleService.Apply(exampleService =\u003e exampleService.Name),\n ResourceGroupName = exampleService.Apply(exampleService =\u003e exampleService.ResourceGroupName),\n UserId = exampleUser.Apply(exampleUser =\u003e exampleUser.Id),\n ProductId = exampleProduct.Apply(exampleProduct =\u003e exampleProduct.Id),\n DisplayName = \"Parser API\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleService, 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\texampleProduct, err := apimanagement.LookupProduct(ctx, \u0026apimanagement.LookupProductArgs{\n\t\t\tProductId: \"00000000-0000-0000-0000-000000000000\",\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleService.ResourceGroupName,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := apimanagement.LookupUser(ctx, \u0026apimanagement.LookupUserArgs{\n\t\t\tUserId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleService.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, \"exampleSubscription\", \u0026apimanagement.SubscriptionArgs{\n\t\t\tApiManagementName: pulumi.String(exampleService.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleService.ResourceGroupName),\n\t\t\tUserId: pulumi.String(exampleUser.Id),\n\t\t\tProductId: pulumi.String(exampleProduct.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{{% /example %}}\n{{% /examples %}}", "properties": { "allowTracing": { "type": "boolean", "description": "Determines whether tracing can be enabled. Defaults to `true`.\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" }, "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" }, "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" }, "state": { "type": "string", "description": "The state of this Subscription. Possible values are `active`, `cancelled`, `expired`, `rejected`, `submitted` and `suspended`. Defaults to `submitted`.\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", "userId" ], "inputProperties": { "allowTracing": { "type": "boolean", "description": "Determines whether tracing can be enabled. Defaults to `true`.\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" }, "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" }, "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" }, "state": { "type": "string", "description": "The state of this Subscription. Possible values are `active`, `cancelled`, `expired`, `rejected`, `submitted` and `suspended`. Defaults to `submitted`.\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" } }, "requiredInputs": [ "apiManagementName", "displayName", "resourceGroupName", "userId" ], "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 `true`.\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" }, "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" }, "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" }, "state": { "type": "string", "description": "The state of this Subscription. Possible values are `active`, `cancelled`, `expired`, `rejected`, `submitted` and `suspended`. Defaults to `submitted`.\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" } }, "type": "object" } }, "azure:apimanagement/user:User": { "description": "Manages an API Management User.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.apimanagement.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publisherName: \"My Company\",\n publisherEmail: \"company@exmaple.com\",\n skuName: \"Developer_1\",\n});\nconst exampleUser = new azure.apimanagement.User(\"exampleUser\", {\n userId: \"5931a75ae4bbd512288c680b\",\n apiManagementName: exampleService.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.apimanagement.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n publisher_name=\"My Company\",\n publisher_email=\"company@exmaple.com\",\n sku_name=\"Developer_1\")\nexample_user = azure.apimanagement.User(\"exampleUser\",\n user_id=\"5931a75ae4bbd512288c680b\",\n api_management_name=example_service.name,\n resource_group_name=example_resource_group.name,\n first_name=\"Example\",\n last_name=\"User\",\n email=\"user@example.com\",\n state=\"active\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.ApiManagement.Service(\"exampleService\", new Azure.ApiManagement.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublisherName = \"My Company\",\n PublisherEmail = \"company@exmaple.com\",\n SkuName = \"Developer_1\",\n });\n var exampleUser = new Azure.ApiManagement.User(\"exampleUser\", new Azure.ApiManagement.UserArgs\n {\n UserId = \"5931a75ae4bbd512288c680b\",\n ApiManagementName = exampleService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n FirstName = \"Example\",\n LastName = \"User\",\n Email = \"user@example.com\",\n State = \"active\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026apimanagement.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleUser\", \u0026apimanagement.UserArgs{\n\t\t\tUserId: pulumi.String(\"5931a75ae4bbd512288c680b\"),\n\t\t\tApiManagementName: exampleService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `invite` and `signup`. 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" }, "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 `active`, `blocked` and `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" }, "confirmation": { "type": "string", "description": "The kind of confirmation email which will be sent to this user. Possible values are `invite` and `signup`. 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" }, "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 `active`, `blocked` and `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" } }, "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" }, "confirmation": { "type": "string", "description": "The kind of confirmation email which will be sent to this user. Possible values are `invite` and `signup`. 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" }, "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 `active`, `blocked` and `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" } }, "type": "object" } }, "azure:appconfiguration/configurationStore:ConfigurationStore": { "description": "Manages an Azure App Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West Europe\"});\nconst appconf = new azure.appconfiguration.ConfigurationStore(\"appconf\", {\n resourceGroupName: rg.name,\n location: rg.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"West Europe\")\nappconf = azure.appconfiguration.ConfigurationStore(\"appconf\",\n resource_group_name=rg.name,\n location=rg.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var appconf = new Azure.AppConfiguration.ConfigurationStore(\"appconf\", new Azure.AppConfiguration.ConfigurationStoreArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoint": { "type": "string", "description": "The URL of the App 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" }, "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 `primary_read_key` block as defined below containing the primary read access key.\n" }, "primaryWriteKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/ConfigurationStorePrimaryWriteKey:ConfigurationStorePrimaryWriteKey" }, "description": "A `primary_write_key` block as defined below containing the primary write access key.\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 `secondary_read_key` block as defined below containing the secondary read access key.\n" }, "secondaryWriteKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/ConfigurationStoreSecondaryWriteKey:ConfigurationStoreSecondaryWriteKey" }, "description": "A `secondary_write_key` block as defined below containing the secondary write access key.\n" }, "sku": { "type": "string", "description": "The SKU name of the the App Configuration. Possible values are `free` and `standard`.\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": { "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" }, "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" }, "sku": { "type": "string", "description": "The SKU name of the the App Configuration. Possible values are `free` and `standard`.\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 ConfigurationStore resources.\n", "properties": { "endpoint": { "type": "string", "description": "The URL of the App 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" }, "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 `primary_read_key` block as defined below containing the primary read access key.\n" }, "primaryWriteKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/ConfigurationStorePrimaryWriteKey:ConfigurationStorePrimaryWriteKey" }, "description": "A `primary_write_key` block as defined below containing the primary write access key.\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 `secondary_read_key` block as defined below containing the secondary read access key.\n" }, "secondaryWriteKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/ConfigurationStoreSecondaryWriteKey:ConfigurationStoreSecondaryWriteKey" }, "description": "A `secondary_write_key` block as defined below containing the secondary write access key.\n" }, "sku": { "type": "string", "description": "The SKU name of the the App Configuration. Possible values are `free` and `standard`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:appinsights/analyticsItem:AnalyticsItem": { "description": "Manages an Application Insights Analytics Item component.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: \"West Europe\",\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"web\",\n});\nconst exampleAnalyticsItem = new azure.appinsights.AnalyticsItem(\"exampleAnalyticsItem\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=\"West Europe\",\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\nexample_analytics_item = azure.appinsights.AnalyticsItem(\"exampleAnalyticsItem\",\n application_insights_id=example_insights.id,\n content=\"requests //simple example query\",\n scope=\"shared\",\n type=\"query\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = \"West Europe\",\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n var exampleAnalyticsItem = new Azure.AppInsights.AnalyticsItem(\"exampleAnalyticsItem\", new Azure.AppInsights.AnalyticsItemArgs\n {\n ApplicationInsightsId = exampleInsights.Id,\n Content = \"requests //simple example query\",\n Scope = \"shared\",\n Type = \"query\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleAnalyticsItem\", \u0026appinsights.AnalyticsItemArgs{\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{{% /example %}}\n{{% /examples %}}", "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 `type` is `query`.\n" }, "functionAlias": { "type": "string", "description": "The alias to use for the function. Required when `type` is `function`.\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 `shared` or `user`. Changing this forces a new resource to be created. Must be `shared` 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 `query`, `function`, `folder`, `recent`. 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" }, "content": { "type": "string", "description": "The content for the Analytics Item, for example the query text if `type` is `query`.\n" }, "functionAlias": { "type": "string", "description": "The alias to use for the function. Required when `type` is `function`.\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 `shared` or `user`. Changing this forces a new resource to be created. Must be `shared` for functions.\n" }, "type": { "type": "string", "description": "The type of Analytics Item to create. Can be one of `query`, `function`, `folder`, `recent`. Changing this forces a new resource to be created.\n" } }, "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" }, "content": { "type": "string", "description": "The content for the Analytics Item, for example the query text if `type` is `query`.\n" }, "functionAlias": { "type": "string", "description": "The alias to use for the function. Required when `type` is `function`.\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 `shared` or `user`. Changing this forces a new resource to be created. Must be `shared` 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 `query`, `function`, `folder`, `recent`. Changing this forces a new resource to be created.\n" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: \"West Europe\",\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"web\",\n});\nconst readTelemetry = new azure.appinsights.ApiKey(\"readTelemetry\", {\n applicationInsightsId: exampleInsights.id,\n readPermissions: [\n \"aggregate\",\n \"api\",\n \"draft\",\n \"extendqueries\",\n \"search\",\n ],\n});\nconst writeAnnotations = new azure.appinsights.ApiKey(\"writeAnnotations\", {\n applicationInsightsId: exampleInsights.id,\n writePermissions: [\"annotations\"],\n});\nconst authenticateSdkControlChannelApiKey = new azure.appinsights.ApiKey(\"authenticateSdkControlChannelApiKey\", {\n applicationInsightsId: exampleInsights.id,\n readPermissions: [\"agentconfig\"],\n});\nconst fullPermissions = new azure.appinsights.ApiKey(\"fullPermissions\", {\n applicationInsightsId: exampleInsights.id,\n readPermissions: [\n \"agentconfig\",\n \"aggregate\",\n \"api\",\n \"draft\",\n \"extendqueries\",\n \"search\",\n ],\n writePermissions: [\"annotations\"],\n});\nexport const readTelemetryApiKey = readTelemetry.apiKey;\nexport const writeAnnotationsApiKey = writeAnnotations.apiKey;\nexport const authenticateSdkControlChannel = authenticateSdkControlChannelApiKey.apiKey;\nexport const fullPermissionsApiKey = fullPermissions.apiKey;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=\"West Europe\",\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\nread_telemetry = azure.appinsights.ApiKey(\"readTelemetry\",\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(\"writeAnnotations\",\n application_insights_id=example_insights.id,\n write_permissions=[\"annotations\"])\nauthenticate_sdk_control_channel_api_key = azure.appinsights.ApiKey(\"authenticateSdkControlChannelApiKey\",\n application_insights_id=example_insights.id,\n read_permissions=[\"agentconfig\"])\nfull_permissions = azure.appinsights.ApiKey(\"fullPermissions\",\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.api_key)\npulumi.export(\"fullPermissionsApiKey\", full_permissions.api_key)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = \"West Europe\",\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n var readTelemetry = new Azure.AppInsights.ApiKey(\"readTelemetry\", new Azure.AppInsights.ApiKeyArgs\n {\n ApplicationInsightsId = exampleInsights.Id,\n ReadPermissions = \n {\n \"aggregate\",\n \"api\",\n \"draft\",\n \"extendqueries\",\n \"search\",\n },\n });\n var writeAnnotations = new Azure.AppInsights.ApiKey(\"writeAnnotations\", new Azure.AppInsights.ApiKeyArgs\n {\n ApplicationInsightsId = exampleInsights.Id,\n WritePermissions = \n {\n \"annotations\",\n },\n });\n var authenticateSdkControlChannelApiKey = new Azure.AppInsights.ApiKey(\"authenticateSdkControlChannelApiKey\", new Azure.AppInsights.ApiKeyArgs\n {\n ApplicationInsightsId = exampleInsights.Id,\n ReadPermissions = \n {\n \"agentconfig\",\n },\n });\n var fullPermissions = new Azure.AppInsights.ApiKey(\"fullPermissions\", new Azure.AppInsights.ApiKeyArgs\n {\n ApplicationInsightsId = exampleInsights.Id,\n ReadPermissions = \n {\n \"agentconfig\",\n \"aggregate\",\n \"api\",\n \"draft\",\n \"extendqueries\",\n \"search\",\n },\n WritePermissions = \n {\n \"annotations\",\n },\n });\n this.ReadTelemetryApiKey = readTelemetry.ApiKey;\n this.WriteAnnotationsApiKey = writeAnnotations.ApiKey;\n this.AuthenticateSdkControlChannel = authenticateSdkControlChannelApiKey.ApiKey;\n this.FullPermissionsApiKey = fullPermissions.ApiKey;\n }\n\n [Output(\"readTelemetryApiKey\")]\n public Output\u003cstring\u003e ReadTelemetryApiKey { get; set; }\n [Output(\"writeAnnotationsApiKey\")]\n public Output\u003cstring\u003e WriteAnnotationsApiKey { get; set; }\n [Output(\"authenticateSdkControlChannel\")]\n public Output\u003cstring\u003e AuthenticateSdkControlChannel { get; set; }\n [Output(\"fullPermissionsApiKey\")]\n public Output\u003cstring\u003e FullPermissionsApiKey { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"readTelemetry\", \u0026appinsights.ApiKeyArgs{\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, \"writeAnnotations\", \u0026appinsights.ApiKeyArgs{\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\tauthenticateSdkControlChannelApiKey, err := appinsights.NewApiKey(ctx, \"authenticateSdkControlChannelApiKey\", \u0026appinsights.ApiKeyArgs{\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, \"fullPermissions\", \u0026appinsights.ApiKeyArgs{\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\", authenticateSdkControlChannelApiKey.ApiKey)\n\t\tctx.Export(\"fullPermissionsApiKey\", fullPermissions.ApiKey)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "apiKey": { "type": "string", "description": "The API Key secret (Sensitive).\n", "language": { "csharp": { "name": "Key" } } }, "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\nnew 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 `agentconfig`, `aggregate`, `api`, `draft`, `extendqueries`, `search`. 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 `annotations`. Please note these values are case sensitive. Changing this forces a new resource to be created.\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" }, "name": { "type": "string", "description": "Specifies the name of the Application Insights API key. Changing this forces a\nnew 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 `agentconfig`, `aggregate`, `api`, `draft`, `extendqueries`, `search`. 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 `annotations`. Please note these values are case sensitive. Changing this forces a new resource to be created.\n" } }, "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" } } }, "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\nnew 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 `agentconfig`, `aggregate`, `api`, `draft`, `extendqueries`, `search`. 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 `annotations`. Please note these values are case sensitive. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:appinsights/insights:Insights": { "description": "Manages an Application Insights component.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\npulumi.export(\"instrumentationKey\", example_insights.instrumentation_key)\npulumi.export(\"appId\", example_insights.app_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n this.InstrumentationKey = exampleInsights.InstrumentationKey;\n this.AppId = exampleInsights.AppId;\n }\n\n [Output(\"instrumentationKey\")]\n public Output\u003cstring\u003e InstrumentationKey { get; set; }\n [Output(\"appId\")]\n public Output\u003cstring\u003e AppId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` 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" }, "dailyDataCapInGb": { "type": "number", "description": "Specifies the Application Insights component daily data volume cap in GB.\n" }, "dailyDataCapNotificationsDisabled": { "type": "boolean", "description": "Specifies if a notification email will be send when the daily data volume cap is met.\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 `false`.\n" }, "instrumentationKey": { "type": "string", "description": "The Instrumentation Key for this Application Insights component.\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\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Application Insights component.\n" }, "retentionInDays": { "type": "integer", "description": "Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.\n" }, "samplingPercentage": { "type": "number", "description": "Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "appId", "applicationType", "dailyDataCapInGb", "dailyDataCapNotificationsDisabled", "instrumentationKey", "location", "name", "resourceGroupName" ], "inputProperties": { "applicationType": { "type": "string", "description": "Specifies the type of Application Insights to create. Valid values are `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` 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" }, "dailyDataCapInGb": { "type": "number", "description": "Specifies the Application Insights component daily data volume cap in GB.\n" }, "dailyDataCapNotificationsDisabled": { "type": "boolean", "description": "Specifies if a notification email will be send when the daily data volume cap is met.\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 `false`.\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\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Application Insights component.\n" }, "retentionInDays": { "type": "integer", "description": "Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.\n" }, "samplingPercentage": { "type": "number", "description": "Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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 `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` 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" }, "dailyDataCapInGb": { "type": "number", "description": "Specifies the Application Insights component daily data volume cap in GB.\n" }, "dailyDataCapNotificationsDisabled": { "type": "boolean", "description": "Specifies if a notification email will be send when the daily data volume cap is met.\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 `false`.\n" }, "instrumentationKey": { "type": "string", "description": "The Instrumentation Key for this Application Insights component.\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\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Application Insights component.\n" }, "retentionInDays": { "type": "integer", "description": "Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.\n" }, "samplingPercentage": { "type": "number", "description": "Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:appinsights/webTest:WebTest": { "description": "Manages an Application Insights WebTest.\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.\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. Default is `300`.\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" }, "kind": { "type": "string", "description": "= (Required) The kind of web test that this web test watches. Choices are `ping` and `multistep`.\n" }, "location": { "type": "string", "description": "The location of the resource group.\n" }, "name": { "type": "string", "description": "Specifies the name of the Application Insights WebTest. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string" }, "retryEnabled": { "type": "boolean", "description": "Allow for retries should this WebTest fail.\n" }, "syntheticMonitorId": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags.\n" }, "timeout": { "type": "integer", "description": "Seconds until this WebTest will timeout and fail. Default is `30`.\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" }, "configuration": { "type": "string", "description": "An XML configuration specification for a WebTest.\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. Default is `300`.\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" }, "kind": { "type": "string", "description": "= (Required) The kind of web test that this web test watches. Choices are `ping` and `multistep`.\n" }, "location": { "type": "string", "description": "The location of the resource group.\n" }, "name": { "type": "string", "description": "Specifies the name of the Application Insights WebTest. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string" }, "retryEnabled": { "type": "boolean", "description": "Allow for retries should this WebTest fail.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags.\n" }, "timeout": { "type": "integer", "description": "Seconds until this WebTest will timeout and fail. Default is `30`.\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" }, "configuration": { "type": "string", "description": "An XML configuration specification for a WebTest.\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. Default is `300`.\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" }, "kind": { "type": "string", "description": "= (Required) The kind of web test that this web test watches. Choices are `ping` and `multistep`.\n" }, "location": { "type": "string", "description": "The location of the resource group.\n" }, "name": { "type": "string", "description": "Specifies the name of the Application Insights WebTest. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string" }, "retryEnabled": { "type": "boolean", "description": "Allow for retries should this WebTest fail.\n" }, "syntheticMonitorId": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource tags.\n" }, "timeout": { "type": "integer", "description": "Seconds until this WebTest will timeout and fail. Default is `30`.\n" } }, "type": "object" } }, "azure:appplatform/springCloudApp:SpringCloudApp": { "description": "Manage an Azure Spring Cloud Application.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Southeast Asia\"});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"exampleSpringCloudService\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleSpringCloudApp = new azure.appplatform.SpringCloudApp(\"exampleSpringCloudApp\", {\n resourceGroupName: exampleResourceGroup.name,\n serviceName: exampleSpringCloudService.name,\n identity: {\n type: \"SystemAssigned\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Southeast Asia\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"exampleSpringCloudService\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_spring_cloud_app = azure.appplatform.SpringCloudApp(\"exampleSpringCloudApp\",\n resource_group_name=example_resource_group.name,\n service_name=example_spring_cloud_service.name,\n identity=azure.appplatform.SpringCloudAppIdentityArgs(\n type=\"SystemAssigned\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Southeast Asia\",\n });\n var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"exampleSpringCloudService\", new Azure.AppPlatform.SpringCloudServiceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp(\"exampleSpringCloudApp\", new Azure.AppPlatform.SpringCloudAppArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServiceName = exampleSpringCloudService.Name,\n Identity = new Azure.AppPlatform.Inputs.SpringCloudAppIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"Southeast Asia\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"exampleSpringCloudService\", \u0026appplatform.SpringCloudServiceArgs{\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 = appplatform.NewSpringCloudApp(ctx, \"exampleSpringCloudApp\", \u0026appplatform.SpringCloudAppArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "identity": { "$ref": "#/types/azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity", "description": "An `identity` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Spring Cloud Application. 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 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" } }, "required": [ "name", "resourceGroupName", "serviceName" ], "inputProperties": { "identity": { "$ref": "#/types/azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity", "description": "An `identity` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Spring Cloud Application. 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 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" } }, "requiredInputs": [ "resourceGroupName", "serviceName" ], "stateInputs": { "description": "Input properties used for looking up and filtering SpringCloudApp resources.\n", "properties": { "identity": { "$ref": "#/types/azure:appplatform/SpringCloudAppIdentity:SpringCloudAppIdentity", "description": "An `identity` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Spring Cloud Application. 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 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" } }, "type": "object" } }, "azure:appplatform/springCloudCertificate:SpringCloudCertificate": { "description": "Manages an Azure Spring Cloud Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Southeast Asia\"});\nconst current = azure.core.getClientConfig({});\nconst exampleServicePrincipal = azuread.getServicePrincipal({\n displayName: \"Azure Spring Cloud Domain-Management\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n accessPolicies: [\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.objectId),\n secretPermissions: [\"set\"],\n certificatePermissions: [\n \"create\",\n \"delete\",\n \"get\",\n \"update\",\n ],\n },\n {\n tenantId: current.then(current =\u003e current.tenantId),\n objectId: exampleServicePrincipal.then(exampleServicePrincipal =\u003e exampleServicePrincipal.objectId),\n secretPermissions: [\n \"get\",\n \"list\",\n ],\n certificatePermissions: [\n \"get\",\n \"list\",\n ],\n },\n ],\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\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 keyUsages: [\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subject: \"CN=contoso.com\",\n validityInMonths: 12,\n },\n },\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"exampleSpringCloudService\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleSpringCloudCertificate = new azure.appplatform.SpringCloudCertificate(\"exampleSpringCloudCertificate\", {\n resourceGroupName: exampleSpringCloudService.resourceGroupName,\n serviceName: exampleSpringCloudService.name,\n keyVaultCertificateId: exampleCertificate.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Southeast Asia\")\ncurrent = azure.core.get_client_config()\nexample_service_principal = azuread.get_service_principal(display_name=\"Azure Spring Cloud Domain-Management\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n access_policies=[\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n secret_permissions=[\"set\"],\n certificate_permissions=[\n \"create\",\n \"delete\",\n \"get\",\n \"update\",\n ],\n ),\n azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=example_service_principal.object_id,\n secret_permissions=[\n \"get\",\n \"list\",\n ],\n certificate_permissions=[\n \"get\",\n \"list\",\n ],\n ),\n ])\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties={\n \"exportable\": True,\n \"key_size\": 2048,\n \"key_type\": \"RSA\",\n \"reuseKey\": True,\n },\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\n key_usages=[\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n ],\n subject=\"CN=contoso.com\",\n validity_in_months=12,\n ),\n ))\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"exampleSpringCloudService\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_spring_cloud_certificate = azure.appplatform.SpringCloudCertificate(\"exampleSpringCloudCertificate\",\n resource_group_name=example_spring_cloud_service.resource_group_name,\n service_name=example_spring_cloud_service.name,\n key_vault_certificate_id=example_certificate.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Southeast Asia\",\n });\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleServicePrincipal = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = \"Azure Spring Cloud Domain-Management\",\n }));\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SkuName = \"standard\",\n AccessPolicies = \n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n SecretPermissions = \n {\n \"set\",\n },\n CertificatePermissions = \n {\n \"create\",\n \"delete\",\n \"get\",\n \"update\",\n },\n },\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = exampleServicePrincipal.Apply(exampleServicePrincipal =\u003e exampleServicePrincipal.ObjectId),\n SecretPermissions = \n {\n \"get\",\n \"list\",\n },\n CertificatePermissions = \n {\n \"get\",\n \"list\",\n },\n },\n },\n });\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new Azure.KeyVault.CertificateArgs\n {\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 = \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 = \n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n Subject = \"CN=contoso.com\",\n ValidityInMonths = 12,\n },\n },\n });\n var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"exampleSpringCloudService\", new Azure.AppPlatform.SpringCloudServiceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleSpringCloudCertificate = new Azure.AppPlatform.SpringCloudCertificate(\"exampleSpringCloudCertificate\", new Azure.AppPlatform.SpringCloudCertificateArgs\n {\n ResourceGroupName = exampleSpringCloudService.ResourceGroupName,\n ServiceName = exampleSpringCloudService.Name,\n KeyVaultCertificateId = exampleCertificate.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v2/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"Southeast Asia\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\topt0 := \"Azure Spring Cloud Domain-Management\"\n\t\texampleServicePrincipal, err := azuread.LookupServicePrincipal(ctx, \u0026azuread.LookupServicePrincipalArgs{\n\t\t\tDisplayName: \u0026opt0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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(\"set\"),\n\t\t\t\t\t},\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(\"get\"),\n\t\t\t\t\t\tpulumi.String(\"update\"),\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(exampleServicePrincipal.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(\"list\"),\n\t\t\t\t\t},\n\t\t\t\t\tCertificatePermissions: 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\texampleCertificate, err := keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\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\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=contoso.com\"),\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\texampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, \"exampleSpringCloudService\", \u0026appplatform.SpringCloudServiceArgs{\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 = appplatform.NewSpringCloudCertificate(ctx, \"exampleSpringCloudCertificate\", \u0026appplatform.SpringCloudCertificateArgs{\n\t\t\tResourceGroupName: exampleSpringCloudService.ResourceGroupName,\n\t\t\tServiceName: exampleSpringCloudService.Name,\n\t\t\tKeyVaultCertificateId: exampleCertificate.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" } }, "required": [ "keyVaultCertificateId", "name", "resourceGroupName", "serviceName" ], "inputProperties": { "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" } }, "requiredInputs": [ "keyVaultCertificateId", "resourceGroupName", "serviceName" ], "stateInputs": { "description": "Input properties used for looking up and filtering SpringCloudCertificate resources.\n", "properties": { "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" } }, "type": "object" } }, "azure:appplatform/springCloudService:SpringCloudService": { "description": "Manages an Azure Spring Cloud Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Southeast Asia\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"web\",\n});\nconst exampleSpringCloudService = new azure.appplatform.SpringCloudService(\"exampleSpringCloudService\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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 instrumentationKey: exampleInsights.instrumentationKey,\n },\n tags: {\n Env: \"staging\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Southeast Asia\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\nexample_spring_cloud_service = azure.appplatform.SpringCloudService(\"exampleSpringCloudService\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku_name=\"S0\",\n config_server_git_setting=azure.appplatform.SpringCloudServiceConfigServerGitSettingArgs(\n uri=\"https://github.com/Azure-Samples/piggymetrics\",\n label=\"config\",\n search_paths=[\n \"dir1\",\n \"dir2\",\n ],\n ),\n trace=azure.appplatform.SpringCloudServiceTraceArgs(\n instrumentation_key=example_insights.instrumentation_key,\n ),\n tags={\n \"Env\": \"staging\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Southeast Asia\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService(\"exampleSpringCloudService\", new Azure.AppPlatform.SpringCloudServiceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 = \n {\n \"dir1\",\n \"dir2\",\n },\n },\n Trace = new Azure.AppPlatform.Inputs.SpringCloudServiceTraceArgs\n {\n InstrumentationKey = exampleInsights.InstrumentationKey,\n },\n Tags = \n {\n { \"Env\", \"staging\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"Southeast Asia\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInsights, err := appinsights.NewInsights(ctx, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSpringCloudService\", \u0026appplatform.SpringCloudServiceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\tInstrumentationKey: exampleInsights.InstrumentationKey,\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{{% /example %}}\n{{% /examples %}}", "properties": { "configServerGitSetting": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting", "description": "A `config_server_git_setting` 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" }, "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 `network` block as defined below. 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 Service. Changing this forces a new resource to be created.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0` and `S0`. Defaults to `S0`.\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 `trace` block as defined below.\n" } }, "required": [ "location", "name", "resourceGroupName" ], "inputProperties": { "configServerGitSetting": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting", "description": "A `config_server_git_setting` 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" }, "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 `network` block as defined below. 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 Service. Changing this forces a new resource to be created.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0` and `S0`. Defaults to `S0`.\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 `trace` block as defined below.\n" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering SpringCloudService resources.\n", "properties": { "configServerGitSetting": { "$ref": "#/types/azure:appplatform/SpringCloudServiceConfigServerGitSetting:SpringCloudServiceConfigServerGitSetting", "description": "A `config_server_git_setting` 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" }, "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 `network` block as defined below. 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 Service. Changing this forces a new resource to be created.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0` and `S0`. Defaults to `S0`.\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 `trace` block as defined below.\n" } }, "type": "object" } }, "azure:appservice/activeSlot:ActiveSlot": { "description": "Promotes an App Service Slot to Production within an App Service.\n\n\u003e **Note:** When using Slots - the `app_settings`, `connection_string` and `site_config` blocks on the `azure.appservice.AppService` resource will be overwritten when promoting a Slot using the `azure.appservice.ActiveSlot` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {});\n// ...\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {});\n// ...\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {});\n// ...\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {});\n// ...\nconst exampleSlot = new azure.appservice.Slot(\"exampleSlot\", {});\n// ...\nconst exampleActiveSlot = new azure.appservice.ActiveSlot(\"exampleActiveSlot\", {\n resourceGroupName: exampleResourceGroup.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.RandomId(\"server\")\n# ...\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\")\n# ...\nexample_plan = azure.appservice.Plan(\"examplePlan\")\n# ...\nexample_app_service = azure.appservice.AppService(\"exampleAppService\")\n# ...\nexample_slot = azure.appservice.Slot(\"exampleSlot\")\n# ...\nexample_active_slot = azure.appservice.ActiveSlot(\"exampleActiveSlot\",\n resource_group_name=example_resource_group.name,\n app_service_name=example_app_service.name,\n app_service_slot_name=example_slot.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n });\n // ...\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n });\n // ...\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n });\n // ...\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n });\n // ...\n var exampleSlot = new Azure.AppService.Slot(\"exampleSlot\", new Azure.AppService.SlotArgs\n {\n });\n // ...\n var exampleActiveSlot = new Azure.AppService.ActiveSlot(\"exampleActiveSlot\", new Azure.AppService.ActiveSlotArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AppServiceName = exampleAppService.Name,\n AppServiceSlotName = exampleSlot.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewRandomId(ctx, \"server\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewPlan(ctx, \"examplePlan\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppService, err := appservice.NewAppService(ctx, \"exampleAppService\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlot, err := appservice.NewSlot(ctx, \"exampleSlot\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appservice.NewActiveSlot(ctx, \"exampleActiveSlot\", \u0026appservice.ActiveSlotArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:appservice/appService:AppService": { "description": "Manages an App Service (within an App Service Plan).\n\n\u003e **Note:** When using Slots - the `app_settings`, `connection_string` and `site_config` blocks on the `azure.appservice.AppService` resource will be overwritten when promoting a Slot using the `azure.appservice.ActiveSlot` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a Windows App Service.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id,\n site_config=azure.appservice.AppServiceSiteConfigArgs(\n dotnet_framework_version=\"v4.0\",\n scm_type=\"LocalGit\",\n ),\n app_settings={\n \"SOME_KEY\": \"some-value\",\n },\n connection_strings=[azure.appservice.AppServiceConnectionStringArgs(\n name=\"Database\",\n type=\"SQLServer\",\n value=\"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `auth_settings` block as defined below.\n" }, "backup": { "$ref": "#/types/azure:appservice/AppServiceBackup:AppServiceBackup", "description": "A `backup` 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 `false`.\n" }, "connectionStrings": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceConnectionString:AppServiceConnectionString" }, "description": "One or more `connection_string` blocks as defined below.\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?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/AppServiceIdentity:AppServiceIdentity", "description": "A Managed Service Identity 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" }, "logs": { "$ref": "#/types/azure:appservice/AppServiceLogs:AppServiceLogs", "description": "A `logs` 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" }, "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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the App Service.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig", "description": "A `site_config` block as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceSiteCredential:AppServiceSiteCredential" }, "description": "A `site_credential` 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 Source Control block as defined below\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount" }, "description": "One or more `storage_account` 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", "connectionStrings", "defaultSiteHostname", "identity", "location", "logs", "name", "outboundIpAddresses", "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 `auth_settings` block as defined below.\n" }, "backup": { "$ref": "#/types/azure:appservice/AppServiceBackup:AppServiceBackup", "description": "A `backup` 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 `false`.\n" }, "connectionStrings": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceConnectionString:AppServiceConnectionString" }, "description": "One or more `connection_string` blocks as defined below.\n" }, "enabled": { "type": "boolean", "description": "Is the App Service Enabled?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/AppServiceIdentity:AppServiceIdentity", "description": "A Managed Service Identity 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" }, "logs": { "$ref": "#/types/azure:appservice/AppServiceLogs:AppServiceLogs", "description": "A `logs` 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the App Service.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig", "description": "A `site_config` block as defined below.\n" }, "sourceControl": { "$ref": "#/types/azure:appservice/AppServiceSourceControl:AppServiceSourceControl", "description": "A Source Control block as defined below\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount" }, "description": "One or more `storage_account` 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 `auth_settings` block as defined below.\n" }, "backup": { "$ref": "#/types/azure:appservice/AppServiceBackup:AppServiceBackup", "description": "A `backup` 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 `false`.\n" }, "connectionStrings": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceConnectionString:AppServiceConnectionString" }, "description": "One or more `connection_string` blocks as defined below.\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?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/AppServiceIdentity:AppServiceIdentity", "description": "A Managed Service Identity 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" }, "logs": { "$ref": "#/types/azure:appservice/AppServiceLogs:AppServiceLogs", "description": "A `logs` 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" }, "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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the App Service.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/AppServiceSiteConfig:AppServiceSiteConfig", "description": "A `site_config` block as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceSiteCredential:AppServiceSiteCredential" }, "description": "A `site_credential` 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 Source Control block as defined below\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:appservice/AppServiceStorageAccount:AppServiceStorageAccount" }, "description": "One or more `storage_account` 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", "properties": { "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": "Must be specified when the certificate is for an App Service Environment hosted App Service. Changing this forces a new resource to be created.\n" }, "issueDate": { "type": "string", "description": "The issue date for the certificate.\n" }, "issuer": { "type": "string", "description": "The name of the certificate issuer.\n" }, "keyVaultSecretId": { "type": "string", "description": "The ID of the Key Vault secret. 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 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" }, "pfxBlob": { "type": "string", "description": "The base64-encoded contents 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 to create the certificate. Changing this forces a new resource to be created.\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", "issueDate", "issuer", "location", "name", "resourceGroupName", "subjectName", "thumbprint" ], "inputProperties": { "hostingEnvironmentProfileId": { "type": "string", "description": "Must be specified when the certificate is for an App Service Environment hosted App Service. Changing this forces a new resource to be created.\n" }, "keyVaultSecretId": { "type": "string", "description": "The ID of the Key Vault secret. 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 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" }, "pfxBlob": { "type": "string", "description": "The base64-encoded contents 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 to create the certificate. Changing this forces a new resource to be created.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Certificate resources.\n", "properties": { "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": "Must be specified when the certificate is for an App Service Environment hosted App Service. Changing this forces a new resource to be created.\n" }, "issueDate": { "type": "string", "description": "The issue date for the certificate.\n" }, "issuer": { "type": "string", "description": "The name of the certificate issuer.\n" }, "keyVaultSecretId": { "type": "string", "description": "The ID of the Key Vault secret. 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 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" }, "pfxBlob": { "type": "string", "description": "The base64-encoded contents 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 to create the certificate. Changing this forces a new resource to be created.\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" } }, "type": "object" } }, "azure:appservice/certificateOrder:CertificateOrder": { "description": "Manages an App Service Certificate Order.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCertificateOrder = new azure.appservice.CertificateOrder(\"exampleCertificateOrder\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_certificate_order = azure.appservice.CertificateOrder(\"exampleCertificateOrder\",\n resource_group_name=example_resource_group.name,\n location=\"global\",\n distinguished_name=\"CN=example.com\",\n product_type=\"Standard\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleCertificateOrder = new Azure.AppService.CertificateOrder(\"exampleCertificateOrder\", new Azure.AppService.CertificateOrderArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"global\",\n DistinguishedName = \"CN=example.com\",\n ProductType = \"Standard\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleCertificateOrder\", \u0026appservice.CertificateOrderArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 true.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:appservice/CertificateOrderCertificate:CertificateOrderCertificate" }, "description": "State of the Key Vault secret. A `certificates` 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" }, "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 2048.\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 `global`.\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`.\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": "A mapping of tags to assign to the resource.\n" }, "validityInYears": { "type": "integer", "description": "Duration in years (must be between `1` and `3`). Defaults to `1`.\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 true.\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" }, "keySize": { "type": "integer", "description": "Certificate key size. Defaults to 2048.\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 `global`.\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`.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "validityInYears": { "type": "integer", "description": "Duration in years (must be between `1` and `3`). Defaults to `1`.\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 true.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:appservice/CertificateOrderCertificate:CertificateOrderCertificate" }, "description": "State of the Key Vault secret. A `certificates` 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" }, "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 2048.\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 `global`.\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`.\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": "A mapping of tags to assign to the resource.\n" }, "validityInYears": { "type": "integer", "description": "Duration in years (must be between `1` and `3`). Defaults to `1`.\n" } }, "type": "object" } }, "azure:appservice/customHostnameBinding:CustomHostnameBinding": { "description": "Manages a Hostname Binding within an App Service (or Function App).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst exampleCustomHostnameBinding = new azure.appservice.CustomHostnameBinding(\"exampleCustomHostnameBinding\", {\n hostname: \"www.mywebsite.com\",\n appServiceName: exampleAppService.name,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_custom_hostname_binding = azure.appservice.CustomHostnameBinding(\"exampleCustomHostnameBinding\",\n hostname=\"www.mywebsite.com\",\n app_service_name=example_app_service.name,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n var exampleCustomHostnameBinding = new Azure.AppService.CustomHostnameBinding(\"exampleCustomHostnameBinding\", new Azure.AppService.CustomHostnameBindingArgs\n {\n Hostname = \"www.mywebsite.com\",\n AppServiceName = exampleAppService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\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 = appservice.NewCustomHostnameBinding(ctx, \"exampleCustomHostnameBinding\", \u0026appservice.CustomHostnameBindingArgs{\n\t\t\tHostname: pulumi.String(\"www.mywebsite.com\"),\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "virtualIp": { "type": "string", "description": "The virtual IP address assigned to the hostname if IP based SSL is enabled.\n" } }, "required": [ "appServiceName", "hostname", "resourceGroupName", "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" }, "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" }, "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" } }, "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" }, "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" }, "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" }, "virtualIp": { "type": "string", "description": "The virtual IP address assigned to the hostname if IP based SSL is enabled.\n" } }, "type": "object" } }, "azure:appservice/environment:Environment": { "description": "Manages an App Service Environment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westeurope\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst ase = new azure.network.Subnet(\"ase\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst gateway = new azure.network.Subnet(\"gateway\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleEnvironment = new azure.appservice.Environment(\"exampleEnvironment\", {\n subnetId: ase.id,\n pricingTier: \"I2\",\n frontEndScaleFactor: 10,\n internalLoadBalancingMode: \"Web, Publishing\",\n allowedUserIpCidrs: [\n \"11.22.33.44/32\",\n \"55.66.77.0/24\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westeurope\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n address_spaces=[\"10.0.0.0/16\"])\nase = azure.network.Subnet(\"ase\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\ngateway = azure.network.Subnet(\"gateway\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_environment = azure.appservice.Environment(\"exampleEnvironment\",\n subnet_id=ase.id,\n pricing_tier=\"I2\",\n front_end_scale_factor=10,\n internal_load_balancing_mode=\"Web, Publishing\",\n allowed_user_ip_cidrs=[\n \"11.22.33.44/32\",\n \"55.66.77.0/24\",\n ])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var ase = new Azure.Network.Subnet(\"ase\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var gateway = new Azure.Network.Subnet(\"gateway\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleEnvironment = new Azure.AppService.Environment(\"exampleEnvironment\", new Azure.AppService.EnvironmentArgs\n {\n SubnetId = ase.Id,\n PricingTier = \"I2\",\n FrontEndScaleFactor = 10,\n InternalLoadBalancingMode = \"Web, Publishing\",\n AllowedUserIpCidrs = \n {\n \"11.22.33.44/32\",\n \"55.66.77.0/24\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\tase, err := network.NewSubnet(ctx, \"ase\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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.NewSubnet(ctx, \"gateway\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\t_, err = appservice.NewEnvironment(ctx, \"exampleEnvironment\", \u0026appservice.EnvironmentArgs{\n\t\t\tSubnetId: ase.ID(),\n\t\t\tPricingTier: pulumi.String(\"I2\"),\n\t\t\tFrontEndScaleFactor: pulumi.Int(10),\n\t\t\tInternalLoadBalancingMode: pulumi.String(\"Web, Publishing\"),\n\t\t\tAllowedUserIpCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"11.22.33.44/32\"),\n\t\t\t\tpulumi.String(\"55.66.77.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{{% /example %}}\n{{% /examples %}}", "properties": { "allowedUserIpCidrs": { "type": "array", "items": { "type": "string" }, "description": "Allowed user added IP ranges on the ASE database. Use the addresses you want to set as the explicit egress address ranges.\n" }, "frontEndScaleFactor": { "type": "integer", "description": "Scale factor for front end instances. Possible values are between `5` and `15`. Defaults to `15`.\n" }, "internalLoadBalancingMode": { "type": "string", "description": "Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are `None`, `Web`, `Publishing` and combined value `\"Web, Publishing\"`. Defaults to `None`.\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. Possible values are `I1`, `I2` and `I3`. Defaults to `I1`.\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 `subnet_id`).\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" }, "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" }, "userWhitelistedIpRanges": { "type": "array", "items": { "type": "string" }, "deprecationMessage": "this property has been renamed to `allowed_user_ip_cidrs` better reflect the expected ip range format" } }, "required": [ "allowedUserIpCidrs", "location", "name", "resourceGroupName", "subnetId", "userWhitelistedIpRanges" ], "inputProperties": { "allowedUserIpCidrs": { "type": "array", "items": { "type": "string" }, "description": "Allowed user added IP ranges on the ASE database. Use the addresses you want to set as the explicit egress address ranges.\n" }, "frontEndScaleFactor": { "type": "integer", "description": "Scale factor for front end instances. Possible values are between `5` and `15`. Defaults to `15`.\n" }, "internalLoadBalancingMode": { "type": "string", "description": "Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are `None`, `Web`, `Publishing` and combined value `\"Web, Publishing\"`. Defaults to `None`.\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. Possible values are `I1`, `I2` and `I3`. Defaults to `I1`.\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 `subnet_id`).\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" }, "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" }, "userWhitelistedIpRanges": { "type": "array", "items": { "type": "string" }, "deprecationMessage": "this property has been renamed to `allowed_user_ip_cidrs` better reflect the expected ip range format" } }, "requiredInputs": [ "subnetId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Environment resources.\n", "properties": { "allowedUserIpCidrs": { "type": "array", "items": { "type": "string" }, "description": "Allowed user added IP ranges on the ASE database. Use the addresses you want to set as the explicit egress address ranges.\n" }, "frontEndScaleFactor": { "type": "integer", "description": "Scale factor for front end instances. Possible values are between `5` and `15`. Defaults to `15`.\n" }, "internalLoadBalancingMode": { "type": "string", "description": "Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values are `None`, `Web`, `Publishing` and combined value `\"Web, Publishing\"`. Defaults to `None`.\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. Possible values are `I1`, `I2` and `I3`. Defaults to `I1`.\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 `subnet_id`).\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" }, "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" }, "userWhitelistedIpRanges": { "type": "array", "items": { "type": "string" }, "deprecationMessage": "this property has been renamed to `allowed_user_ip_cidrs` better reflect the expected ip range format" } }, "type": "object" } }, "azure:appservice/functionApp:FunctionApp": { "description": "Manages a Function App.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With App Service Plan)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus2\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"exampleFunctionApp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus2\")\nexample_account = azure.storage.Account(\"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_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_function_app = azure.appservice.FunctionApp(\"exampleFunctionApp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus2\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleFunctionApp = new Azure.AppService.FunctionApp(\"exampleFunctionApp\", new Azure.AppService.FunctionAppArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n StorageAccountName = exampleAccount.Name,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\texamplePlan, err := appservice.NewPlan(ctx, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleFunctionApp\", \u0026appservice.FunctionAppArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% example %}}\n### In A Consumption Plan)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus2\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n kind: \"FunctionApp\",\n sku: {\n tier: \"Dynamic\",\n size: \"Y1\",\n },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"exampleFunctionApp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus2\")\nexample_account = azure.storage.Account(\"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_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"FunctionApp\",\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Dynamic\",\n size=\"Y1\",\n ))\nexample_function_app = azure.appservice.FunctionApp(\"exampleFunctionApp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus2\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Kind = \"FunctionApp\",\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Dynamic\",\n Size = \"Y1\",\n },\n });\n var exampleFunctionApp = new Azure.AppService.FunctionApp(\"exampleFunctionApp\", new Azure.AppService.FunctionAppArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n StorageAccountName = exampleAccount.Name,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\texamplePlan, err := appservice.NewPlan(ctx, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKind: pulumi.String(\"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, \"exampleFunctionApp\", \u0026appservice.FunctionAppArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% example %}}\n### Linux)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus2\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n kind: \"FunctionApp\",\n reserved: true,\n sku: {\n tier: \"Dynamic\",\n size: \"Y1\",\n },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"exampleFunctionApp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n storageAccountName: exampleAccount.name,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n osType: \"linux\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus2\")\nexample_account = azure.storage.Account(\"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_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"FunctionApp\",\n reserved=True,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Dynamic\",\n size=\"Y1\",\n ))\nexample_function_app = azure.appservice.FunctionApp(\"exampleFunctionApp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus2\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Kind = \"FunctionApp\",\n Reserved = true,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Dynamic\",\n Size = \"Y1\",\n },\n });\n var exampleFunctionApp = new Azure.AppService.FunctionApp(\"exampleFunctionApp\", new Azure.AppService.FunctionAppArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n StorageAccountName = exampleAccount.Name,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n OsType = \"linux\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\texamplePlan, err := appservice.NewPlan(ctx, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKind: pulumi.String(\"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\t_, err = appservice.NewFunctionApp(ctx, \"exampleFunctionApp\", \u0026appservice.FunctionAppArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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/en-us/azure/azure-functions/functions-app-settings) and custom values.\n" }, "authSettings": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings", "description": "A `auth_settings` block as defined below.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Should the Function App 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/FunctionAppConnectionString:FunctionAppConnectionString" }, "description": "An `connection_string` 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. Defaults to `0`.\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 `true`.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the Function App only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/FunctionAppIdentity:FunctionAppIdentity", "description": "An `identity` 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.\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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Function App.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig", "description": "A `site_config` object as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSiteCredential:FunctionAppSiteCredential" }, "description": "A `site_credential` 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 `source_control` 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" }, "storageAccountName": { "type": "string", "description": "The backend storage account name which will be used by this Function App (such as the dashboard, logs).\n" }, "storageConnectionString": { "type": "string", "deprecationMessage": "Deprecated in favor of `storage_account_name` and `storage_account_access_key`" }, "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", "authSettings", "clientAffinityEnabled", "connectionStrings", "defaultHostname", "identity", "kind", "location", "name", "outboundIpAddresses", "possibleOutboundIpAddresses", "resourceGroupName", "siteConfig", "siteCredentials", "sourceControl", "storageAccountAccessKey", "storageAccountName", "storageConnectionString" ], "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/en-us/azure/azure-functions/functions-app-settings) and custom values.\n" }, "authSettings": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings", "description": "A `auth_settings` block as defined below.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Should the Function App 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/FunctionAppConnectionString:FunctionAppConnectionString" }, "description": "An `connection_string` 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. Defaults to `0`.\n" }, "enableBuiltinLogging": { "type": "boolean", "description": "Should the built-in logging of this Function App be enabled? Defaults to `true`.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the Function App only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/FunctionAppIdentity:FunctionAppIdentity", "description": "An `identity` 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" }, "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.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Function App.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig", "description": "A `site_config` object as defined below.\n" }, "sourceControl": { "$ref": "#/types/azure:appservice/FunctionAppSourceControl:FunctionAppSourceControl", "description": "A `source_control` 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" }, "storageAccountName": { "type": "string", "description": "The backend storage account name which will be used by this Function App (such as the dashboard, logs).\n" }, "storageConnectionString": { "type": "string", "deprecationMessage": "Deprecated in favor of `storage_account_name` and `storage_account_access_key`" }, "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" ], "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/en-us/azure/azure-functions/functions-app-settings) and custom values.\n" }, "authSettings": { "$ref": "#/types/azure:appservice/FunctionAppAuthSettings:FunctionAppAuthSettings", "description": "A `auth_settings` block as defined below.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Should the Function App 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/FunctionAppConnectionString:FunctionAppConnectionString" }, "description": "An `connection_string` 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. Defaults to `0`.\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 `true`.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the Function App only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/FunctionAppIdentity:FunctionAppIdentity", "description": "An `identity` 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.\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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Function App.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/FunctionAppSiteConfig:FunctionAppSiteConfig", "description": "A `site_config` object as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSiteCredential:FunctionAppSiteCredential" }, "description": "A `site_credential` 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 `source_control` 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" }, "storageAccountName": { "type": "string", "description": "The backend storage account name which will be used by this Function App (such as the dashboard, logs).\n" }, "storageConnectionString": { "type": "string", "deprecationMessage": "Deprecated in favor of `storage_account_name` and `storage_account_access_key`" }, "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/functionAppSlot:FunctionAppSlot": { "description": "Manages a Function App deployment Slot.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With App Service Plan)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus2\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleFunctionApp = new azure.appservice.FunctionApp(\"exampleFunctionApp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n storageAccountName: exampleAccount.name,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleFunctionAppSlot = new azure.appservice.FunctionAppSlot(\"exampleFunctionAppSlot\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus2\")\nexample_account = azure.storage.Account(\"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_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_function_app = azure.appservice.FunctionApp(\"exampleFunctionApp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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(\"exampleFunctionAppSlot\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus2\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleFunctionApp = new Azure.AppService.FunctionApp(\"exampleFunctionApp\", new Azure.AppService.FunctionAppArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n StorageAccountName = exampleAccount.Name,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n });\n var exampleFunctionAppSlot = new Azure.AppService.FunctionAppSlot(\"exampleFunctionAppSlot\", new Azure.AppService.FunctionAppSlotArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n FunctionAppName = exampleFunctionApp.Name,\n StorageAccountName = exampleAccount.Name,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\texamplePlan, err := appservice.NewPlan(ctx, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleFunctionApp\", \u0026appservice.FunctionAppArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleFunctionAppSlot\", \u0026appservice.FunctionAppSlotArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "appServicePlanId": { "type": "string", "description": "The ID of the App Service Plan within which to create this Function App Slot.\n" }, "appSettings": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A key-value pair of App Settings.\n" }, "authSettings": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings", "description": "An `auth_settings` block as defined below.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Should the Function App 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/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString" }, "description": "A `connection_string` 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. Defaults to `0`.\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 `true`.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\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 `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity", "description": "An `identity` 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.\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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Function App Slot.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig", "description": "A `site_config` object as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteCredential:FunctionAppSlotSiteCredential" }, "description": "A `site_credential` 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" }, "storageAccountName": { "type": "string", "description": "The backend storage account name which will be used by the Function App (such as the dashboard, logs).\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", "authSettings", "clientAffinityEnabled", "connectionStrings", "defaultHostname", "functionAppName", "identity", "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.\n" }, "appSettings": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A key-value pair of App Settings.\n" }, "authSettings": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings", "description": "An `auth_settings` block as defined below.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Should the Function App 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/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString" }, "description": "A `connection_string` 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. Defaults to `0`.\n" }, "enableBuiltinLogging": { "type": "boolean", "description": "Should the built-in logging of the Function App be enabled? Defaults to `true`.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\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 `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity", "description": "An `identity` 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" }, "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.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Function App Slot.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig", "description": "A `site_config` 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" }, "storageAccountName": { "type": "string", "description": "The backend storage account name which will be used by the Function App (such as the dashboard, logs).\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" } }, "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.\n" }, "appSettings": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A key-value pair of App Settings.\n" }, "authSettings": { "$ref": "#/types/azure:appservice/FunctionAppSlotAuthSettings:FunctionAppSlotAuthSettings", "description": "An `auth_settings` block as defined below.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Should the Function App 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/FunctionAppSlotConnectionString:FunctionAppSlotConnectionString" }, "description": "A `connection_string` 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. Defaults to `0`.\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 `true`.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\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 `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/FunctionAppSlotIdentity:FunctionAppSlotIdentity", "description": "An `identity` 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.\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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Function App Slot.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteConfig:FunctionAppSlotSiteConfig", "description": "A `site_config` object as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/FunctionAppSlotSiteCredential:FunctionAppSlotSiteCredential" }, "description": "A `site_credential` 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" }, "storageAccountName": { "type": "string", "description": "The backend storage account name which will be used by the Function App (such as the dashboard, logs).\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" } }, "type": "object" } }, "azure:appservice/hybridConnection:HybridConnection": { "description": "Manages an App Service Hybrid Connection for an existing App Service, Relay and Service Bus.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\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```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst exampleNamespace = new azure.relay.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Standard\",\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"exampleHybridConnection\", {\n resourceGroupName: exampleResourceGroup.name,\n relayNamespaceName: exampleNamespace.name,\n userMetadata: \"examplemetadata\",\n});\nconst exampleAppservice_hybridConnectionHybridConnection = new azure.appservice.HybridConnection(\"exampleAppservice/hybridConnectionHybridConnection\", {\n appServiceName: exampleAppService.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_namespace = azure.relay.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Standard\")\nexample_hybrid_connection = azure.relay.HybridConnection(\"exampleHybridConnection\",\n resource_group_name=example_resource_group.name,\n relay_namespace_name=example_namespace.name,\n user_metadata=\"examplemetadata\")\nexample_appservice_hybrid_connection_hybrid_connection = azure.appservice.HybridConnection(\"exampleAppservice/hybridConnectionHybridConnection\",\n app_service_name=example_app_service.name,\n resource_group_name=example_resource_group.name,\n relay_id=example_hybrid_connection.id,\n hostname=\"testhostname.example\",\n port=8080,\n send_key_name=\"exampleSharedAccessKey\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n var exampleNamespace = new Azure.Relay.Namespace(\"exampleNamespace\", new Azure.Relay.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Standard\",\n });\n var exampleHybridConnection = new Azure.Relay.HybridConnection(\"exampleHybridConnection\", new Azure.Relay.HybridConnectionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n RelayNamespaceName = exampleNamespace.Name,\n UserMetadata = \"examplemetadata\",\n });\n var exampleAppservice_hybridConnectionHybridConnection = new Azure.AppService.HybridConnection(\"exampleAppservice/hybridConnectionHybridConnection\", new Azure.AppService.HybridConnectionArgs\n {\n AppServiceName = exampleAppService.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n RelayId = exampleHybridConnection.Id,\n Hostname = \"testhostname.example\",\n Port = 8080,\n SendKeyName = \"exampleSharedAccessKey\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\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\texampleNamespace, err := relay.NewNamespace(ctx, \"exampleNamespace\", \u0026relay.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleHybridConnection\", \u0026relay.HybridConnectionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleAppservice_hybridConnectionHybridConnection\", \u0026appservice.HybridConnectionArgs{\n\t\t\tAppServiceName: exampleAppService.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" }, "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" } }, "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" }, "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" }, "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/plan:Plan": { "description": "Manages an App Service Plan component.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Dedicated)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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\n{{% /example %}}\n{{% example %}}\n### Shared / Consumption Plan)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"FunctionApp\",\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Dynamic\",\n size=\"Y1\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Kind = \"FunctionApp\",\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Dynamic\",\n Size = \"Y1\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKind: pulumi.String(\"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\n{{% /example %}}\n{{% example %}}\n### Linux)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"Linux\",\n reserved=True,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKind: pulumi.String(\"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\n{{% /example %}}\n{{% example %}}\n### Windows Container)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"xenon\",\n is_xenon=True,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"PremiumContainer\",\n size=\"PC2\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tKind: pulumi.String(\"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{{% /example %}}\n{{% /examples %}}", "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" }, "isXenon": { "type": "boolean" }, "kind": { "type": "string", "description": "The kind of the App Service Plan to create. Possible values are `Windows` (also available as `App`), `Linux`, `elastic` (for Premium Consumption) and `FunctionApp` (for a Consumption Plan). Defaults to `Windows`. 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" }, "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 `false` apps assigned to this plan will scale to all instances of the plan. Defaults to `false`.\n" }, "reserved": { "type": "boolean", "description": "Is this App Service Plan `Reserved`. Defaults to `false`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the App Service Plan component.\n" }, "sku": { "$ref": "#/types/azure:appservice/PlanSku:PlanSku", "description": "A `sku` block as documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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" }, "isXenon": { "type": "boolean" }, "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`, `elastic` (for Premium Consumption) and `FunctionApp` (for a Consumption Plan). Defaults to `Windows`. 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" }, "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" }, "perSiteScaling": { "type": "boolean", "description": "Can Apps assigned to this App Service Plan be scaled independently? If set to `false` apps assigned to this plan will scale to all instances of the plan. Defaults to `false`.\n" }, "reserved": { "type": "boolean", "description": "Is this App Service Plan `Reserved`. Defaults to `false`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the App Service Plan component.\n" }, "sku": { "$ref": "#/types/azure:appservice/PlanSku:PlanSku", "description": "A `sku` block 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 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" }, "isXenon": { "type": "boolean" }, "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`, `elastic` (for Premium Consumption) and `FunctionApp` (for a Consumption Plan). Defaults to `Windows`. 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" }, "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 `false` apps assigned to this plan will scale to all instances of the plan. Defaults to `false`.\n" }, "reserved": { "type": "boolean", "description": "Is this App Service Plan `Reserved`. Defaults to `false`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the App Service Plan component.\n" }, "sku": { "$ref": "#/types/azure:appservice/PlanSku:PlanSku", "description": "A `sku` block as documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:appservice/slot:Slot": { "description": "Manages an App Service Slot (within an App Service).\n\n\u003e **Note:** When using Slots - the `app_settings`, `connection_string` and `site_config` blocks on the `azure.appservice.AppService` resource will be overwritten when promoting a Slot using the `azure.appservice.ActiveSlot` resource.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Net 4.X)\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleSlot\", {\n appServiceName: exampleAppService.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id,\n site_config=azure.appservice.AppServiceSiteConfigArgs(\n dotnet_framework_version=\"v4.0\",\n ),\n app_settings={\n \"SOME_KEY\": \"some-value\",\n },\n connection_strings=[azure.appservice.AppServiceConnectionStringArgs(\n name=\"Database\",\n type=\"SQLServer\",\n value=\"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n )])\nexample_slot = azure.appservice.Slot(\"exampleSlot\",\n app_service_name=example_app_service.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id,\n site_config=azure.appservice.SlotSiteConfigArgs(\n dotnet_framework_version=\"v4.0\",\n ),\n app_settings={\n \"SOME_KEY\": \"some-value\",\n },\n connection_strings=[azure.appservice.SlotConnectionStringArgs(\n name=\"Database\",\n type=\"SQLServer\",\n value=\"Server=some-server.mydomain.com;Integrated Security=SSPI\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 = \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 var exampleSlot = new Azure.AppService.Slot(\"exampleSlot\", new Azure.AppService.SlotArgs\n {\n AppServiceName = exampleAppService.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSlot\", \u0026appservice.SlotArgs{\n\t\t\tAppServiceName: exampleAppService.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### Java 1.8)\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePlan = new azure.appservice.Plan(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleSlot\", {\n appServiceName: exampleAppService.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id,\n site_config=azure.appservice.AppServiceSiteConfigArgs(\n java_version=\"1.8\",\n java_container=\"JETTY\",\n java_container_version=\"9.3\",\n ))\nexample_slot = azure.appservice.Slot(\"exampleSlot\",\n app_service_name=example_app_service.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id,\n site_config=azure.appservice.SlotSiteConfigArgs(\n java_version=\"1.8\",\n java_container=\"JETTY\",\n java_container_version=\"9.3\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 var exampleSlot = new Azure.AppService.Slot(\"exampleSlot\", new Azure.AppService.SlotArgs\n {\n AppServiceName = exampleAppService.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSlot\", \u0026appservice.SlotArgs{\n\t\t\tAppServiceName: exampleAppService.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `auth_settings` 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 `connection_string` 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?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service Slot only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/SlotIdentity:SlotIdentity", "description": "A Managed Service Identity 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" }, "logs": { "$ref": "#/types/azure:appservice/SlotLogs:SlotLogs" }, "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.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/SlotSiteConfig:SlotSiteConfig", "description": "A `site_config` object as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/SlotSiteCredential:SlotSiteCredential" }, "description": "A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.\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", "identity", "location", "logs", "name", "resourceGroupName", "siteConfig", "siteCredentials" ], "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" }, "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 `auth_settings` 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 `connection_string` block as defined below.\n" }, "enabled": { "type": "boolean", "description": "Is the App Service Slot Enabled?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service Slot only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/SlotIdentity:SlotIdentity", "description": "A Managed Service Identity 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" }, "logs": { "$ref": "#/types/azure:appservice/SlotLogs:SlotLogs" }, "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.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/SlotSiteConfig:SlotSiteConfig", "description": "A `site_config` object 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" }, "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 `auth_settings` 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 `connection_string` 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?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service Slot only be accessed via HTTPS? Defaults to `false`.\n" }, "identity": { "$ref": "#/types/azure:appservice/SlotIdentity:SlotIdentity", "description": "A Managed Service Identity 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" }, "logs": { "$ref": "#/types/azure:appservice/SlotLogs:SlotLogs" }, "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.\n" }, "siteConfig": { "$ref": "#/types/azure:appservice/SlotSiteConfig:SlotSiteConfig", "description": "A `site_config` object as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/SlotSiteCredential:SlotSiteCredential" }, "description": "A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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/en-us/azure/app-service/web-sites-integrate-with-vnet#regional-vnet-integration) which is still in preview).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"uksouth\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"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(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst example_staging = new azure.appservice.Slot(\"example-staging\", {\n appServiceName: exampleAppService.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst exampleSlotVirtualNetworkSwiftConnection = new azure.appservice.SlotVirtualNetworkSwiftConnection(\"exampleSlotVirtualNetworkSwiftConnection\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"uksouth\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\",\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"example-delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"Microsoft.Web/serverFarms\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/action\"],\n ),\n )])\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_staging = azure.appservice.Slot(\"example-staging\",\n app_service_name=example_app_service.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_slot_virtual_network_swift_connection = azure.appservice.SlotVirtualNetworkSwiftConnection(\"exampleSlotVirtualNetworkSwiftConnection\",\n slot_name=example_staging.name,\n app_service_id=example_app_service.id,\n subnet_id=example_subnet.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"uksouth\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n Delegations = \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 = \n {\n \"Microsoft.Network/virtualNetworks/subnets/action\",\n },\n },\n },\n },\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n var example_staging = new Azure.AppService.Slot(\"example-staging\", new Azure.AppService.SlotArgs\n {\n AppServiceName = exampleAppService.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n var exampleSlotVirtualNetworkSwiftConnection = new Azure.AppService.SlotVirtualNetworkSwiftConnection(\"exampleSlotVirtualNetworkSwiftConnection\", new Azure.AppService.SlotVirtualNetworkSwiftConnectionArgs\n {\n SlotName = example_staging.Name,\n AppServiceId = exampleAppService.Id,\n SubnetId = exampleSubnet.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"uksouth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.0.1.0/24\"),\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\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 = appservice.NewSlot(ctx, \"example_staging\", \u0026appservice.SlotArgs{\n\t\t\tAppServiceName: exampleAppService.Name,\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 = appservice.NewSlotVirtualNetworkSwiftConnection(ctx, \"exampleSlotVirtualNetworkSwiftConnection\", \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{{% /example %}}\n{{% /examples %}}", "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 `service_delegation` 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" }, "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 `service_delegation` 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" }, "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 `service_delegation` configured for `Microsoft.Web/serverFarms`).\n" } }, "type": "object" } }, "azure:appservice/sourceCodeToken:SourceCodeToken": { "description": "Manages an App Service source control token.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.appservice.SourceCodeToken(\"example\", {\n token: \"7e57735e77e577e57\",\n type: \"GitHub\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.appservice.SourceCodeToken(\"example\",\n token=\"7e57735e77e577e57\",\n type=\"GitHub\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.AppService.SourceCodeToken(\"example\", new Azure.AppService.SourceCodeTokenArgs\n {\n Token = \"7e57735e77e577e57\",\n Type = \"GitHub\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tToken: pulumi.String(\"7e57735e77e577e57\"),\n\t\t\tType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "token": { "type": "string", "description": "The OAuth access token.\n" }, "tokenSecret": { "type": "string", "description": "The OAuth access token secret.\n" }, "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" }, "tokenSecret": { "type": "string", "description": "The OAuth access token secret.\n" }, "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" }, "tokenSecret": { "type": "string", "description": "The OAuth access token secret.\n" }, "type": { "type": "string", "description": "The source control type. Possible values are `BitBucket`, `Dropbox`, `GitHub` and `OneDrive`.\n" } }, "type": "object" } }, "azure:appservice/virtualNetworkSwiftConnection:VirtualNetworkSwiftConnection": { "description": "Manages an App Service Virtual Network Association (this is for the [Regional VNet Integration](https://docs.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet#regional-vnet-integration) which is still in preview).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"uksouth\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"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(\"examplePlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n tier: \"Standard\",\n size: \"S1\",\n },\n});\nconst exampleAppService = new azure.appservice.AppService(\"exampleAppService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n appServicePlanId: examplePlan.id,\n});\nconst exampleVirtualNetworkSwiftConnection = new azure.appservice.VirtualNetworkSwiftConnection(\"exampleVirtualNetworkSwiftConnection\", {\n appServiceId: exampleAppService.id,\n subnetId: exampleSubnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"uksouth\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\",\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"example-delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"Microsoft.Web/serverFarms\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/action\"],\n ),\n )])\nexample_plan = azure.appservice.Plan(\"examplePlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.appservice.PlanSkuArgs(\n tier=\"Standard\",\n size=\"S1\",\n ))\nexample_app_service = azure.appservice.AppService(\"exampleAppService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n app_service_plan_id=example_plan.id)\nexample_virtual_network_swift_connection = azure.appservice.VirtualNetworkSwiftConnection(\"exampleVirtualNetworkSwiftConnection\",\n app_service_id=example_app_service.id,\n subnet_id=example_subnet.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"uksouth\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n Delegations = \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 = \n {\n \"Microsoft.Network/virtualNetworks/subnets/action\",\n },\n },\n },\n },\n });\n var examplePlan = new Azure.AppService.Plan(\"examplePlan\", new Azure.AppService.PlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.AppService.Inputs.PlanSkuArgs\n {\n Tier = \"Standard\",\n Size = \"S1\",\n },\n });\n var exampleAppService = new Azure.AppService.AppService(\"exampleAppService\", new Azure.AppService.AppServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AppServicePlanId = examplePlan.Id,\n });\n var exampleVirtualNetworkSwiftConnection = new Azure.AppService.VirtualNetworkSwiftConnection(\"exampleVirtualNetworkSwiftConnection\", new Azure.AppService.VirtualNetworkSwiftConnectionArgs\n {\n AppServiceId = exampleAppService.Id,\n SubnetId = exampleSubnet.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"uksouth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.0.1.0/24\"),\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, \"examplePlan\", \u0026appservice.PlanArgs{\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(\"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, \"exampleAppService\", \u0026appservice.AppServiceArgs{\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 = appservice.NewVirtualNetworkSwiftConnection(ctx, \"exampleVirtualNetworkSwiftConnection\", \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{{% /example %}}\n{{% /examples %}}", "properties": { "appServiceId": { "type": "string", "description": "The ID of the App Service 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 `service_delegation` configured for `Microsoft.Web/serverFarms`).\n" } }, "required": [ "appServiceId", "subnetId" ], "inputProperties": { "appServiceId": { "type": "string", "description": "The ID of the App Service 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 `service_delegation` 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 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 `service_delegation` configured for `Microsoft.Web/serverFarms`).\n" } }, "type": "object" } }, "azure:attestation/provider:Provider": { "properties": { "attestationUri": { "type": "string" }, "location": { "type": "string" }, "name": { "type": "string" }, "policySigningCertificateData": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "trustModel": { "type": "string" } }, "required": [ "attestationUri", "location", "name", "resourceGroupName", "trustModel" ], "inputProperties": { "location": { "type": "string" }, "name": { "type": "string" }, "policySigningCertificateData": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Provider resources.\n", "properties": { "attestationUri": { "type": "string" }, "location": { "type": "string" }, "name": { "type": "string" }, "policySigningCertificateData": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "trustModel": { "type": "string" } }, "type": "object" } }, "azure:authorization/assignment:Assignment": { "description": "Assigns a given Principal (User or Group) to a given Role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Using A Built-In Role)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAssignment = new azure.authorization.Assignment(\"exampleAssignment\", {\n scope: primary.then(primary =\u003e primary.id),\n roleDefinitionName: \"Reader\",\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n scope=primary.id,\n role_definition_name=\"Reader\",\n principal_id=example_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Scope = primary.Apply(primary =\u003e primary.Id),\n RoleDefinitionName = \"Reader\",\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: pulumi.String(primary.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleClientConfig.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\n{{% /example %}}\n{{% example %}}\n### Custom Role \u0026 Service Principal)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"exampleRoleDefinition\", {\n roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\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(\"exampleAssignment\", {\n name: \"00000000-0000-0000-0000-000000000000\",\n scope: primary.then(primary =\u003e primary.id),\n roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"exampleRoleDefinition\",\n role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n scope=primary.id,\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\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_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"exampleRoleDefinition\", new Azure.Authorization.RoleDefinitionArgs\n {\n RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"exampleRoleDefinition\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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: []interface{}{},\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, \"exampleAssignment\", \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(exampleClientConfig.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\n{{% /example %}}\n{{% example %}}\n### Custom Role \u0026 User)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"exampleRoleDefinition\", {\n roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\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(\"exampleAssignment\", {\n name: \"00000000-0000-0000-0000-000000000000\",\n scope: primary.then(primary =\u003e primary.id),\n roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"exampleRoleDefinition\",\n role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n scope=primary.id,\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\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_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"exampleRoleDefinition\", new Azure.Authorization.RoleDefinitionArgs\n {\n RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"exampleRoleDefinition\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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: []interface{}{},\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, \"exampleAssignment\", \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(exampleClientConfig.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\n{{% /example %}}\n{{% example %}}\n### Custom Role \u0026 Management Group)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleGroup = azure.management.getGroup({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"exampleRoleDefinition\", {\n roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\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(\"exampleAssignment\", {\n name: \"00000000-0000-0000-0000-000000000000\",\n scope: data.azurerm_management_group.primary.id,\n roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_group = azure.management.get_group()\nexample_role_definition = azure.authorization.RoleDefinition(\"exampleRoleDefinition\",\n role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n scope=primary.id,\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n name=\"00000000-0000-0000-0000-000000000000\",\n scope=data[\"azurerm_management_group\"][\"primary\"][\"id\"],\n role_definition_id=example_role_definition.role_definition_resource_id,\n principal_id=example_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleGroup = Output.Create(Azure.Management.GetGroup.InvokeAsync());\n var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"exampleRoleDefinition\", new Azure.Authorization.RoleDefinitionArgs\n {\n RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n Scope = data.Azurerm_management_group.Primary.Id,\n RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.LookupGroup(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"exampleRoleDefinition\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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: []interface{}{},\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, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tName: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope: pulumi.Any(data.Azurerm_management_group.Primary.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId: pulumi.String(exampleClientConfig.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "principalType": { "type": "string", "description": "The type of the `principal_id`, 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 `role_definition_name`.\n" }, "roleDefinitionName": { "type": "string", "description": "The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with `role_definition_id`.\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 `principal_id` is a newly provisioned `Service Principal` set this value to `true` to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the `principal_id` is a `Service Principal` identity. If it is not a `Service Principal` identity it will cause the role assignment to fail. Defaults to `false`.\n" } }, "required": [ "name", "principalId", "principalType", "roleDefinitionId", "roleDefinitionName", "scope", "skipServicePrincipalAadCheck" ], "inputProperties": { "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" }, "roleDefinitionId": { "type": "string", "description": "The Scoped-ID of the Role Definition. Changing this forces a new resource to be created. Conflicts with `role_definition_name`.\n" }, "roleDefinitionName": { "type": "string", "description": "The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with `role_definition_id`.\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 `principal_id` is a newly provisioned `Service Principal` set this value to `true` to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the `principal_id` is a `Service Principal` identity. If it is not a `Service Principal` identity it will cause the role assignment to fail. Defaults to `false`.\n" } }, "requiredInputs": [ "principalId", "scope" ], "stateInputs": { "description": "Input properties used for looking up and filtering Assignment resources.\n", "properties": { "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" }, "principalType": { "type": "string", "description": "The type of the `principal_id`, 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 `role_definition_name`.\n" }, "roleDefinitionName": { "type": "string", "description": "The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with `role_definition_id`.\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 `principal_id` is a newly provisioned `Service Principal` set this value to `true` to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the `principal_id` is a `Service Principal` identity. If it is not a `Service Principal` identity it will cause the role assignment to fail. Defaults to `false`.\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/en-us/azure/role-based-access-control/role-definitions) in the Azure documentation for more details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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 scope=primary.id,\n description=\"This is a custom role created\",\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"*\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var example = new Azure.Authorization.RoleDefinition(\"example\", new Azure.Authorization.RoleDefinitionArgs\n {\n Scope = primary.Apply(primary =\u003e primary.Id),\n Description = \"This is a custom role created\",\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"*\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, 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\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: []interface{}{},\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{{% /example %}}\n{{% /examples %}}", "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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "A description of the Role Definition.\n" }, "name": { "type": "string", "description": "The name of the Role Definition. Changing this forces a new resource to be created.\n" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission" }, "description": "A `permissions` 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 too, 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`. It is recommended to use the first entry of the `assignable_scopes`. Changing this forces a new resource to be created.\n" } }, "required": [ "assignableScopes", "name", "permissions", "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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "A description of the Role Definition.\n" }, "name": { "type": "string", "description": "The name of the Role Definition. Changing this forces a new resource to be created.\n" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission" }, "description": "A `permissions` 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" }, "scope": { "type": "string", "description": "The scope at which the Role Definition applies too, 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`. It is recommended to use the first entry of the `assignable_scopes`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "permissions", "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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "A description of the Role Definition.\n" }, "name": { "type": "string", "description": "The name of the Role Definition. Changing this forces a new resource to be created.\n" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:authorization/RoleDefinitionPermission:RoleDefinitionPermission" }, "description": "A `permissions` 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 too, 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`. It is recommended to use the first entry of the `assignable_scopes`. Changing this forces a new resource to be created.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:role/definition:Definition" } ] }, "azure:authorization/userAssignedIdentity:UserAssignedIdentity": { "description": "Manages a user assigned identity.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"eastus\"});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\", new Azure.Authorization.UserAssignedIdentityArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = authorization.NewUserAssignedIdentity(ctx, \"exampleUserAssignedIdentity\", \u0026authorization.UserAssignedIdentityArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "clientId": { "type": "string", "description": "Client ID associated with the user assigned identity.\n" }, "location": { "type": "string", "description": "The location/region where the user assigned identity is\ncreated.\n" }, "name": { "type": "string", "description": "The name of the user assigned identity. Changing this forces a\nnew identity to be created.\n" }, "principalId": { "type": "string", "description": "Service Principal ID associated with the user assigned identity.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the user assigned identity.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "clientId", "location", "name", "principalId", "resourceGroupName" ], "inputProperties": { "location": { "type": "string", "description": "The location/region where the user assigned identity is\ncreated.\n" }, "name": { "type": "string", "description": "The name of the user assigned identity. Changing this forces a\nnew identity to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the user assigned identity.\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 UserAssignedIdentity resources.\n", "properties": { "clientId": { "type": "string", "description": "Client ID associated with the user assigned identity.\n" }, "location": { "type": "string", "description": "The location/region where the user assigned identity is\ncreated.\n" }, "name": { "type": "string", "description": "The name of the user assigned identity. Changing this forces a\nnew identity to be created.\n" }, "principalId": { "type": "string", "description": "Service Principal ID associated with the user assigned identity.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the user assigned identity.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:msi/userAssignedIdentity:UserAssignedIdentity" } ] }, "azure:automation/account:Account": { "description": "Manages a Automation Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n tags: {\n environment: \"development\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\",\n tags={\n \"environment\": \"development\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new Azure.Automation.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n Tags = \n {\n { \"environment\", \"development\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026automation.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "dscPrimaryAccessKey": { "type": "string", "description": "The Primary Access Key for the DSC Endpoint associated with this Automation Account.\n" }, "dscSecondaryAccessKey": { "type": "string", "description": "The Secondary Access Key for the DSC Endpoint associated with this Automation Account.\n" }, "dscServerEndpoint": { "type": "string", "description": "The DSC Server Endpoint associated with this Automation Account.\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" }, "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 name of the account - only `Basic` is supported at this time.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "dscPrimaryAccessKey", "dscSecondaryAccessKey", "dscServerEndpoint", "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" }, "name": { "type": "string", "description": "Specifies the name of the Automation Account. Changing this forces a new resource to be created.\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 name of the account - only `Basic` is supported at this time.\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" }, "dscSecondaryAccessKey": { "type": "string", "description": "The Secondary Access Key for the DSC Endpoint associated with this Automation Account.\n" }, "dscServerEndpoint": { "type": "string", "description": "The DSC Server Endpoint associated with this Automation Account.\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" }, "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 name of the account - only `Basic` is supported at this time.\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\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleBoolVariable = new azure.automation.BoolVariable(\"exampleBoolVariable\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n value: false,\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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 `false`.\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 `boolean`.\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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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 `boolean`.\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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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 `boolean`.\n" } }, "type": "object" } }, "azure:automation/certificate:Certificate": { "description": "Manages an Automation Certificate.\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.\n" }, "description": { "type": "string", "description": "The description of this Automation Certificate.\n" }, "exportable": { "type": "boolean" }, "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", "exportable", "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" }, "base64": { "type": "string", "description": "Base64 encoded value of the certificate.\n" }, "description": { "type": "string", "description": "The description of this Automation 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" } }, "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" }, "base64": { "type": "string", "description": "Base64 encoded value of the certificate.\n" }, "description": { "type": "string", "description": "The description of this Automation Certificate.\n" }, "exportable": { "type": "boolean" }, "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" } }, "type": "object" } }, "azure:automation/connection:Connection": { "description": "Manages an Automation Connection.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleConnection = new azure.automation.Connection(\"exampleConnection\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n type: \"AzureServicePrincipal\",\n values: {\n ApplicationId: \"00000000-0000-0000-0000-000000000000\",\n TenantId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.tenantId),\n SubscriptionId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.subscriptionId),\n CertificateThumbprint: \"sample-certificate-thumbprint\",\n },\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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 `type` needs different parameters in the `values`. Builtin types have required field values as below:\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" }, "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 `type` needs different parameters in the `values`. Builtin types have required field values as below:\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" }, "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 `type` needs different parameters in the `values`. Builtin types have required field values as below:\n" } }, "type": "object" } }, "azure:automation/connectionCertificate:ConnectionCertificate": { "description": "Manages an Automation Connection with type `Azure`.\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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:automation/connectionClassicCertificate:ConnectionClassicCertificate": { "description": "Manages an Automation Connection with type `AzureClassicCertificate`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleConnectionClassicCertificate = new azure.automation.ConnectionClassicCertificate(\"exampleConnectionClassicCertificate\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n certificateAssetName: \"cert1\",\n subscriptionName: \"subs1\",\n subscriptionId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.subscriptionId),\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:automation/connectionServicePrincipal:ConnectionServicePrincipal": { "description": "Manages an Automation Connection with type `AzureServicePrincipal`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleConnectionServicePrincipal = new azure.automation.ConnectionServicePrincipal(\"exampleConnectionServicePrincipal\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n applicationId: \"00000000-0000-0000-0000-000000000000\",\n tenantId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.tenantId),\n subscriptionId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.subscriptionId),\n certificateThumbprint: fs.readFileSync(\"automation_certificate_test.thumb\"),\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:automation/credential:Credential": { "description": "Manages a Automation Credential.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleCredential = new azure.automation.Credential(\"exampleCredential\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_credential = azure.automation.Credential(\"exampleCredential\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new Azure.Automation.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n var exampleCredential = new Azure.Automation.Credential(\"exampleCredential\", new Azure.Automation.CredentialArgs\n {\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026automation.AccountArgs{\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.NewCredential(ctx, \"exampleCredential\", \u0026automation.CredentialArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" }, "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" } }, "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" }, "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" }, "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" } }, "type": "object" } }, "azure:automation/dateTimeVariable:DateTimeVariable": { "description": "Manages a DateTime variable in Azure Automation\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleDateTimeVariable = new azure.automation.DateTimeVariable(\"exampleDateTimeVariable\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n value: \"2019-04-24T21:40:54.074Z\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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 `false`.\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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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" } }, "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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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" } }, "type": "object" } }, "azure:automation/dscConfiguration:DscConfiguration": { "description": "Manages a Automation DSC Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleDscConfiguration = new azure.automation.DscConfiguration(\"exampleDscConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n location: exampleResourceGroup.location,\n contentEmbedded: \"configuration test {}\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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.\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" }, "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.\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" }, "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" }, "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.\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" } }, "type": "object" } }, "azure:automation/dscNodeConfiguration:DscNodeConfiguration": { "description": "Manages a Automation DSC Node Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleDscConfiguration = new azure.automation.DscConfiguration(\"exampleDscConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n location: exampleResourceGroup.location,\n contentEmbedded: \"configuration test {}\",\n});\nconst exampleDscNodeConfiguration = new azure.automation.DscNodeConfiguration(\"exampleDscNodeConfiguration\", {\n resourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:automation/intVariable:IntVariable": { "description": "Manages a integer variable in Azure Automation\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleIntVariable = new azure.automation.IntVariable(\"exampleIntVariable\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n value: 1234,\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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 `false`.\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 `integer`.\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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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 `integer`.\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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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 `integer`.\n" } }, "type": "object" } }, "azure:automation/jobSchedule:JobSchedule": { "description": "Links an Automation Runbook and Schedule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis is an example of just the Job Schedule.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.automation.JobSchedule(\"example\", {\n automationAccountName: \"tf-automation-account\",\n parameters: {\n resourcegroup: \"tf-rgr-vm\",\n vmname: \"TF-VM-01\",\n },\n resourceGroupName: \"tf-rgr-automation\",\n runbookName: \"Get-VirtualMachine\",\n scheduleName: \"hour\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.automation.JobSchedule(\"example\",\n automation_account_name=\"tf-automation-account\",\n parameters={\n \"resourcegroup\": \"tf-rgr-vm\",\n \"vmname\": \"TF-VM-01\",\n },\n resource_group_name=\"tf-rgr-automation\",\n runbook_name=\"Get-VirtualMachine\",\n schedule_name=\"hour\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Automation.JobSchedule(\"example\", new Azure.Automation.JobScheduleArgs\n {\n AutomationAccountName = \"tf-automation-account\",\n Parameters = \n {\n { \"resourcegroup\", \"tf-rgr-vm\" },\n { \"vmname\", \"TF-VM-01\" },\n },\n ResourceGroupName = \"tf-rgr-automation\",\n RunbookName = \"Get-VirtualMachine\",\n ScheduleName = \"hour\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tAutomationAccountName: pulumi.String(\"tf-automation-account\"),\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\tResourceGroupName: pulumi.String(\"tf-rgr-automation\"),\n\t\t\tRunbookName: pulumi.String(\"Get-VirtualMachine\"),\n\t\t\tScheduleName: pulumi.String(\"hour\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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.\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" }, "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" }, "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" } }, "required": [ "automationAccountName", "jobScheduleId", "resourceGroupName", "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" }, "jobScheduleId": { "type": "string", "description": "The UUID identifying the Automation Job Schedule.\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" }, "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" }, "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" } }, "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" }, "jobScheduleId": { "type": "string", "description": "The UUID identifying the Automation Job Schedule.\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" }, "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" }, "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" } }, "type": "object" } }, "azure:automation/module:Module": { "description": "Manages a Automation Module.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleModule = new azure.automation.Module(\"exampleModule\", {\n resourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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": "The published Module link.\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" }, "moduleLink": { "$ref": "#/types/azure:automation/ModuleModuleLink:ModuleModuleLink", "description": "The published Module link.\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" } }, "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" }, "moduleLink": { "$ref": "#/types/azure:automation/ModuleModuleLink:ModuleModuleLink", "description": "The published Module link.\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" } }, "type": "object" } }, "azure:automation/runBook:RunBook": { "description": "Manages a Automation Runbook.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Basic\",\n});\nconst exampleRunBook = new azure.automation.RunBook(\"exampleRunBook\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.automation.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Basic\")\nexample_run_book = azure.automation.RunBook(\"exampleRunBook\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=azure.automation.RunBookPublishContentLinkArgs(\n uri=\"https://raw.githubusercontent.com/Azure/azure-quickstart-templates/c4935ffb69246a6058eb24f54640f53f69d3ac9f/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Automation.Account(\"exampleAccount\", new Azure.Automation.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Basic\",\n });\n var exampleRunBook = new Azure.Automation.RunBook(\"exampleRunBook\", new Azure.Automation.RunBookArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026automation.AccountArgs{\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.NewRunBook(ctx, \"exampleRunBook\", \u0026automation.RunBookArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% /examples %}}", "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" }, "description": { "type": "string", "description": "A description for this credential.\n" }, "jobSchedules": { "type": "array", "items": { "$ref": "#/types/azure:automation/RunBookJobSchedule:RunBookJobSchedule" } }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\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": "The published runbook content link.\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` or `Script`.\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" }, "content": { "type": "string", "description": "The desired content of the runbook.\n" }, "description": { "type": "string", "description": "A description for this credential.\n" }, "jobSchedules": { "type": "array", "items": { "$ref": "#/types/azure:automation/RunBookJobSchedule:RunBookJobSchedule" } }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\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": "The published runbook content link.\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` or `Script`.\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" }, "content": { "type": "string", "description": "The desired content of the runbook.\n" }, "description": { "type": "string", "description": "A description for this credential.\n" }, "jobSchedules": { "type": "array", "items": { "$ref": "#/types/azure:automation/RunBookJobSchedule:RunBookJobSchedule" } }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\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": "The published runbook content link.\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` or `Script`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:automation/schedule:Schedule": { "description": "Manages a Automation Schedule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleSchedule = new azure.automation.Schedule(\"exampleSchedule\", {\n resourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `frequency`s between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month` and defaults to `1`.\n" }, "monthDays": { "type": "array", "items": { "type": "integer" }, "description": "List of days of the month that the job should execute on. Must be between `1` and `31`. `-1` for last day of the month. Only valid when frequency is `Month`.\n" }, "monthlyOccurrences": { "type": "array", "items": { "$ref": "#/types/azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence" }, "description": "List of occurrences of days within a month. Only valid when frequency is `Month`. The `monthly_occurrence` 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 `UTC`. For possible values see: https://s2.automation.ext.azure.com/api/Orchestrator/TimeZones?_=1594792230258\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`.\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" }, "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 `frequency`s between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month` and defaults to `1`.\n" }, "monthDays": { "type": "array", "items": { "type": "integer" }, "description": "List of days of the month that the job should execute on. Must be between `1` and `31`. `-1` for last day of the month. Only valid when frequency is `Month`.\n" }, "monthlyOccurrences": { "type": "array", "items": { "$ref": "#/types/azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence" }, "description": "List of occurrences of days within a month. Only valid when frequency is `Month`. The `monthly_occurrence` 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 `UTC`. For possible values see: https://s2.automation.ext.azure.com/api/Orchestrator/TimeZones?_=1594792230258\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`.\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" }, "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 `frequency`s between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month` and defaults to `1`.\n" }, "monthDays": { "type": "array", "items": { "type": "integer" }, "description": "List of days of the month that the job should execute on. Must be between `1` and `31`. `-1` for last day of the month. Only valid when frequency is `Month`.\n" }, "monthlyOccurrences": { "type": "array", "items": { "$ref": "#/types/azure:automation/ScheduleMonthlyOccurrence:ScheduleMonthlyOccurrence" }, "description": "List of occurrences of days within a month. Only valid when frequency is `Month`. The `monthly_occurrence` 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 `UTC`. For possible values see: https://s2.automation.ext.azure.com/api/Orchestrator/TimeZones?_=1594792230258\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`.\n" } }, "type": "object" } }, "azure:automation/stringVariable:StringVariable": { "description": "Manages a string variable in Azure Automation\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n});\nconst exampleStringVariable = new azure.automation.StringVariable(\"exampleStringVariable\", {\n resourceGroupName: exampleResourceGroup.name,\n automationAccountName: exampleAccount.name,\n value: \"Hello, Basic Test.\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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 `false`.\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 `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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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 `string`.\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" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\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 `string`.\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 `azure.backup.ProtectedFileShare` resource.\n\n\u003e **NOTE:** Azure Backup for Azure File Shares is currently in public preview. During the preview, the service is subject to additional limitations and unsupported backup scenarios. [Read More](https://docs.microsoft.com/en-us/azure/backup/backup-azure-files#limitations-for-azure-file-share-backup-during-preview)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: \"Standard\",\n});\nconst sa = new azure.storage.Account(\"sa\", {\n location: rg.location,\n resourceGroupName: rg.name,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst container = new azure.backup.ContainerStorageAccount(\"container\", {\n resourceGroupName: rg.name,\n recoveryVaultName: vault.name,\n storageAccountId: sa.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=\"Standard\")\nsa = azure.storage.Account(\"sa\",\n location=rg.location,\n resource_group_name=rg.name,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\ncontainer = azure.backup.ContainerStorageAccount(\"container\",\n resource_group_name=rg.name,\n recovery_vault_name=vault.name,\n storage_account_id=sa.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = \"Standard\",\n });\n var sa = new Azure.Storage.Account(\"sa\", new Azure.Storage.AccountArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var container = new Azure.Backup.ContainerStorageAccount(\"container\", new Azure.Backup.ContainerStorageAccountArgs\n {\n ResourceGroupName = rg.Name,\n RecoveryVaultName = vault.Name,\n StorageAccountId = sa.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West 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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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: rg.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{{% /example %}}\n{{% /examples %}}", "properties": { "recoveryVaultName": { "type": "string", "description": "The name of the vault where the storage account will be registered.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault is located.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account to be registered\n" } }, "required": [ "recoveryVaultName", "resourceGroupName", "storageAccountId" ], "inputProperties": { "recoveryVaultName": { "type": "string", "description": "The name of the vault where the storage account will be registered.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault is located.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account to be registered\n" } }, "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.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault is located.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account to be registered\n" } }, "type": "object" } }, "azure:backup/policyFileShare:PolicyFileShare": { "description": "Manages an Azure File Share Backup Policy within a Recovery Services vault.\n\n\u003e **NOTE:** Azure Backup for Azure File Shares is currently in public preview. During the preview, the service is subject to additional limitations and unsupported backup scenarios. [Read More](https://docs.microsoft.com/en-us/azure/backup/backup-azure-files#limitations-for-azure-file-share-backup-during-preview)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: \"Standard\",\n});\nconst policy = new azure.backup.PolicyFileShare(\"policy\", {\n resourceGroupName: rg.name,\n recoveryVaultName: vault.name,\n timezone: \"UTC\",\n backup: {\n frequency: \"Daily\",\n time: \"23:00\",\n },\n retentionDaily: {\n count: 10,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=\"Standard\")\npolicy = azure.backup.PolicyFileShare(\"policy\",\n resource_group_name=rg.name,\n recovery_vault_name=vault.name,\n timezone=\"UTC\",\n backup=azure.backup.PolicyFileShareBackupArgs(\n frequency=\"Daily\",\n time=\"23:00\",\n ),\n retention_daily=azure.backup.PolicyFileShareRetentionDailyArgs(\n count=10,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = \"Standard\",\n });\n var policy = new Azure.Backup.PolicyFileShare(\"policy\", new Azure.Backup.PolicyFileShareArgs\n {\n ResourceGroupName = rg.Name,\n RecoveryVaultName = vault.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 });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West 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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tResourceGroupName: rg.Name,\n\t\t\tRecoveryVaultName: vault.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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "backup": { "$ref": "#/types/azure:backup/PolicyFileShareBackup:PolicyFileShareBackup", "description": "Configures the Policy backup frequency and times as documented in the `backup` block below.\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 `retention_daily` block below.\n" }, "timezone": { "type": "string", "description": "Specifies the timezone. Defaults to `UTC`\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 `backup` block below.\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 `retention_daily` block below.\n" }, "timezone": { "type": "string", "description": "Specifies the timezone. Defaults to `UTC`\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 `backup` block below.\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 `retention_daily` block below.\n" }, "timezone": { "type": "string", "description": "Specifies the timezone. Defaults to `UTC`\n" } }, "type": "object" } }, "azure:backup/policyVM:PolicyVM": { "description": "Manages an Azure Backup VM Backup Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVault = new azure.recoveryservices.Vault(\"exampleVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n});\nconst examplePolicyVM = new azure.backup.PolicyVM(\"examplePolicyVM\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_vault = azure.recoveryservices.Vault(\"exampleVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_policy_vm = azure.backup.PolicyVM(\"examplePolicyVM\",\n resource_group_name=example_resource_group.name,\n recovery_vault_name=example_vault.name,\n timezone=\"UTC\",\n backup=azure.backup.PolicyVMBackupArgs(\n frequency=\"Daily\",\n time=\"23:00\",\n ),\n retention_daily=azure.backup.PolicyVMRetentionDailyArgs(\n count=10,\n ),\n retention_weekly=azure.backup.PolicyVMRetentionWeeklyArgs(\n count=42,\n weekdays=[\n \"Sunday\",\n \"Wednesday\",\n \"Friday\",\n \"Saturday\",\n ],\n ),\n retention_monthly=azure.backup.PolicyVMRetentionMonthlyArgs(\n count=7,\n weekdays=[\n \"Sunday\",\n \"Wednesday\",\n ],\n weeks=[\n \"First\",\n \"Last\",\n ],\n ),\n retention_yearly=azure.backup.PolicyVMRetentionYearlyArgs(\n count=77,\n weekdays=[\"Sunday\"],\n weeks=[\"Last\"],\n months=[\"January\"],\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVault = new Azure.RecoveryServices.Vault(\"exampleVault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n });\n var examplePolicyVM = new Azure.Backup.PolicyVM(\"examplePolicyVM\", new Azure.Backup.PolicyVMArgs\n {\n ResourceGroupName = exampleResourceGroup.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 = \n {\n \"Sunday\",\n \"Wednesday\",\n \"Friday\",\n \"Saturday\",\n },\n },\n RetentionMonthly = new Azure.Backup.Inputs.PolicyVMRetentionMonthlyArgs\n {\n Count = 7,\n Weekdays = \n {\n \"Sunday\",\n \"Wednesday\",\n },\n Weeks = \n {\n \"First\",\n \"Last\",\n },\n },\n RetentionYearly = new Azure.Backup.Inputs.PolicyVMRetentionYearlyArgs\n {\n Count = 77,\n Weekdays = \n {\n \"Sunday\",\n },\n Weeks = \n {\n \"Last\",\n },\n Months = \n {\n \"January\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVault\", \u0026recoveryservices.VaultArgs{\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\t_, err = backup.NewPolicyVM(ctx, \"examplePolicyVM\", \u0026backup.PolicyVMArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "backup": { "$ref": "#/types/azure:backup/PolicyVMBackup:PolicyVMBackup", "description": "Configures the Policy backup frequency, times \u0026 days as documented in the `backup` block below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Backup 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/PolicyVMRetentionDaily:PolicyVMRetentionDaily", "description": "Configures the policy daily retention as documented in the `retention_daily` 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 `retention_monthly` block below.\n" }, "retentionWeekly": { "$ref": "#/types/azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly", "description": "Configures the policy weekly retention as documented in the `retention_weekly` 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 `retention_yearly` block below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "timezone": { "type": "string", "description": "Specifies the timezone. Defaults to `UTC`\n" } }, "required": [ "backup", "name", "recoveryVaultName", "resourceGroupName" ], "inputProperties": { "backup": { "$ref": "#/types/azure:backup/PolicyVMBackup:PolicyVMBackup", "description": "Configures the Policy backup frequency, times \u0026 days as documented in the `backup` block below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Backup 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/PolicyVMRetentionDaily:PolicyVMRetentionDaily", "description": "Configures the policy daily retention as documented in the `retention_daily` 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 `retention_monthly` block below.\n" }, "retentionWeekly": { "$ref": "#/types/azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly", "description": "Configures the policy weekly retention as documented in the `retention_weekly` 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 `retention_yearly` block below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "timezone": { "type": "string", "description": "Specifies the timezone. 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 `backup` block below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Backup 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/PolicyVMRetentionDaily:PolicyVMRetentionDaily", "description": "Configures the policy daily retention as documented in the `retention_daily` 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 `retention_monthly` block below.\n" }, "retentionWeekly": { "$ref": "#/types/azure:backup/PolicyVMRetentionWeekly:PolicyVMRetentionWeekly", "description": "Configures the policy weekly retention as documented in the `retention_weekly` 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 `retention_yearly` block below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "timezone": { "type": "string", "description": "Specifies the timezone. Defaults to `UTC`\n" } }, "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\u003e **NOTE:** Azure Backup for Azure File Shares is currently in public preview. During the preview, the service is subject to additional limitations and unsupported backup scenarios. [Read More](https://docs.microsoft.com/en-us/azure/backup/backup-azure-files#limitations-for-azure-file-share-backup-during-preview)\n\n\u003e **NOTE** Azure Backup for Azure File Shares does not support Soft Delete at this time. Deleting this resource will also delete all associated backup data. Please exercise caution. Consider using [`protect`](https://www.pulumi.com/docs/intro/concepts/programming-model/#protect) to guard against accidental deletion.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: \"Standard\",\n});\nconst sa = new azure.storage.Account(\"sa\", {\n location: rg.location,\n resourceGroupName: rg.name,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"exampleShare\", {storageAccountName: sa.name});\nconst protection_container = new azure.backup.ContainerStorageAccount(\"protection-container\", {\n resourceGroupName: rg.name,\n recoveryVaultName: vault.name,\n storageAccountId: sa.id,\n});\nconst examplePolicyFileShare = new azure.backup.PolicyFileShare(\"examplePolicyFileShare\", {\n resourceGroupName: rg.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: rg.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\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=\"Standard\")\nsa = azure.storage.Account(\"sa\",\n location=rg.location,\n resource_group_name=rg.name,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_share = azure.storage.Share(\"exampleShare\", storage_account_name=sa.name)\nprotection_container = azure.backup.ContainerStorageAccount(\"protection-container\",\n resource_group_name=rg.name,\n recovery_vault_name=vault.name,\n storage_account_id=sa.id)\nexample_policy_file_share = azure.backup.PolicyFileShare(\"examplePolicyFileShare\",\n resource_group_name=rg.name,\n recovery_vault_name=vault.name,\n backup=azure.backup.PolicyFileShareBackupArgs(\n frequency=\"Daily\",\n time=\"23:00\",\n ),\n retention_daily=azure.backup.PolicyFileShareRetentionDailyArgs(\n count=10,\n ))\nshare1 = azure.backup.ProtectedFileShare(\"share1\",\n resource_group_name=rg.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = \"Standard\",\n });\n var sa = new Azure.Storage.Account(\"sa\", new Azure.Storage.AccountArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleShare = new Azure.Storage.Share(\"exampleShare\", new Azure.Storage.ShareArgs\n {\n StorageAccountName = sa.Name,\n });\n var protection_container = new Azure.Backup.ContainerStorageAccount(\"protection-container\", new Azure.Backup.ContainerStorageAccountArgs\n {\n ResourceGroupName = rg.Name,\n RecoveryVaultName = vault.Name,\n StorageAccountId = sa.Id,\n });\n var examplePolicyFileShare = new Azure.Backup.PolicyFileShare(\"examplePolicyFileShare\", new Azure.Backup.PolicyFileShareArgs\n {\n ResourceGroupName = rg.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 var share1 = new Azure.Backup.ProtectedFileShare(\"share1\", new Azure.Backup.ProtectedFileShareArgs\n {\n ResourceGroupName = rg.Name,\n RecoveryVaultName = vault.Name,\n SourceStorageAccountId = protection_container.StorageAccountId,\n SourceFileShareName = exampleShare.Name,\n BackupPolicyId = examplePolicyFileShare.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West 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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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, \"exampleShare\", \u0026storage.ShareArgs{\n\t\t\tStorageAccountName: sa.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = backup.NewContainerStorageAccount(ctx, \"protection_container\", \u0026backup.ContainerStorageAccountArgs{\n\t\t\tResourceGroupName: rg.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, \"examplePolicyFileShare\", \u0026backup.PolicyFileShareArgs{\n\t\t\tResourceGroupName: rg.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: rg.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{{% /example %}}\n{{% /examples %}}", "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" } }, "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:backup/protectedVM:ProtectedVM": { "description": "Manages Azure Backup for an Azure VM\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVault = new azure.recoveryservices.Vault(\"exampleVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n});\nconst examplePolicyVM = new azure.backup.PolicyVM(\"examplePolicyVM\", {\n resourceGroupName: exampleResourceGroup.name,\n recoveryVaultName: exampleVault.name,\n backup: {\n frequency: \"Daily\",\n time: \"23:00\",\n },\n});\nconst vm1 = new azure.backup.ProtectedVM(\"vm1\", {\n resourceGroupName: exampleResourceGroup.name,\n recoveryVaultName: exampleVault.name,\n sourceVmId: azurerm_virtual_machine.example.id,\n backupPolicyId: examplePolicyVM.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_vault = azure.recoveryservices.Vault(\"exampleVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_policy_vm = azure.backup.PolicyVM(\"examplePolicyVM\",\n resource_group_name=example_resource_group.name,\n recovery_vault_name=example_vault.name,\n backup=azure.backup.PolicyVMBackupArgs(\n frequency=\"Daily\",\n time=\"23:00\",\n ))\nvm1 = azure.backup.ProtectedVM(\"vm1\",\n resource_group_name=example_resource_group.name,\n recovery_vault_name=example_vault.name,\n source_vm_id=azurerm_virtual_machine[\"example\"][\"id\"],\n backup_policy_id=example_policy_vm.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVault = new Azure.RecoveryServices.Vault(\"exampleVault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n });\n var examplePolicyVM = new Azure.Backup.PolicyVM(\"examplePolicyVM\", new Azure.Backup.PolicyVMArgs\n {\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 });\n var vm1 = new Azure.Backup.ProtectedVM(\"vm1\", new Azure.Backup.ProtectedVMArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n RecoveryVaultName = exampleVault.Name,\n SourceVmId = azurerm_virtual_machine.Example.Id,\n BackupPolicyId = examplePolicyVM.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/backup\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVault\", \u0026recoveryservices.VaultArgs{\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, \"examplePolicyVM\", \u0026backup.PolicyVMArgs{\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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.Any(azurerm_virtual_machine.Example.Id),\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{{% /example %}}\n{{% /examples %}}", "properties": { "backupPolicyId": { "type": "string", "description": "Specifies the id of the backup policy to use.\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 Recovery Services Vault. Changing this forces a new resource to be created.\n" }, "sourceVmId": { "type": "string", "description": "Specifies the ID of the VM to backup. 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": [ "backupPolicyId", "recoveryVaultName", "resourceGroupName", "sourceVmId" ], "inputProperties": { "backupPolicyId": { "type": "string", "description": "Specifies the id of the backup policy to use.\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 Recovery Services Vault. Changing this forces a new resource to be created.\n" }, "sourceVmId": { "type": "string", "description": "Specifies the ID of the VM to backup. 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" } }, "requiredInputs": [ "backupPolicyId", "recoveryVaultName", "resourceGroupName", "sourceVmId" ], "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" }, "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 Recovery Services Vault. Changing this forces a new resource to be created.\n" }, "sourceVmId": { "type": "string", "description": "Specifies the ID of the VM to backup. 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": "object" } }, "azure:batch/account:Account": { "description": "Manages an Azure Batch account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westeurope\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleBatch_accountAccount = new azure.batch.Account(\"exampleBatch/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n poolAllocationMode: \"BatchService\",\n storageAccountId: exampleAccount.id,\n tags: {\n env: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westeurope\")\nexample_account = azure.storage.Account(\"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_batch_account_account = azure.batch.Account(\"exampleBatch/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pool_allocation_mode=\"BatchService\",\n storage_account_id=example_account.id,\n tags={\n \"env\": \"test\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleBatch_accountAccount = new Azure.Batch.Account(\"exampleBatch/accountAccount\", new Azure.Batch.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PoolAllocationMode = \"BatchService\",\n StorageAccountId = exampleAccount.Id,\n Tags = \n {\n { \"env\", \"test\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleAccount\", \u0026storage.AccountArgs{\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 = batch.NewAccount(ctx, \"exampleBatch_accountAccount\", \u0026batch.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPoolAllocationMode: pulumi.String(\"BatchService\"),\n\t\t\tStorageAccountId: exampleAccount.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{{% /example %}}\n{{% /examples %}}", "properties": { "accountEndpoint": { "type": "string", "description": "The account endpoint used to interact with the Batch service.\n" }, "keyVaultReference": { "$ref": "#/types/azure:batch/AccountKeyVaultReference:AccountKeyVaultReference", "description": "A `key_vault_reference` block 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. Changing this forces a new resource to be created.\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" }, "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" }, "secondaryAccessKey": { "type": "string", "description": "The Batch account secondary access key.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "accountEndpoint", "location", "name", "primaryAccessKey", "resourceGroupName", "secondaryAccessKey", "storageAccountId" ], "inputProperties": { "keyVaultReference": { "$ref": "#/types/azure:batch/AccountKeyVaultReference:AccountKeyVaultReference", "description": "A `key_vault_reference` block 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. Changing this forces a new resource to be created.\n" }, "poolAllocationMode": { "type": "string", "description": "Specifies the mode to use for pool allocation. Possible values are `BatchService` or `UserSubscription`. Defaults to `BatchService`.\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" }, "storageAccountId": { "type": "string", "description": "Specifies the storage account to use for the Batch account. If not specified, Azure Batch will manage the storage.\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" }, "keyVaultReference": { "$ref": "#/types/azure:batch/AccountKeyVaultReference:AccountKeyVaultReference", "description": "A `key_vault_reference` block 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. Changing this forces a new resource to be created.\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" }, "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" }, "secondaryAccessKey": { "type": "string", "description": "The Batch account secondary access key.\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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleBatch_accountAccount = new azure.batch.Account(\"exampleBatch/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n poolAllocationMode: \"BatchService\",\n storageAccountId: exampleAccount.id,\n});\nconst exampleApplication = new azure.batch.Application(\"exampleApplication\", {\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleBatch / accountAccount.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_account = azure.storage.Account(\"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_batch_account_account = azure.batch.Account(\"exampleBatch/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n pool_allocation_mode=\"BatchService\",\n storage_account_id=example_account.id)\nexample_application = azure.batch.Application(\"exampleApplication\",\n resource_group_name=example_resource_group.name,\n account_name=example_batch / account_account[\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleBatch_accountAccount = new Azure.Batch.Account(\"exampleBatch/accountAccount\", new Azure.Batch.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PoolAllocationMode = \"BatchService\",\n StorageAccountId = exampleAccount.Id,\n });\n var exampleApplication = new Azure.Batch.Application(\"exampleApplication\", new Azure.Batch.ApplicationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleBatch / accountAccount.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/batch\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = batch.NewAccount(ctx, \"exampleBatch_accountAccount\", \u0026batch.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tPoolAllocationMode: pulumi.String(\"BatchService\"),\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 = batch.NewApplication(ctx, \"exampleApplication\", \u0026batch.ApplicationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAccountName: pulumi.String(exampleBatch / accountAccount.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{{% /example %}}\n{{% /examples %}}", "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 `true`.\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" }, "allowUpdates": { "type": "boolean", "description": "A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`.\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" } }, "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" }, "allowUpdates": { "type": "boolean", "description": "A value indicating whether packages within the application may be overwritten using the same version string. Defaults to `true`.\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" } }, "type": "object" } }, "azure:batch/certificate:Certificate": { "description": "Manages a certificate in an Azure Batch account.\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" } } }, "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 must and can only be specified when `format` is `Pfx`.\n" }, "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. At this time the only supported value is 'SHA1'.\n" }, "thumbprintAlgorithm": { "type": "string" } }, "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" }, "certificate": { "type": "string", "description": "The base64-encoded contents of the certificate.\n", "language": { "csharp": { "name": "BatchCertificate" } } }, "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 must and can only be specified when `format` is `Pfx`.\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. At this time the only supported value is 'SHA1'.\n" }, "thumbprintAlgorithm": { "type": "string" } }, "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" }, "certificate": { "type": "string", "description": "The base64-encoded contents of the certificate.\n", "language": { "csharp": { "name": "BatchCertificate" } } }, "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 must and can only be specified when `format` is `Pfx`.\n" }, "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. At this time the only supported value is 'SHA1'.\n" }, "thumbprintAlgorithm": { "type": "string" } }, "type": "object" } }, "azure:batch/pool:Pool": { "description": "Manages an Azure Batch pool.\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 `auto_scale` block that describes the scale settings when using auto scale.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolCertificate:PoolCertificate" }, "description": "One or more `certificate` blocks that describe the certificates to be installed on each compute node in the pool.\n" }, "containerConfiguration": { "$ref": "#/types/azure:batch/PoolContainerConfiguration:PoolContainerConfiguration", "description": "The container configuration used in the pool's VMs.\n" }, "displayName": { "type": "string", "description": "Specifies the display name of the Batch pool.\n" }, "fixedScale": { "$ref": "#/types/azure:batch/PoolFixedScale:PoolFixedScale", "description": "A `fixed_scale` block that describes the scale settings when using fixed scale.\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 `1`. 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" }, "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 `network_configuration` block that describes the network configurations for the Batch pool.\n" }, "nodeAgentSkuId": { "type": "string", "description": "Specifies the Sku of the node agents that will be created in the Batch pool.\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" }, "startTask": { "$ref": "#/types/azure:batch/PoolStartTask:PoolStartTask", "description": "A `start_task` block that describes the start task settings for the Batch pool.\n" }, "stopPendingResizeOperation": { "type": "boolean" }, "storageImageReference": { "$ref": "#/types/azure:batch/PoolStorageImageReference:PoolStorageImageReference", "description": "A `storage_image_reference` for the virtual machines that will compose the Batch pool.\n" }, "vmSize": { "type": "string", "description": "Specifies the size of the VM created in the Batch pool.\n" } }, "required": [ "accountName", "name", "nodeAgentSkuId", "resourceGroupName", "storageImageReference", "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" }, "autoScale": { "$ref": "#/types/azure:batch/PoolAutoScale:PoolAutoScale", "description": "A `auto_scale` block that describes the scale settings when using auto scale.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolCertificate:PoolCertificate" }, "description": "One or more `certificate` blocks that describe the certificates to be installed on each compute node in the pool.\n" }, "containerConfiguration": { "$ref": "#/types/azure:batch/PoolContainerConfiguration:PoolContainerConfiguration", "description": "The container configuration used in the pool's VMs.\n" }, "displayName": { "type": "string", "description": "Specifies the display name of the Batch pool.\n" }, "fixedScale": { "$ref": "#/types/azure:batch/PoolFixedScale:PoolFixedScale", "description": "A `fixed_scale` block that describes the scale settings when using fixed scale.\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 `1`. 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" }, "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 `network_configuration` block that describes the network configurations for the Batch pool.\n" }, "nodeAgentSkuId": { "type": "string", "description": "Specifies the Sku of the node agents that will be created in the Batch pool.\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" }, "startTask": { "$ref": "#/types/azure:batch/PoolStartTask:PoolStartTask", "description": "A `start_task` block that describes the start task settings for the Batch pool.\n" }, "stopPendingResizeOperation": { "type": "boolean" }, "storageImageReference": { "$ref": "#/types/azure:batch/PoolStorageImageReference:PoolStorageImageReference", "description": "A `storage_image_reference` for the virtual machines that will compose the Batch pool.\n" }, "vmSize": { "type": "string", "description": "Specifies the size of the VM created in the Batch pool.\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" }, "autoScale": { "$ref": "#/types/azure:batch/PoolAutoScale:PoolAutoScale", "description": "A `auto_scale` block that describes the scale settings when using auto scale.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:batch/PoolCertificate:PoolCertificate" }, "description": "One or more `certificate` blocks that describe the certificates to be installed on each compute node in the pool.\n" }, "containerConfiguration": { "$ref": "#/types/azure:batch/PoolContainerConfiguration:PoolContainerConfiguration", "description": "The container configuration used in the pool's VMs.\n" }, "displayName": { "type": "string", "description": "Specifies the display name of the Batch pool.\n" }, "fixedScale": { "$ref": "#/types/azure:batch/PoolFixedScale:PoolFixedScale", "description": "A `fixed_scale` block that describes the scale settings when using fixed scale.\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 `1`. 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" }, "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 `network_configuration` block that describes the network configurations for the Batch pool.\n" }, "nodeAgentSkuId": { "type": "string", "description": "Specifies the Sku of the node agents that will be created in the Batch pool.\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" }, "startTask": { "$ref": "#/types/azure:batch/PoolStartTask:PoolStartTask", "description": "A `start_task` block that describes the start task settings for the Batch pool.\n" }, "stopPendingResizeOperation": { "type": "boolean" }, "storageImageReference": { "$ref": "#/types/azure:batch/PoolStorageImageReference:PoolStorageImageReference", "description": "A `storage_image_reference` for the virtual machines that will compose the Batch pool.\n" }, "vmSize": { "type": "string", "description": "Specifies the size of the VM created in the Batch pool.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleSubscription = azure.core.getSubscription({});\nconst exampleDefinition = exampleSubscription.then(exampleSubscription =\u003e azure.blueprint.getDefinition({\n name: \"exampleBlueprint\",\n scopeId: exampleSubscription.id,\n}));\nconst examplePublishedVersion = Promise.all([exampleDefinition, exampleDefinition]).then(([exampleDefinition, exampleDefinition1]) =\u003e azure.blueprint.getPublishedVersion({\n scopeId: exampleDefinition.scopeId,\n blueprintName: exampleDefinition1.name,\n version: \"v1.0.0\",\n}));\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {\n location: \"westeurope\",\n tags: {\n Environment: \"example\",\n },\n});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst operator = new azure.authorization.Assignment(\"operator\", {\n scope: exampleSubscription.then(exampleSubscription =\u003e exampleSubscription.id),\n roleDefinitionName: \"Blueprint Operator\",\n principalId: exampleUserAssignedIdentity.principalId,\n});\nconst owner = new azure.authorization.Assignment(\"owner\", {\n scope: exampleSubscription.then(exampleSubscription =\u003e exampleSubscription.id),\n roleDefinitionName: \"Owner\",\n principalId: exampleUserAssignedIdentity.principalId,\n});\nconst exampleAssignment = new azure.blueprint.Assignment(\"exampleAssignment\", {\n targetSubscriptionId: exampleSubscription.then(exampleSubscription =\u003e exampleSubscription.id),\n versionId: examplePublishedVersion.then(examplePublishedVersion =\u003e examplePublishedVersion.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_subscription = azure.core.get_subscription()\nexample_definition = azure.blueprint.get_definition(name=\"exampleBlueprint\",\n scope_id=example_subscription.id)\nexample_published_version = azure.blueprint.get_published_version(scope_id=example_definition.scope_id,\n blueprint_name=example_definition.name,\n version=\"v1.0.0\")\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\",\n location=\"westeurope\",\n tags={\n \"Environment\": \"example\",\n })\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\noperator = azure.authorization.Assignment(\"operator\",\n scope=example_subscription.id,\n role_definition_name=\"Blueprint Operator\",\n principal_id=example_user_assigned_identity.principal_id)\nowner = azure.authorization.Assignment(\"owner\",\n scope=example_subscription.id,\n role_definition_name=\"Owner\",\n principal_id=example_user_assigned_identity.principal_id)\nexample_assignment = azure.blueprint.Assignment(\"exampleAssignment\",\n target_subscription_id=example_subscription.id,\n version_id=example_published_version.id,\n location=example_resource_group.location,\n lock_mode=\"AllResourcesDoNotDelete\",\n lock_exclude_principals=[current.object_id],\n identity=azure.blueprint.AssignmentIdentityArgs(\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=ResourceOptions(depends_on=[\n operator,\n owner,\n ]))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleSubscription = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleDefinition = exampleSubscription.Apply(exampleSubscription =\u003e Output.Create(Azure.Blueprint.GetDefinition.InvokeAsync(new Azure.Blueprint.GetDefinitionArgs\n {\n Name = \"exampleBlueprint\",\n ScopeId = exampleSubscription.Id,\n })));\n var examplePublishedVersion = Output.Tuple(exampleDefinition, exampleDefinition).Apply(values =\u003e\n {\n var exampleDefinition = values.Item1;\n var exampleDefinition1 = values.Item2;\n return Output.Create(Azure.Blueprint.GetPublishedVersion.InvokeAsync(new Azure.Blueprint.GetPublishedVersionArgs\n {\n ScopeId = exampleDefinition.ScopeId,\n BlueprintName = exampleDefinition1.Name,\n Version = \"v1.0.0\",\n }));\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n Tags = \n {\n { \"Environment\", \"example\" },\n },\n });\n var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\", new Azure.Authorization.UserAssignedIdentityArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var @operator = new Azure.Authorization.Assignment(\"operator\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleSubscription.Apply(exampleSubscription =\u003e exampleSubscription.Id),\n RoleDefinitionName = \"Blueprint Operator\",\n PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n });\n var owner = new Azure.Authorization.Assignment(\"owner\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleSubscription.Apply(exampleSubscription =\u003e exampleSubscription.Id),\n RoleDefinitionName = \"Owner\",\n PrincipalId = exampleUserAssignedIdentity.PrincipalId,\n });\n var exampleAssignment = new Azure.Blueprint.Assignment(\"exampleAssignment\", new Azure.Blueprint.AssignmentArgs\n {\n TargetSubscriptionId = exampleSubscription.Apply(exampleSubscription =\u003e exampleSubscription.Id),\n VersionId = examplePublishedVersion.Apply(examplePublishedVersion =\u003e examplePublishedVersion.Id),\n Location = exampleResourceGroup.Location,\n LockMode = \"AllResourcesDoNotDelete\",\n LockExcludePrincipals = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n Identity = new Azure.Blueprint.Inputs.AssignmentIdentityArgs\n {\n Type = \"UserAssigned\",\n IdentityIds = \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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/blueprint\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDefinition, err := blueprint.GetDefinition(ctx, \u0026blueprint.GetDefinitionArgs{\n\t\t\tName: \"exampleBlueprint\",\n\t\t\tScopeId: exampleSubscription.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublishedVersion, err := blueprint.GetPublishedVersion(ctx, \u0026blueprint.GetPublishedVersionArgs{\n\t\t\tScopeId: exampleDefinition.ScopeId,\n\t\t\tBlueprintName: exampleDefinition.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, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"westeurope\"),\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, \"exampleUserAssignedIdentity\", \u0026authorization.UserAssignedIdentityArgs{\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\toperator, err := authorization.NewAssignment(ctx, \"operator\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: pulumi.String(exampleSubscription.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(exampleSubscription.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, \"exampleAssignment\", \u0026blueprint.AssignmentArgs{\n\t\t\tTargetSubscriptionId: pulumi.String(exampleSubscription.Id),\n\t\t\tVersionId: pulumi.String(examplePublishedVersion.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(fmt.Sprintf(\"%v%v%v%v%v\", \" {\\n\", \" \\\"ResourceGroup\\\": {\\n\", \" \\\"name\\\": \\\"exampleRG-bp\\\"\\n\", \" }\\n\", \" }\\n\")),\n\t\t\tParameterValues: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \" {\\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{{% /example %}}\n{{% /examples %}}", "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" }, "location": { "type": "string", "description": "The Azure location of the Assignment.\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 `AlResourcesDoNotDelete`.\n" }, "name": { "type": "string", "description": "The name of the Blueprint Assignment\n" }, "parameterValues": { "type": "string", "description": "a JSON string to supply Blueprint Assignment parameter values.\n" }, "resourceGroups": { "type": "string", "description": "a JSON string to supply the Blueprint Resource Group information.\n" }, "targetSubscriptionId": { "type": "string", "description": "The Subscription ID the Blueprint Published Version is to be applied to.\n" }, "type": { "type": "string", "description": "The Identity type for the Managed Service Identity. Currently only `UserAssigned` is supported.\n" }, "versionId": { "type": "string", "description": "The ID of the Published Version of the blueprint to be assigned.\n" } }, "required": [ "blueprintName", "description", "displayName", "location", "name", "targetSubscriptionId", "type", "versionId" ], "inputProperties": { "identity": { "$ref": "#/types/azure:blueprint/AssignmentIdentity:AssignmentIdentity" }, "location": { "type": "string", "description": "The Azure location of the Assignment.\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 `AlResourcesDoNotDelete`.\n" }, "name": { "type": "string", "description": "The name of the Blueprint Assignment\n" }, "parameterValues": { "type": "string", "description": "a JSON string to supply Blueprint Assignment parameter values.\n" }, "resourceGroups": { "type": "string", "description": "a JSON string to supply the Blueprint Resource Group information.\n" }, "targetSubscriptionId": { "type": "string", "description": "The Subscription ID the Blueprint Published Version is to be applied to.\n" }, "versionId": { "type": "string", "description": "The ID of the Published Version of the blueprint to be assigned.\n" } }, "requiredInputs": [ "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" }, "location": { "type": "string", "description": "The Azure location of the Assignment.\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 `AlResourcesDoNotDelete`.\n" }, "name": { "type": "string", "description": "The name of the Blueprint Assignment\n" }, "parameterValues": { "type": "string", "description": "a JSON string to supply Blueprint Assignment parameter values.\n" }, "resourceGroups": { "type": "string", "description": "a JSON string to supply the Blueprint Resource Group information.\n" }, "targetSubscriptionId": { "type": "string", "description": "The Subscription ID the Blueprint Published Version is to be applied to.\n" }, "type": { "type": "string", "description": "The Identity type for the Managed Service Identity. Currently only `UserAssigned` is supported.\n" }, "versionId": { "type": "string", "description": "The ID of the Published Version of the blueprint to be assigned.\n" } }, "type": "object" } }, "azure:bot/channelDirectLine:ChannelDirectLine": { "description": "Manages a Directline integration for a Bot Channel\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. Multiple `site` blocks may be defined as 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" }, "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. Multiple `site` blocks may be defined as 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" }, "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. Multiple `site` blocks may be defined as below\n" } }, "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", "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" }, "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", "emailAddress", "emailPassword", "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" }, "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" }, "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" } }, "requiredInputs": [ "botName", "emailAddress", "emailPassword", "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" }, "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" }, "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" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\", {\n location: \"global\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"F0\",\n microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelSlack = new azure.bot.ChannelSlack(\"exampleChannelSlack\", {\n botName: exampleChannelsRegistration.name,\n location: exampleChannelsRegistration.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\",\n location=\"global\",\n resource_group_name=example_resource_group.name,\n sku=\"F0\",\n microsoft_app_id=current.client_id)\nexample_channel_slack = azure.bot.ChannelSlack(\"exampleChannelSlack\",\n bot_name=example_channels_registration.name,\n location=example_channels_registration.location,\n resource_group_name=example_resource_group.name,\n client_id=\"exampleId\",\n client_secret=\"exampleSecret\",\n verification_token=\"exampleVerificationToken\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"exampleChannelsRegistration\", new Azure.Bot.ChannelsRegistrationArgs\n {\n Location = \"global\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"F0\",\n MicrosoftAppId = current.Apply(current =\u003e current.ClientId),\n });\n var exampleChannelSlack = new Azure.Bot.ChannelSlack(\"exampleChannelSlack\", new Azure.Bot.ChannelSlackArgs\n {\n BotName = exampleChannelsRegistration.Name,\n Location = exampleChannelsRegistration.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ClientId = \"exampleId\",\n ClientSecret = \"exampleSecret\",\n VerificationToken = \"exampleVerificationToken\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"exampleChannelsRegistration\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tLocation: pulumi.String(\"global\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleChannelSlack\", \u0026bot.ChannelSlackArgs{\n\t\t\tBotName: exampleChannelsRegistration.Name,\n\t\t\tLocation: exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "verificationToken": { "type": "string", "description": "The Verification Token that will be used to authenticate with Slack.\n" } }, "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" }, "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" }, "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" }, "verificationToken": { "type": "string", "description": "The Verification Token that will be used to authenticate with Slack.\n" } }, "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" }, "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" }, "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" }, "verificationToken": { "type": "string", "description": "The Verification Token that will be used to authenticate with Slack.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\", {\n location: \"global\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"F0\",\n microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleChannelTeams = new azure.bot.ChannelTeams(\"exampleChannelTeams\", {\n botName: exampleChannelsRegistration.name,\n location: exampleChannelsRegistration.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\",\n location=\"global\",\n resource_group_name=example_resource_group.name,\n sku=\"F0\",\n microsoft_app_id=current.client_id)\nexample_channel_teams = azure.bot.ChannelTeams(\"exampleChannelTeams\",\n bot_name=example_channels_registration.name,\n location=example_channels_registration.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"exampleChannelsRegistration\", new Azure.Bot.ChannelsRegistrationArgs\n {\n Location = \"global\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"F0\",\n MicrosoftAppId = current.Apply(current =\u003e current.ClientId),\n });\n var exampleChannelTeams = new Azure.Bot.ChannelTeams(\"exampleChannelTeams\", new Azure.Bot.ChannelTeamsArgs\n {\n BotName = exampleChannelsRegistration.Name,\n Location = exampleChannelsRegistration.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"exampleChannelsRegistration\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tLocation: pulumi.String(\"global\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleChannelTeams\", \u0026bot.ChannelTeamsArgs{\n\t\t\tBotName: exampleChannelsRegistration.Name,\n\t\t\tLocation: exampleChannelsRegistration.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "callingWebHook": { "type": "string", "description": "Specifies the webhook for Microsoft Teams channel calls.\n" }, "enableCalling": { "type": "boolean", "description": "Specifies whether to enable Microsoft Teams channel calls. This defaults to `false`.\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" } }, "required": [ "botName", "callingWebHook", "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" }, "callingWebHook": { "type": "string", "description": "Specifies the webhook for Microsoft Teams channel calls.\n" }, "enableCalling": { "type": "boolean", "description": "Specifies whether to enable Microsoft Teams channel calls. This defaults to `false`.\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" } }, "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" }, "callingWebHook": { "type": "string", "description": "Specifies the webhook for Microsoft Teams channel calls.\n" }, "enableCalling": { "type": "boolean", "description": "Specifies whether to enable Microsoft Teams channel calls. This defaults to `false`.\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" } }, "type": "object" } }, "azure:bot/channelsRegistration:ChannelsRegistration": { "description": "Manages a Bot Channels Registration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\", {\n location: \"global\",\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\",\n location=\"global\",\n resource_group_name=example_resource_group.name,\n sku=\"F0\",\n microsoft_app_id=current.client_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"exampleChannelsRegistration\", new Azure.Bot.ChannelsRegistrationArgs\n {\n Location = \"global\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"F0\",\n MicrosoftAppId = current.Apply(current =\u003e current.ClientId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = bot.NewChannelsRegistration(ctx, \"exampleChannelsRegistration\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tLocation: pulumi.String(\"global\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "developerAppInsightsApiKey": { "type": "string", "description": "The Application Insights API Key to associate with the Bot Channels Registration.\n" }, "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 `name` if not specified.\n" }, "endpoint": { "type": "string", "description": "The Bot Channels Registration endpoint.\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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "developerAppInsightsApiKey", "developerAppInsightsApplicationId", "developerAppInsightsKey", "displayName", "location", "microsoftAppId", "name", "resourceGroupName", "sku" ], "inputProperties": { "developerAppInsightsApiKey": { "type": "string", "description": "The Application Insights API Key to associate with the Bot Channels Registration.\n" }, "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 `name` if not specified.\n" }, "endpoint": { "type": "string", "description": "The Bot Channels Registration endpoint.\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" }, "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" }, "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": { "developerAppInsightsApiKey": { "type": "string", "description": "The Application Insights API Key to associate with the Bot Channels Registration.\n" }, "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 `name` if not specified.\n" }, "endpoint": { "type": "string", "description": "The Bot Channels Registration endpoint.\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" }, "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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleChannelsRegistration = new azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\", {\n location: \"global\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"F0\",\n microsoftAppId: current.then(current =\u003e current.clientId),\n});\nconst exampleConnection = new azure.bot.Connection(\"exampleConnection\", {\n botName: exampleChannelsRegistration.name,\n location: exampleChannelsRegistration.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_channels_registration = azure.bot.ChannelsRegistration(\"exampleChannelsRegistration\",\n location=\"global\",\n resource_group_name=example_resource_group.name,\n sku=\"F0\",\n microsoft_app_id=current.client_id)\nexample_connection = azure.bot.Connection(\"exampleConnection\",\n bot_name=example_channels_registration.name,\n location=example_channels_registration.location,\n resource_group_name=example_resource_group.name,\n service_provider_name=\"box\",\n client_id=\"exampleId\",\n client_secret=\"exampleSecret\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleChannelsRegistration = new Azure.Bot.ChannelsRegistration(\"exampleChannelsRegistration\", new Azure.Bot.ChannelsRegistrationArgs\n {\n Location = \"global\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"F0\",\n MicrosoftAppId = current.Apply(current =\u003e current.ClientId),\n });\n var exampleConnection = new Azure.Bot.Connection(\"exampleConnection\", new Azure.Bot.ConnectionArgs\n {\n BotName = exampleChannelsRegistration.Name,\n Location = exampleChannelsRegistration.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ServiceProviderName = \"box\",\n ClientId = \"exampleId\",\n ClientSecret = \"exampleSecret\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleChannelsRegistration, err := bot.NewChannelsRegistration(ctx, \"exampleChannelsRegistration\", \u0026bot.ChannelsRegistrationArgs{\n\t\t\tLocation: pulumi.String(\"global\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleConnection\", \u0026bot.ConnectionArgs{\n\t\t\tBotName: exampleChannelsRegistration.Name,\n\t\t\tLocation: exampleChannelsRegistration.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:bot/webApp:WebApp": { "description": "Manages a Bot Web App.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleWebApp = new azure.bot.WebApp(\"exampleWebApp\", {\n location: \"global\",\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_web_app = azure.bot.WebApp(\"exampleWebApp\",\n location=\"global\",\n resource_group_name=example_resource_group.name,\n sku=\"F0\",\n microsoft_app_id=current.client_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleWebApp = new Azure.Bot.WebApp(\"exampleWebApp\", new Azure.Bot.WebAppArgs\n {\n Location = \"global\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"F0\",\n MicrosoftAppId = current.Apply(current =\u003e current.ClientId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/bot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = bot.NewWebApp(ctx, \"exampleWebApp\", \u0026bot.WebAppArgs{\n\t\t\tLocation: pulumi.String(\"global\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "developerAppInsightsApiKey": { "type": "string", "description": "The Application Insights API Key to associate with the Web App Bot.\n" }, "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 `name` 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" }, "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": [ "developerAppInsightsApiKey", "developerAppInsightsApplicationId", "developerAppInsightsKey", "displayName", "location", "microsoftAppId", "name", "resourceGroupName", "sku" ], "inputProperties": { "developerAppInsightsApiKey": { "type": "string", "description": "The Application Insights API Key to associate with the Web App Bot.\n" }, "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 `name` 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" }, "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" } }, "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" }, "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 `name` 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" }, "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" } }, "type": "object" } }, "azure:cdn/endpoint:Endpoint": { "description": "A CDN 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleProfile = new azure.cdn.Profile(\"exampleProfile\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard_Verizon\",\n});\nconst exampleEndpoint = new azure.cdn.Endpoint(\"exampleEndpoint\", {\n profileName: exampleProfile.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_profile = azure.cdn.Profile(\"exampleProfile\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard_Verizon\")\nexample_endpoint = azure.cdn.Endpoint(\"exampleEndpoint\",\n profile_name=example_profile.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n origins=[azure.cdn.EndpointOriginArgs(\n name=\"example\",\n host_name=\"www.contoso.com\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleProfile = new Azure.Cdn.Profile(\"exampleProfile\", new Azure.Cdn.ProfileArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard_Verizon\",\n });\n var exampleEndpoint = new Azure.Cdn.Endpoint(\"exampleEndpoint\", new Azure.Cdn.EndpointArgs\n {\n ProfileName = exampleProfile.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Origins = \n {\n new Azure.Cdn.Inputs.EndpointOriginArgs\n {\n Name = \"example\",\n HostName = \"www.contoso.com\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleProfile\", \u0026cdn.ProfileArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: pulumi.String(\"Standard_Verizon\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewEndpoint(ctx, \"exampleEndpoint\", \u0026cdn.EndpointArgs{\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: 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{{% /example %}}\n{{% /examples %}}", "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 `delivery_rule` 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 `geo_filter` 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 `global_delivery_rule` block as defined below.\n" }, "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" }, "isCompressionEnabled": { "type": "boolean", "description": "Indicates whether compression is to be enabled. Defaults to false.\n" }, "isHttpAllowed": { "type": "boolean", "description": "Defaults to `true`.\n" }, "isHttpsAllowed": { "type": "boolean", "description": "Defaults to `true`.\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 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" }, "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. Defaults to the host name of the origin.\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 `origin` block supports fields documented below.\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 `origin_path`.\n" }, "profileName": { "type": "string", "description": "The CDN Profile to which to attach the CDN Endpoint.\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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "contentTypesToCompresses", "hostName", "location", "name", "origins", "originPath", "probePath", "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 `delivery_rule` 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 `geo_filter` 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 `global_delivery_rule` block as defined below.\n" }, "isCompressionEnabled": { "type": "boolean", "description": "Indicates whether compression is to be enabled. Defaults to false.\n" }, "isHttpAllowed": { "type": "boolean", "description": "Defaults to `true`.\n" }, "isHttpsAllowed": { "type": "boolean", "description": "Defaults to `true`.\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 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" }, "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. Defaults to the host name of the origin.\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 `origin` block supports fields documented below.\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 `origin_path`.\n" }, "profileName": { "type": "string", "description": "The CDN Profile to which to attach the CDN Endpoint.\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.\n" }, "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 `delivery_rule` 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 `geo_filter` 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 `global_delivery_rule` block as defined below.\n" }, "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" }, "isCompressionEnabled": { "type": "boolean", "description": "Indicates whether compression is to be enabled. Defaults to false.\n" }, "isHttpAllowed": { "type": "boolean", "description": "Defaults to `true`.\n" }, "isHttpsAllowed": { "type": "boolean", "description": "Defaults to `true`.\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 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" }, "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. Defaults to the host name of the origin.\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 `origin` block supports fields documented below.\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 `origin_path`.\n" }, "profileName": { "type": "string", "description": "The CDN Profile to which to attach the CDN Endpoint.\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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:cdn/profile:Profile": { "description": "Manages a CDN Profile to create a collection of CDN Endpoints.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleProfile = new azure.cdn.Profile(\"exampleProfile\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard_Verizon\",\n tags: {\n environment: \"Production\",\n cost_center: \"MSFT\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_profile = azure.cdn.Profile(\"exampleProfile\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n sku=\"Standard_Verizon\",\n tags={\n \"environment\": \"Production\",\n \"cost_center\": \"MSFT\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleProfile = new Azure.Cdn.Profile(\"exampleProfile\", new Azure.Cdn.ProfileArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard_Verizon\",\n Tags = \n {\n { \"environment\", \"Production\" },\n { \"cost_center\", \"MSFT\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = cdn.NewProfile(ctx, \"exampleProfile\", \u0026cdn.ProfileArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSku: pulumi.String(\"Standard_Verizon\"),\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{{% /example %}}\n{{% /examples %}}", "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\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the CDN Profile.\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`.\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" }, "name": { "type": "string", "description": "Specifies the name of the CDN Profile. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the CDN Profile.\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`.\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 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" }, "name": { "type": "string", "description": "Specifies the name of the CDN Profile. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the CDN Profile.\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`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.cognitive.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.cognitive.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"Face\",\n sku_name=\"S0\",\n tags={\n \"Acceptance\": \"Test\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Cognitive.Account(\"exampleAccount\", new Azure.Cognitive.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Kind = \"Face\",\n SkuName = \"S0\",\n Tags = \n {\n { \"Acceptance\", \"Test\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cognitive\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026cognitive.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoint": { "type": "string", "description": "The endpoint used to connect to the Cognitive Service Account.\n" }, "kind": { "type": "string", "description": "Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `AnomalyDetector`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `CognitiveServices`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`,`FormRecognizer`, `ImmersiveReader`, `LUIS`, `LUIS.Authoring`, `QnAMaker`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. 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 Cognitive Service Account. Changing this forces a new resource to be created.\n" }, "primaryAccessKey": { "type": "string", "description": "A primary access key which can be used to connect to the Cognitive Service Account.\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" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this Cognitive Service Account. Possible values are `F0`, `F1`, `S`, `S0`, `S1`, `S2`, `S3`, `S4`, `S5`, `S6`, `P0`, `P1`, and `P2`.\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": { "kind": { "type": "string", "description": "Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `AnomalyDetector`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `CognitiveServices`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`,`FormRecognizer`, `ImmersiveReader`, `LUIS`, `LUIS.Authoring`, `QnAMaker`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. 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 Cognitive Service Account. Changing this forces a new resource to be created.\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" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this Cognitive Service Account. Possible values are `F0`, `F1`, `S`, `S0`, `S1`, `S2`, `S3`, `S4`, `S5`, `S6`, `P0`, `P1`, and `P2`.\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": { "endpoint": { "type": "string", "description": "The endpoint used to connect to the Cognitive Service Account.\n" }, "kind": { "type": "string", "description": "Specifies the type of Cognitive Service Account that should be created. Possible values are `Academic`, `AnomalyDetector`, `Bing.Autosuggest`, `Bing.Autosuggest.v7`, `Bing.CustomSearch`, `Bing.Search`, `Bing.Search.v7`, `Bing.Speech`, `Bing.SpellCheck`, `Bing.SpellCheck.v7`, `CognitiveServices`, `ComputerVision`, `ContentModerator`, `CustomSpeech`, `CustomVision.Prediction`, `CustomVision.Training`, `Emotion`, `Face`,`FormRecognizer`, `ImmersiveReader`, `LUIS`, `LUIS.Authoring`, `QnAMaker`, `Recommendations`, `SpeakerRecognition`, `Speech`, `SpeechServices`, `SpeechTranslation`, `TextAnalytics`, `TextTranslation` and `WebLM`. 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 Cognitive Service Account. Changing this forces a new resource to be created.\n" }, "primaryAccessKey": { "type": "string", "description": "A primary access key which can be used to connect to the Cognitive Service Account.\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" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this Cognitive Service Account. Possible values are `F0`, `F1`, `S`, `S0`, `S1`, `S2`, `S3`, `S4`, `S5`, `S6`, `P0`, `P1`, and `P2`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:compute/availabilitySet:AvailabilitySet": { "description": "Manages an Availability Set for Virtual Machines.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAvailabilitySet = new azure.compute.AvailabilitySet(\"exampleAvailabilitySet\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_availability_set = azure.compute.AvailabilitySet(\"exampleAvailabilitySet\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAvailabilitySet = new Azure.Compute.AvailabilitySet(\"exampleAvailabilitySet\", new Azure.Compute.AvailabilitySetArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAvailabilitySet\", \u0026compute.AvailabilitySetArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `true` (to specify aligned) or `false` (to specify classic). Default is `true`.\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 `3`.\n" }, "platformUpdateDomainCount": { "type": "integer", "description": "Specifies the number of update domains that are used. Defaults to `5`.\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" }, "managed": { "type": "boolean", "description": "Specifies whether the availability set is managed or not. Possible values are `true` (to specify aligned) or `false` (to specify classic). Default is `true`.\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 `3`.\n" }, "platformUpdateDomainCount": { "type": "integer", "description": "Specifies the number of update domains that are used. Defaults to `5`.\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" } }, "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" }, "managed": { "type": "boolean", "description": "Specifies whether the availability set is managed or not. Possible values are `true` (to specify aligned) or `false` (to specify classic). Default is `true`.\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 `3`.\n" }, "platformUpdateDomainCount": { "type": "integer", "description": "Specifies the number of update domains that are used. Defaults to `5`.\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" } }, "type": "object" } }, "azure:compute/bastionHost:BastionHost": { "description": "Manages a Bastion Host.\n\n\u003e **Note:** Bastion Hosts are a preview feature in Azure, and therefore are only supported in a select number of regions. [Read more](https://docs.microsoft.com/en-us/azure/bastion/bastion-faq).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example deploys an Azure Bastion Host Instance to a target virtual network.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"192.168.1.0/24\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"192.168.1.224/27\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n});\nconst exampleBastionHost = new azure.compute.BastionHost(\"exampleBastionHost\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"192.168.1.0/24\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"192.168.1.224/27\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\")\nexample_bastion_host = azure.compute.BastionHost(\"exampleBastionHost\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configuration=azure.compute.BastionHostIpConfigurationArgs(\n name=\"configuration\",\n subnet_id=example_subnet.id,\n public_ip_address_id=example_public_ip.id,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"192.168.1.0/24\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"192.168.1.224/27\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n });\n var exampleBastionHost = new Azure.Compute.BastionHost(\"exampleBastionHost\", new Azure.Compute.BastionHostArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"192.168.1.224/27\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleBastionHost\", \u0026compute.BastionHostArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "dnsName": { "type": "string", "description": "The FQDN for the Bastion Host.\n" }, "ipConfiguration": { "$ref": "#/types/azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration", "description": "A `ip_configuration` 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" }, "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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "dnsName", "location", "name", "resourceGroupName" ], "inputProperties": { "ipConfiguration": { "$ref": "#/types/azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration", "description": "A `ip_configuration` 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" }, "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.\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 BastionHost resources.\n", "properties": { "dnsName": { "type": "string", "description": "The FQDN for the Bastion Host.\n" }, "ipConfiguration": { "$ref": "#/types/azure:compute/BastionHostIpConfiguration:BastionHostIpConfiguration", "description": "A `ip_configuration` 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" }, "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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "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 `azure.compute.VirtualMachine` resource, or using the `azure.compute.DataDiskAttachment` 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 `storage_data_disk` block in the `azure.compute.VirtualMachine` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 mainResourceGroup = new azure.core.ResourceGroup(\"mainResourceGroup\", {location: \"West Europe\"});\nconst mainVirtualNetwork = new azure.network.VirtualNetwork(\"mainVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: mainResourceGroup.name,\n virtualNetworkName: mainVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst mainNetworkInterface = new azure.network.NetworkInterface(\"mainNetworkInterface\", {\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n ipConfigurations: [{\n name: \"internal\",\n subnetId: internal.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"exampleVirtualMachine\", {\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n networkInterfaceIds: [mainNetworkInterface.id],\n vmSize: \"Standard_F2\",\n storageImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.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(\"exampleManagedDisk\", {\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n storageAccountType: \"Standard_LRS\",\n createOption: \"Empty\",\n diskSizeGb: 10,\n});\nconst exampleDataDiskAttachment = new azure.compute.DataDiskAttachment(\"exampleDataDiskAttachment\", {\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\"\nmain_resource_group = azure.core.ResourceGroup(\"mainResourceGroup\", location=\"West Europe\")\nmain_virtual_network = azure.network.VirtualNetwork(\"mainVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name)\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=main_resource_group.name,\n virtual_network_name=main_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nmain_network_interface = azure.network.NetworkInterface(\"mainNetworkInterface\",\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=internal.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_virtual_machine = azure.compute.VirtualMachine(\"exampleVirtualMachine\",\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name,\n network_interface_ids=[main_network_interface.id],\n vm_size=\"Standard_F2\",\n storage_image_reference=azure.compute.VirtualMachineStorageImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ),\n storage_os_disk=azure.compute.VirtualMachineStorageOsDiskArgs(\n name=\"myosdisk1\",\n caching=\"ReadWrite\",\n create_option=\"FromImage\",\n managed_disk_type=\"Standard_LRS\",\n ),\n os_profile=azure.compute.VirtualMachineOsProfileArgs(\n computer_name=vm_name,\n admin_username=\"testadmin\",\n admin_password=\"Password1234!\",\n ),\n os_profile_linux_config=azure.compute.VirtualMachineOsProfileLinuxConfigArgs(\n disable_password_authentication=False,\n ))\nexample_managed_disk = azure.compute.ManagedDisk(\"exampleManagedDisk\",\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name,\n storage_account_type=\"Standard_LRS\",\n create_option=\"Empty\",\n disk_size_gb=10)\nexample_data_disk_attachment = azure.compute.DataDiskAttachment(\"exampleDataDiskAttachment\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var prefix = config.Get(\"prefix\") ?? \"example\";\n var vmName = $\"{prefix}-vm\";\n var mainResourceGroup = new Azure.Core.ResourceGroup(\"mainResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var mainVirtualNetwork = new Azure.Network.VirtualNetwork(\"mainVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n VirtualNetworkName = mainVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var mainNetworkInterface = new Azure.Network.NetworkInterface(\"mainNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"internal\",\n SubnetId = @internal.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"exampleVirtualMachine\", new Azure.Compute.VirtualMachineArgs\n {\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n NetworkInterfaceIds = \n {\n mainNetworkInterface.Id,\n },\n VmSize = \"Standard_F2\",\n StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"UbuntuServer\",\n Sku = \"16.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 var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"exampleManagedDisk\", new Azure.Compute.ManagedDiskArgs\n {\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n StorageAccountType = \"Standard_LRS\",\n CreateOption = \"Empty\",\n DiskSizeGb = 10,\n });\n var exampleDataDiskAttachment = new Azure.Compute.DataDiskAttachment(\"exampleDataDiskAttachment\", new Azure.Compute.DataDiskAttachmentArgs\n {\n ManagedDiskId = exampleManagedDisk.Id,\n VirtualMachineId = exampleVirtualMachine.Id,\n Lun = 10,\n Caching = \"ReadWrite\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvmName := fmt.Sprintf(\"%v%v\", prefix, \"-vm\")\n\t\tmainResourceGroup, err := core.NewResourceGroup(ctx, \"mainResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmainVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"mainVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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\tResourceGroupName: mainResourceGroup.Name,\n\t\t\tVirtualNetworkName: mainVirtualNetwork.Name,\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\tmainNetworkInterface, err := network.NewNetworkInterface(ctx, \"mainNetworkInterface\", \u0026network.NetworkInterfaceArgs{\n\t\t\tLocation: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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, \"exampleVirtualMachine\", \u0026compute.VirtualMachineArgs{\n\t\t\tLocation: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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(\"UbuntuServer\"),\n\t\t\t\tSku: pulumi.String(\"16.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, \"exampleManagedDisk\", \u0026compute.ManagedDiskArgs{\n\t\t\tLocation: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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, \"exampleDataDiskAttachment\", \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{{% /example %}}\n{{% /examples %}}", "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/en-us/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.\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" }, "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/en-us/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.\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" }, "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/en-us/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.\n" } }, "type": "object" } }, "azure:compute/dedicatedHost:DedicatedHost": { "description": "Manage a Dedicated Host within a Dedicated Host Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n platformFaultDomainCount: 2,\n});\nconst exampleDedicatedHost = new azure.compute.DedicatedHost(\"exampleDedicatedHost\", {\n location: exampleResourceGroup.location,\n dedicatedHostGroupId: exampleDedicatedHostGroup.id,\n skuName: \"DSv3-Type1\",\n platformFaultDomain: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_dedicated_host_group = azure.compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n platform_fault_domain_count=2)\nexample_dedicated_host = azure.compute.DedicatedHost(\"exampleDedicatedHost\",\n location=example_resource_group.location,\n dedicated_host_group_id=example_dedicated_host_group.id,\n sku_name=\"DSv3-Type1\",\n platform_fault_domain=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\", new Azure.Compute.DedicatedHostGroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PlatformFaultDomainCount = 2,\n });\n var exampleDedicatedHost = new Azure.Compute.DedicatedHost(\"exampleDedicatedHost\", new Azure.Compute.DedicatedHostArgs\n {\n Location = exampleResourceGroup.Location,\n DedicatedHostGroupId = exampleDedicatedHostGroup.Id,\n SkuName = \"DSv3-Type1\",\n PlatformFaultDomain = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleDedicatedHostGroup\", \u0026compute.DedicatedHostGroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleDedicatedHost\", \u0026compute.DedicatedHostArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tDedicatedHostGroupId: exampleDedicatedHostGroup.ID(),\n\t\t\tSkuName: pulumi.String(\"DSv3-Type1\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "autoReplaceOnFailure": { "type": "boolean", "description": "Should the Dedicated Host automatically be replaced in case of a Hardware Failure? Defaults to `true`.\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 `DSv3-Type1`, `DSv3-Type2`, `ESv3-Type1`, `ESv3-Type2`,`FSv2-Type2`. 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 `true`.\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 `DSv3-Type1`, `DSv3-Type2`, `ESv3-Type1`, `ESv3-Type2`,`FSv2-Type2`. 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" } }, "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 `true`.\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 `DSv3-Type1`, `DSv3-Type2`, `ESv3-Type1`, `ESv3-Type2`,`FSv2-Type2`. 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": "object" } }, "azure:compute/dedicatedHostGroup:DedicatedHostGroup": { "description": "Manage a Dedicated Host Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n platformFaultDomainCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_dedicated_host_group = azure.compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n platform_fault_domain_count=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\", new Azure.Compute.DedicatedHostGroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PlatformFaultDomainCount = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleDedicatedHostGroup\", \u0026compute.DedicatedHostGroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "zones": { "type": "string", "description": "A list of Availability Zones in which the Dedicated Host Group should be located. Changing this forces a new resource to be created.\n" } }, "required": [ "location", "name", "platformFaultDomainCount", "resourceGroupName" ], "inputProperties": { "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" }, "zones": { "type": "string", "description": "A list of Availability Zones in which the Dedicated Host Group should be located. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "platformFaultDomainCount", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering DedicatedHostGroup resources.\n", "properties": { "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" }, "zones": { "type": "string", "description": "A list of Availability Zones in which the Dedicated Host Group should be located. Changing this forces a new resource to be created.\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", "properties": { "identity": { "$ref": "#/types/azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity", "description": "A `identity` block 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).\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" }, "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", "keyVaultKeyId", "location", "name", "resourceGroupName" ], "inputProperties": { "identity": { "$ref": "#/types/azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity", "description": "A `identity` block 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).\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" }, "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" } }, "requiredInputs": [ "identity", "keyVaultKeyId", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering DiskEncryptionSet resources.\n", "properties": { "identity": { "$ref": "#/types/azure:compute/DiskEncryptionSetIdentity:DiskEncryptionSetIdentity", "description": "A `identity` block 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).\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" }, "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" } }, "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 `0` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"exampleVirtualMachine\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n networkInterfaceIds: [exampleNetworkInterface.id],\n vmSize: \"Standard_F2\",\n storageImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.04-LTS\",\n version: \"latest\",\n },\n storageOsDisk: {\n name: \"myosdisk1\",\n vhdUri: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/myosdisk1.vhd`,\n caching: \"ReadWrite\",\n createOption: \"FromImage\",\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});\nconst exampleExtension = new azure.compute.Extension(\"exampleExtension\", {\n virtualMachineId: exampleVirtualMachine.id,\n publisher: \"Microsoft.Azure.Extensions\",\n type: \"CustomScript\",\n typeHandlerVersion: \"2.0\",\n settings: `\t{\n\t\t\"commandToExecute\": \"hostname \u0026\u0026 uptime\"\n\t}\n`,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"testconfiguration1\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_virtual_machine = azure.compute.VirtualMachine(\"exampleVirtualMachine\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n network_interface_ids=[example_network_interface.id],\n vm_size=\"Standard_F2\",\n storage_image_reference=azure.compute.VirtualMachineStorageImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ),\n storage_os_disk=azure.compute.VirtualMachineStorageOsDiskArgs(\n name=\"myosdisk1\",\n vhd_uri=pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f\"{primary_blob_endpoint}{name}/myosdisk1.vhd\"),\n caching=\"ReadWrite\",\n create_option=\"FromImage\",\n ),\n os_profile=azure.compute.VirtualMachineOsProfileArgs(\n computer_name=\"hostname\",\n admin_username=\"testadmin\",\n admin_password=\"Password1234!\",\n ),\n os_profile_linux_config=azure.compute.VirtualMachineOsProfileLinuxConfigArgs(\n disable_password_authentication=False,\n ),\n tags={\n \"environment\": \"staging\",\n })\nexample_extension = azure.compute.Extension(\"exampleExtension\",\n virtual_machine_id=example_virtual_machine.id,\n publisher=\"Microsoft.Azure.Extensions\",\n type=\"CustomScript\",\n type_handler_version=\"2.0\",\n settings=\"\"\"\t{\n\t\t\"commandToExecute\": \"hostname \u0026\u0026 uptime\"\n\t}\n\"\"\",\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"exampleVirtualMachine\", new Azure.Compute.VirtualMachineArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n NetworkInterfaceIds = \n {\n exampleNetworkInterface.Id,\n },\n VmSize = \"Standard_F2\",\n StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n Version = \"latest\",\n },\n StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs\n {\n Name = \"myosdisk1\",\n VhdUri = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n {\n var primaryBlobEndpoint = values.Item1;\n var name = values.Item2;\n return $\"{primaryBlobEndpoint}{name}/myosdisk1.vhd\";\n }),\n Caching = \"ReadWrite\",\n CreateOption = \"FromImage\",\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 var exampleExtension = new Azure.Compute.Extension(\"exampleExtension\", new Azure.Compute.ExtensionArgs\n {\n VirtualMachineId = exampleVirtualMachine.Id,\n Publisher = \"Microsoft.Azure.Extensions\",\n Type = \"CustomScript\",\n TypeHandlerVersion = \"2.0\",\n Settings = @\"\t{\n\t\t\"\"commandToExecute\"\": \"\"hostname \u0026\u0026 uptime\"\"\n\t}\n\",\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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(\"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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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\texampleVirtualMachine, err := compute.NewVirtualMachine(ctx, \"exampleVirtualMachine\", \u0026compute.VirtualMachineArgs{\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\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(\"UbuntuServer\"),\n\t\t\t\tSku: pulumi.String(\"16.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\tVhdUri: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\t\tname := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"%v%v%v\", primaryBlobEndpoint, name, \"/myosdisk1.vhd\"), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tCaching: pulumi.String(\"ReadWrite\"),\n\t\t\t\tCreateOption: pulumi.String(\"FromImage\"),\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\t_, err = compute.NewExtension(ctx, \"exampleExtension\", \u0026compute.ExtensionArgs{\n\t\t\tVirtualMachineId: exampleVirtualMachine.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(fmt.Sprintf(\"%v%v%v\", \"\t{\\n\", \"\t\t\\\"commandToExecute\\\": \\\"hostname \u0026\u0026 uptime\\\"\\n\", \"\t}\\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{{% /example %}}\n{{% /examples %}}", "properties": { "autoUpgradeMinorVersion": { "type": "boolean", "description": "Specifies if the platform deploys\nthe latest minor version update to the `type_handler_version` specified.\n" }, "name": { "type": "string", "description": "The name of the virtual machine extension peering. Changing\nthis forces a new resource to be created.\n" }, "protectedSettings": { "type": "string", "description": "The protected_settings passed to the\nextension, like settings, these are specified as a JSON object in a string.\n" }, "publisher": { "type": "string", "description": "The publisher of the extension, available publishers\ncan be found by using the Azure CLI.\n" }, "settings": { "type": "string", "description": "The settings passed to the extension, these are\nspecified as a JSON object in a string.\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\nbe found using the Azure CLI.\n" }, "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the extension to\nuse, 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\nthe latest minor version update to the `type_handler_version` specified.\n" }, "name": { "type": "string", "description": "The name of the virtual machine extension peering. Changing\nthis forces a new resource to be created.\n" }, "protectedSettings": { "type": "string", "description": "The protected_settings passed to the\nextension, like settings, these are specified as a JSON object in a string.\n" }, "publisher": { "type": "string", "description": "The publisher of the extension, available publishers\ncan be found by using the Azure CLI.\n" }, "settings": { "type": "string", "description": "The settings passed to the extension, these are\nspecified as a JSON object in a string.\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\nbe found using the Azure CLI.\n" }, "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the extension to\nuse, 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" } }, "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\nthe latest minor version update to the `type_handler_version` specified.\n" }, "name": { "type": "string", "description": "The name of the virtual machine extension peering. Changing\nthis forces a new resource to be created.\n" }, "protectedSettings": { "type": "string", "description": "The protected_settings passed to the\nextension, like settings, these are specified as a JSON object in a string.\n" }, "publisher": { "type": "string", "description": "The publisher of the extension, available publishers\ncan be found by using the Azure CLI.\n" }, "settings": { "type": "string", "description": "The settings passed to the extension, these are\nspecified as a JSON object in a string.\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\nbe found using the Azure CLI.\n" }, "typeHandlerVersion": { "type": "string", "description": "Specifies the version of the extension to\nuse, 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" } }, "type": "object" } }, "azure:compute/image:Image": { "description": "Manages a custom virtual machine image that can be used to create virtual machines.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creating From VHD\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleImage = new azure.compute.Image(\"exampleImage\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n osDisk: {\n osType: \"Linux\",\n osState: \"Generalized\",\n blobUri: \"{blob_uri}\",\n sizeGb: 30,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_image = azure.compute.Image(\"exampleImage\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n os_disk=azure.compute.ImageOsDiskArgs(\n os_type=\"Linux\",\n os_state=\"Generalized\",\n blob_uri=\"{blob_uri}\",\n size_gb=30,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleImage = new Azure.Compute.Image(\"exampleImage\", new Azure.Compute.ImageArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n OsDisk = new Azure.Compute.Inputs.ImageOsDiskArgs\n {\n OsType = \"Linux\",\n OsState = \"Generalized\",\n BlobUri = \"{blob_uri}\",\n SizeGb = 30,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = compute.NewImage(ctx, \"exampleImage\", \u0026compute.ImageArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tOsDisk: \u0026compute.ImageOsDiskArgs{\n\t\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\t\tOsState: pulumi.String(\"Generalized\"),\n\t\t\t\tBlobUri: pulumi.String(\"{blob_uri}\"),\n\t\t\t\tSizeGb: pulumi.Int(30),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n{{% /example %}}\n{{% example %}}\n### Creating From Virtual Machine (VM Must Be Generalized Beforehand)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleImage = new azure.compute.Image(\"exampleImage\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sourceVirtualMachineId: \"{vm_id}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_image = azure.compute.Image(\"exampleImage\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n source_virtual_machine_id=\"{vm_id}\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleImage = new Azure.Compute.Image(\"exampleImage\", new Azure.Compute.ImageArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n SourceVirtualMachineId = \"{vm_id}\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = compute.NewImage(ctx, \"exampleImage\", \u0026compute.ImageArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSourceVirtualMachineId: pulumi.String(\"{vm_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{{% /example %}}\n{{% /examples %}}", "properties": { "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/ImageDataDisk:ImageDataDisk" }, "description": "One or more `data_disk` elements as defined below.\n" }, "hyperVGeneration": { "type": "string", "description": "The HyperVGenerationType of the VirtualMachine created from the image as `V1`, `V2`. The default is `V1`.\n" }, "location": { "type": "string", "description": "Specified the supported Azure location where the resource exists.\nChanging this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the image. Changing this forces a\nnew resource to be created.\n" }, "osDisk": { "$ref": "#/types/azure:compute/ImageOsDisk:ImageOsDisk", "description": "One or more `os_disk` elements as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create\nthe 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 `false`. Changing this forces a new resource to be created.\n" } }, "required": [ "location", "name", "resourceGroupName" ], "inputProperties": { "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/ImageDataDisk:ImageDataDisk" }, "description": "One or more `data_disk` elements as defined below.\n" }, "hyperVGeneration": { "type": "string", "description": "The HyperVGenerationType of the VirtualMachine created from the image as `V1`, `V2`. The default is `V1`.\n" }, "location": { "type": "string", "description": "Specified the supported Azure location where the resource exists.\nChanging this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the image. Changing this forces a\nnew resource to be created.\n" }, "osDisk": { "$ref": "#/types/azure:compute/ImageOsDisk:ImageOsDisk", "description": "One or more `os_disk` elements as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create\nthe 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 `false`. Changing this forces a new resource to be created.\n" } }, "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 `data_disk` elements as defined below.\n" }, "hyperVGeneration": { "type": "string", "description": "The HyperVGenerationType of the VirtualMachine created from the image as `V1`, `V2`. The default is `V1`.\n" }, "location": { "type": "string", "description": "Specified the supported Azure location where the resource exists.\nChanging this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the image. Changing this forces a\nnew resource to be created.\n" }, "osDisk": { "$ref": "#/types/azure:compute/ImageOsDisk:ImageOsDisk", "description": "One or more `os_disk` elements as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create\nthe 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 `false`. Changing this forces a new resource to be created.\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 `features` configuration within the Provider configuration 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 `azure.compute.VirtualMachine` 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 `azure.compute.VirtualMachine` resource instead.\n\n\u003e In this release there's a known issue where the `public_ip_address` and `public_ip_addresses` fields may not be fully populated for Dynamic Public IP's.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a basic Linux Virtual Machine on an internal network.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"internal\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n size: \"Standard_F2\",\n adminUsername: \"adminuser\",\n networkInterfaceIds: [exampleNetworkInterface.id],\n adminSshKeys: [{\n username: \"adminuser\",\n publicKey: fs.readFileSync(\"~/.ssh/id_rsa.pub\"),\n }],\n osDisk: {\n caching: \"ReadWrite\",\n storageAccountType: \"Standard_LRS\",\n },\n sourceImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.04-LTS\",\n version: \"latest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n size=\"Standard_F2\",\n admin_username=\"adminuser\",\n network_interface_ids=[example_network_interface.id],\n admin_ssh_keys=[azure.compute.LinuxVirtualMachineAdminSshKeyArgs(\n username=\"adminuser\",\n public_key=(lambda path: open(path).read())(\"~/.ssh/id_rsa.pub\"),\n )],\n os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs(\n caching=\"ReadWrite\",\n storage_account_type=\"Standard_LRS\",\n ),\n source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ))\n```\n```csharp\nusing System.IO;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"internal\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", new Azure.Compute.LinuxVirtualMachineArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Size = \"Standard_F2\",\n AdminUsername = \"adminuser\",\n NetworkInterfaceIds = \n {\n exampleNetworkInterface.Id,\n },\n AdminSshKeys = \n {\n new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n {\n Username = \"adminuser\",\n PublicKey = File.ReadAllText(\"~/.ssh/id_rsa.pub\"),\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 = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n Version = \"latest\",\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities", "description": "A `additional_capabilities` 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" }, "adminSshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey" }, "description": "One or more `admin_ssh_key` blocks as defined below.\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" }, "allowExtensionOperations": { "type": "boolean", "description": "Should Extension Operations be allowed on this Virtual Machine?\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 `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name`, then you must specify `computer_name`. 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" }, "dedicatedHostId": { "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.\n" }, "disablePasswordAuthentication": { "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine? Defaults to `true`. Changing this forces a new resource 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. At this time the only supported value is `Deallocate`. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity", "description": "An `identity` block as defined below.\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 `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\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 ID's 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 `os_disk` block as defined below.\n" }, "plan": { "$ref": "#/types/azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan", "description": "A `plan` block as defined below. Changing this forces a new resource 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 `true`. Changing this forces a new resource to be created.\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" }, "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" }, "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 `secret` blocks as defined below.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference", "description": "A `source_image_reference` 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 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. Changing this forces a new resource to be created.\n" }, "zone": { "type": "string", "description": "The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.\n" } }, "required": [ "adminUsername", "computerName", "location", "name", "networkInterfaceIds", "osDisk", "privateIpAddress", "privateIpAddresses", "publicIpAddress", "publicIpAddresses", "resourceGroupName", "size", "virtualMachineId", "zone" ], "inputProperties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/LinuxVirtualMachineAdditionalCapabilities:LinuxVirtualMachineAdditionalCapabilities", "description": "A `additional_capabilities` 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" }, "adminSshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey" }, "description": "One or more `admin_ssh_key` blocks as defined below.\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" }, "allowExtensionOperations": { "type": "boolean", "description": "Should Extension Operations be allowed on this Virtual Machine?\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 `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name`, then you must specify `computer_name`. 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" }, "dedicatedHostId": { "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.\n" }, "disablePasswordAuthentication": { "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine? Defaults to `true`. Changing this forces a new resource 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. At this time the only supported value is `Deallocate`. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity", "description": "An `identity` block as defined below.\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 `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\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 ID's 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 `os_disk` block as defined below.\n" }, "plan": { "$ref": "#/types/azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan", "description": "A `plan` block as defined below. Changing this forces a new resource 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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to `true`. Changing this forces a new resource to be created.\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 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 `secret` blocks as defined below.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference", "description": "A `source_image_reference` 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 this Virtual Machine.\n" }, "virtualMachineScaleSetId": { "type": "string", "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n" }, "zone": { "type": "string", "description": "The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "adminUsername", "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 `additional_capabilities` 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" }, "adminSshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineAdminSshKey:LinuxVirtualMachineAdminSshKey" }, "description": "One or more `admin_ssh_key` blocks as defined below.\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" }, "allowExtensionOperations": { "type": "boolean", "description": "Should Extension Operations be allowed on this Virtual Machine?\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 `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name`, then you must specify `computer_name`. 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" }, "dedicatedHostId": { "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.\n" }, "disablePasswordAuthentication": { "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine? Defaults to `true`. Changing this forces a new resource 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. At this time the only supported value is `Deallocate`. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineIdentity:LinuxVirtualMachineIdentity", "description": "An `identity` block as defined below.\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 `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\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 ID's 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 `os_disk` block as defined below.\n" }, "plan": { "$ref": "#/types/azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan", "description": "A `plan` block as defined below. Changing this forces a new resource 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 `true`. Changing this forces a new resource to be created.\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" }, "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" }, "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 `secret` blocks as defined below.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/LinuxVirtualMachineSourceImageReference:LinuxVirtualMachineSourceImageReference", "description": "A `source_image_reference` 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 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. Changing this forces a new resource to be created.\n" }, "zone": { "type": "string", "description": "The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:compute/linuxVirtualMachineScaleSet:LinuxVirtualMachineScaleSet": { "description": "Manages a Linux Virtual Machine Scale Set.\n\n## Disclaimers\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 `features` configuration within the Provider configuration 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 `azure.compute.ScaleSet` resource instead\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a basic Linux Virtual Machine Scale Set on an internal network.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: \"Standard_F2\",\n instances: 1,\n adminUsername: \"adminuser\",\n adminSshKeys: [{\n username: \"adminuser\",\n publicKey: fs.readFileSync(\"~/.ssh/id_rsa.pub\"),\n }],\n sourceImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.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\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n address_spaces=[\"10.0.0.0/16\"])\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=\"Standard_F2\",\n instances=1,\n admin_username=\"adminuser\",\n admin_ssh_keys=[azure.compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs(\n username=\"adminuser\",\n public_key=(lambda path: open(path).read())(\"~/.ssh/id_rsa.pub\"),\n )],\n source_image_reference=azure.compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ),\n os_disk=azure.compute.LinuxVirtualMachineScaleSetOsDiskArgs(\n storage_account_type=\"Standard_LRS\",\n caching=\"ReadWrite\",\n ),\n network_interfaces=[azure.compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs(\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.IO;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", new Azure.Compute.LinuxVirtualMachineScaleSetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = \"Standard_F2\",\n Instances = 1,\n AdminUsername = \"adminuser\",\n AdminSshKeys = \n {\n new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs\n {\n Username = \"adminuser\",\n PublicKey = File.ReadAllText(\"~/.ssh/id_rsa.pub\"),\n },\n },\n SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n Version = \"latest\",\n },\n OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs\n {\n StorageAccountType = \"Standard_LRS\",\n Caching = \"ReadWrite\",\n },\n NetworkInterfaces = \n {\n new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs\n {\n Name = \"example\",\n Primary = true,\n IpConfigurations = \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```\n{{% /example %}}\n{{% /examples %}}", "properties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAdditionalCapabilities:LinuxVirtualMachineScaleSetAdditionalCapabilities", "description": "A `additional_capabilities` 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" }, "adminSshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey" }, "description": "One or more `admin_ssh_key` blocks as defined 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" }, "automaticInstanceRepair": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair", "description": "A `automatic_instance_repair` block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid `health_probe_id` or an [Application Health Extension](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n" }, "automaticOsUpgradePolicy": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy", "description": "A `automatic_os_upgrade_policy` block as defined below. This can only be specified when `upgrade_mode` is set to `Automatic`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics", "description": "A `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`.\n" }, "customData": { "type": "string", "description": "The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n" }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk" }, "description": "One or more `data_disk` blocks as defined below.\n" }, "disablePasswordAuthentication": { "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to `true`.\n" }, "doNotRunExtensionsOnOverprovisionedMachines": { "type": "boolean", "description": "Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to `false`.\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": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.\n" }, "extensions": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension" }, "description": "One or more `extension` 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. Changing this forces a new resource to be created. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity", "description": "A `identity` block as defined below.\n" }, "instances": { "type": "integer", "description": "The number of Virtual Machines in the Scale Set.\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 `eviction_policy`. Defaults to `-1`, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.\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 `network_interface` blocks as defined below.\n" }, "osDisk": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk", "description": "An `os_disk` 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 `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan" }, "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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. 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" }, "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 `rolling_upgrade_policy` block as defined below. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "scaleInPolicy": { "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/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n" }, "secrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret" }, "description": "One or more `secret` blocks as defined below.\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 `true`.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference", "description": "A `source_image_reference` 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" }, "terminateNotification": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetTerminateNotification:LinuxVirtualMachineScaleSetTerminateNotification", "description": "A `terminate_notification` 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`.\n" }, "zoneBalance": { "type": "boolean", "description": "Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "required": [ "adminUsername", "automaticInstanceRepair", "computerNamePrefix", "extensions", "instances", "location", "name", "networkInterfaces", "osDisk", "resourceGroupName", "sku", "terminateNotification", "uniqueId" ], "inputProperties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAdditionalCapabilities:LinuxVirtualMachineScaleSetAdditionalCapabilities", "description": "A `additional_capabilities` 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" }, "adminSshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey" }, "description": "One or more `admin_ssh_key` blocks as defined 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" }, "automaticInstanceRepair": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair", "description": "A `automatic_instance_repair` block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid `health_probe_id` or an [Application Health Extension](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n" }, "automaticOsUpgradePolicy": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy", "description": "A `automatic_os_upgrade_policy` block as defined below. This can only be specified when `upgrade_mode` is set to `Automatic`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics", "description": "A `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`.\n" }, "customData": { "type": "string", "description": "The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n" }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk" }, "description": "One or more `data_disk` blocks as defined below.\n" }, "disablePasswordAuthentication": { "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to `true`.\n" }, "doNotRunExtensionsOnOverprovisionedMachines": { "type": "boolean", "description": "Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to `false`.\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": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.\n" }, "extensions": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension" }, "description": "One or more `extension` 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. Changing this forces a new resource to be created. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity", "description": "A `identity` block as defined below.\n" }, "instances": { "type": "integer", "description": "The number of Virtual Machines in the Scale Set.\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 `eviction_policy`. Defaults to `-1`, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.\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 `network_interface` blocks as defined below.\n" }, "osDisk": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk", "description": "An `os_disk` 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 `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan" }, "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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. 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" }, "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 `rolling_upgrade_policy` block as defined below. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "scaleInPolicy": { "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/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n" }, "secrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret" }, "description": "One or more `secret` blocks as defined below.\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 `true`.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference", "description": "A `source_image_reference` 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" }, "terminateNotification": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetTerminateNotification:LinuxVirtualMachineScaleSetTerminateNotification", "description": "A `terminate_notification` 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`.\n" }, "zoneBalance": { "type": "boolean", "description": "Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "adminUsername", "instances", "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": "A `additional_capabilities` 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" }, "adminSshKeys": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAdminSshKey:LinuxVirtualMachineScaleSetAdminSshKey" }, "description": "One or more `admin_ssh_key` blocks as defined 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" }, "automaticInstanceRepair": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticInstanceRepair:LinuxVirtualMachineScaleSetAutomaticInstanceRepair", "description": "A `automatic_instance_repair` block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid `health_probe_id` or an [Application Health Extension](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n" }, "automaticOsUpgradePolicy": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy:LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy", "description": "A `automatic_os_upgrade_policy` block as defined below. This can only be specified when `upgrade_mode` is set to `Automatic`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetBootDiagnostics:LinuxVirtualMachineScaleSetBootDiagnostics", "description": "A `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`.\n" }, "customData": { "type": "string", "description": "The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n" }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetDataDisk:LinuxVirtualMachineScaleSetDataDisk" }, "description": "One or more `data_disk` blocks as defined below.\n" }, "disablePasswordAuthentication": { "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to `true`.\n" }, "doNotRunExtensionsOnOverprovisionedMachines": { "type": "boolean", "description": "Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to `false`.\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": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.\n" }, "extensions": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetExtension:LinuxVirtualMachineScaleSetExtension" }, "description": "One or more `extension` 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. Changing this forces a new resource to be created. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "identity": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetIdentity:LinuxVirtualMachineScaleSetIdentity", "description": "A `identity` block as defined below.\n" }, "instances": { "type": "integer", "description": "The number of Virtual Machines in the Scale Set.\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 `eviction_policy`. Defaults to `-1`, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.\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 `network_interface` blocks as defined below.\n" }, "osDisk": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetOsDisk:LinuxVirtualMachineScaleSetOsDisk", "description": "An `os_disk` 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 `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetPlan:LinuxVirtualMachineScaleSetPlan" }, "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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. 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" }, "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 `rolling_upgrade_policy` block as defined below. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "scaleInPolicy": { "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/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n" }, "secrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSecret:LinuxVirtualMachineScaleSetSecret" }, "description": "One or more `secret` blocks as defined below.\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 `true`.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetSourceImageReference:LinuxVirtualMachineScaleSetSourceImageReference", "description": "A `source_image_reference` 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" }, "terminateNotification": { "$ref": "#/types/azure:compute/LinuxVirtualMachineScaleSetTerminateNotification:LinuxVirtualMachineScaleSetTerminateNotification", "description": "A `terminate_notification` 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`.\n" }, "zoneBalance": { "type": "boolean", "description": "Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:compute/managedDisk:ManagedDisk": { "description": "Manages a managed disk.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With Create Empty\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"exampleManagedDisk\", {\n location: \"West US 2\",\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_managed_disk = azure.compute.ManagedDisk(\"exampleManagedDisk\",\n location=\"West US 2\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"exampleManagedDisk\", new Azure.Compute.ManagedDiskArgs\n {\n Location = \"West US 2\",\n ResourceGroupName = exampleResourceGroup.Name,\n StorageAccountType = \"Standard_LRS\",\n CreateOption = \"Empty\",\n DiskSizeGb = 1,\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = compute.NewManagedDisk(ctx, \"exampleManagedDisk\", \u0026compute.ManagedDiskArgs{\n\t\t\tLocation: pulumi.String(\"West US 2\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### With Create Copy\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US 2\"});\nconst source = new azure.compute.ManagedDisk(\"source\", {\n location: \"West US 2\",\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 location: \"West US 2\",\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\", location=\"West US 2\")\nsource = azure.compute.ManagedDisk(\"source\",\n location=\"West US 2\",\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 location=\"West US 2\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var source = new Azure.Compute.ManagedDisk(\"source\", new Azure.Compute.ManagedDiskArgs\n {\n Location = \"West US 2\",\n ResourceGroupName = example.Name,\n StorageAccountType = \"Standard_LRS\",\n CreateOption = \"Empty\",\n DiskSizeGb = 1,\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var copy = new Azure.Compute.ManagedDisk(\"copy\", new Azure.Compute.ManagedDiskArgs\n {\n Location = \"West US 2\",\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\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\tsource, err := compute.NewManagedDisk(ctx, \"source\", \u0026compute.ManagedDiskArgs{\n\t\t\tLocation: pulumi.String(\"West US 2\"),\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\tLocation: pulumi.String(\"West US 2\"),\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{{% /example %}}\n{{% /examples %}}", "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" }, "diskEncryptionSetId": { "type": "string", "description": "The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk.\n" }, "diskIopsReadWrite": { "type": "integer", "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.\n" }, "diskMbpsReadWrite": { "type": "integer", "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second.\n" }, "diskSizeGb": { "type": "integer", "description": "Specifies the size of the managed disk to create in gigabytes. If `create_option` 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" }, "encryptionSettings": { "$ref": "#/types/azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings", "description": "A `encryption_settings` block as defined below.\n" }, "imageReferenceId": { "type": "string", "description": "ID of an existing platform/marketplace disk image to copy when `create_option` is `FromImage`.\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 Managed Disk. Changing this forces a new resource to be created.\n" }, "osType": { "type": "string", "description": "Specify a value when the source of an `Import` or `Copy` operation targets a source that contains an operating system. Valid values are `Linux` or `Windows`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Managed Disk should exist.\n" }, "sourceResourceId": { "type": "string", "description": "The ID of an existing Managed Disk to copy `create_option` is `Copy` or the recovery point to restore when `create_option` is `Restore`\n" }, "sourceUri": { "type": "string", "description": "URI to a valid VHD file to be used when `create_option` is `Import`.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account where the `source_uri` is located. Required when `create_option` is set to `Import`. 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`, `Premium_LRS`, `StandardSSD_LRS` or `UltraSSD_LRS`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Managed Disk in.\n" } }, "required": [ "createOption", "diskIopsReadWrite", "diskMbpsReadWrite", "diskSizeGb", "location", "name", "resourceGroupName", "sourceUri", "storageAccountType" ], "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" }, "diskEncryptionSetId": { "type": "string", "description": "The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk.\n" }, "diskIopsReadWrite": { "type": "integer", "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.\n" }, "diskMbpsReadWrite": { "type": "integer", "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second.\n" }, "diskSizeGb": { "type": "integer", "description": "Specifies the size of the managed disk to create in gigabytes. If `create_option` 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" }, "encryptionSettings": { "$ref": "#/types/azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings", "description": "A `encryption_settings` block as defined below.\n" }, "imageReferenceId": { "type": "string", "description": "ID of an existing platform/marketplace disk image to copy when `create_option` is `FromImage`.\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 Managed Disk. Changing this forces a new resource to be created.\n" }, "osType": { "type": "string", "description": "Specify a value when the source of an `Import` or `Copy` operation targets a source that contains an operating system. Valid values are `Linux` or `Windows`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Managed Disk should exist.\n" }, "sourceResourceId": { "type": "string", "description": "The ID of an existing Managed Disk to copy `create_option` is `Copy` or the recovery point to restore when `create_option` is `Restore`\n" }, "sourceUri": { "type": "string", "description": "URI to a valid VHD file to be used when `create_option` is `Import`.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account where the `source_uri` is located. Required when `create_option` is set to `Import`. 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`, `Premium_LRS`, `StandardSSD_LRS` or `UltraSSD_LRS`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Managed Disk in.\n" } }, "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" }, "diskEncryptionSetId": { "type": "string", "description": "The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk.\n" }, "diskIopsReadWrite": { "type": "integer", "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.\n" }, "diskMbpsReadWrite": { "type": "integer", "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second.\n" }, "diskSizeGb": { "type": "integer", "description": "Specifies the size of the managed disk to create in gigabytes. If `create_option` 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" }, "encryptionSettings": { "$ref": "#/types/azure:compute/ManagedDiskEncryptionSettings:ManagedDiskEncryptionSettings", "description": "A `encryption_settings` block as defined below.\n" }, "imageReferenceId": { "type": "string", "description": "ID of an existing platform/marketplace disk image to copy when `create_option` is `FromImage`.\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 Managed Disk. Changing this forces a new resource to be created.\n" }, "osType": { "type": "string", "description": "Specify a value when the source of an `Import` or `Copy` operation targets a source that contains an operating system. Valid values are `Linux` or `Windows`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Managed Disk should exist.\n" }, "sourceResourceId": { "type": "string", "description": "The ID of an existing Managed Disk to copy `create_option` is `Copy` or the recovery point to restore when `create_option` is `Restore`\n" }, "sourceUri": { "type": "string", "description": "URI to a valid VHD file to be used when `create_option` is `Import`.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account where the `source_uri` is located. Required when `create_option` is set to `Import`. 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`, `Premium_LRS`, `StandardSSD_LRS` or `UltraSSD_LRS`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Managed Disk in.\n" } }, "type": "object" } }, "azure:compute/orchestratedVirtualMachineScaleSet:OrchestratedVirtualMachineScaleSet": { "description": "Manages an Orchestrated Virtual Machine Scale Set.\n\n\u003e **Note:** Orchestrated Virtual Machine Scale Sets are in Public Preview and it may receive breaking changes - [more details can be found in the Azure Documentation](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/orchestration-modes).\n\n\u003e **Note:** Azure is planning to deprecate the `single_placement_group` attribute in the Orchestrated Virtual Machine Scale Set starting from api-version `2019-12-01` and there will be a breaking change in the Orchestrated Virtual Machine Scale Set.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleOrchestratedVirtualMachineScaleSet = new azure.compute.OrchestratedVirtualMachineScaleSet(\"exampleOrchestratedVirtualMachineScaleSet\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n platformFaultDomainCount: 1,\n zones: [\"1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_orchestrated_virtual_machine_scale_set = azure.compute.OrchestratedVirtualMachineScaleSet(\"exampleOrchestratedVirtualMachineScaleSet\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n platform_fault_domain_count=1,\n zones=[\"1\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleOrchestratedVirtualMachineScaleSet = new Azure.Compute.OrchestratedVirtualMachineScaleSet(\"exampleOrchestratedVirtualMachineScaleSet\", new Azure.Compute.OrchestratedVirtualMachineScaleSetArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PlatformFaultDomainCount = 1,\n Zones = \n {\n \"1\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleOrchestratedVirtualMachineScaleSet\", \u0026compute.OrchestratedVirtualMachineScaleSetArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPlatformFaultDomainCount: pulumi.Int(1),\n\t\t\tZones: pulumi.String(pulumi.String{\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{{% /example %}}\n{{% /examples %}}", "properties": { "location": { "type": "string", "description": "The Azure location where the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the Orchestrated Virtual Machine Scale Set. 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 Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.\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 Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n" }, "singlePlacementGroup": { "type": "boolean", "description": "Should the Orchestrated Virtual Machine Scale Set use single placement group? Defaults to `false`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to this Orchestrated Virtual Machine Scale Set.\n" }, "uniqueId": { "type": "string", "description": "The Unique ID for the Orchestrated Virtual Machine Scale Set.\n" }, "zones": { "type": "string", "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "required": [ "location", "name", "platformFaultDomainCount", "resourceGroupName", "uniqueId" ], "inputProperties": { "location": { "type": "string", "description": "The Azure location where the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the Orchestrated Virtual Machine Scale Set. 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 Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.\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 Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n" }, "singlePlacementGroup": { "type": "boolean", "description": "Should the Orchestrated Virtual Machine Scale Set use single placement group? Defaults to `false`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to this Orchestrated Virtual Machine Scale Set.\n" }, "zones": { "type": "string", "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "platformFaultDomainCount", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering OrchestratedVirtualMachineScaleSet resources.\n", "properties": { "location": { "type": "string", "description": "The Azure location where the Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the Orchestrated Virtual Machine Scale Set. 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 Orchestrated Virtual Machine Scale Set. Changing this forces a new resource to be created.\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 Orchestrated Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.\n" }, "singlePlacementGroup": { "type": "boolean", "description": "Should the Orchestrated Virtual Machine Scale Set use single placement group? Defaults to `false`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to this Orchestrated Virtual Machine Scale Set.\n" }, "uniqueId": { "type": "string", "description": "The Unique ID for the Orchestrated Virtual Machine Scale Set.\n" }, "zones": { "type": "string", "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:compute/scaleSet:ScaleSet": { "description": "Manages a virtual machine scale set.\n\n## Disclaimers\n\n\u003e **Note:** The `azure.compute.ScaleSet` resource has been superseded by the `azure.compute.LinuxVirtualMachineScaleSet` and `azure.compute.WindowsVirtualMachineScaleSet` resources. The existing `azure.compute.ScaleSet` 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 `azure.compute.LinuxVirtualMachineScaleSet` and `azure.compute.WindowsVirtualMachineScaleSet` resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### With Managed Disks (Recommended)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n domainNameLabel: exampleResourceGroup.name,\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst bpepool = new azure.lb.BackendAddressPool(\"bpepool\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n});\nconst lbnatpool = new azure.lb.NatPool(\"lbnatpool\", {\n resourceGroupName: exampleResourceGroup.name,\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(\"exampleProbe\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n protocol: \"Http\",\n requestPath: \"/health\",\n port: 8080,\n});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"exampleScaleSet\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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: \"UbuntuServer\",\n sku: \"16.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: fs.readFileSync(\"~/.ssh/demo_key.pub\"),\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\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n domain_name_label=example_resource_group.name,\n tags={\n \"environment\": \"staging\",\n })\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nbpepool = azure.lb.BackendAddressPool(\"bpepool\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id)\nlbnatpool = azure.lb.NatPool(\"lbnatpool\",\n resource_group_name=example_resource_group.name,\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(\"exampleProbe\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\n protocol=\"Http\",\n request_path=\"/health\",\n port=8080)\nexample_scale_set = azure.compute.ScaleSet(\"exampleScaleSet\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n automatic_os_upgrade=True,\n upgrade_policy_mode=\"Rolling\",\n rolling_upgrade_policy=azure.compute.ScaleSetRollingUpgradePolicyArgs(\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=azure.compute.ScaleSetSkuArgs(\n name=\"Standard_F2\",\n tier=\"Standard\",\n capacity=2,\n ),\n storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ),\n storage_profile_os_disk=azure.compute.ScaleSetStorageProfileOsDiskArgs(\n name=\"\",\n caching=\"ReadWrite\",\n create_option=\"FromImage\",\n managed_disk_type=\"Standard_LRS\",\n ),\n storage_profile_data_disks=[azure.compute.ScaleSetStorageProfileDataDiskArgs(\n lun=0,\n caching=\"ReadWrite\",\n create_option=\"Empty\",\n disk_size_gb=10,\n )],\n os_profile=azure.compute.ScaleSetOsProfileArgs(\n computer_name_prefix=\"testvm\",\n admin_username=\"myadmin\",\n ),\n os_profile_linux_config=azure.compute.ScaleSetOsProfileLinuxConfigArgs(\n disable_password_authentication=True,\n ssh_keys=[azure.compute.ScaleSetOsProfileLinuxConfigSshKeyArgs(\n path=\"/home/myadmin/.ssh/authorized_keys\",\n key_data=(lambda path: open(path).read())(\"~/.ssh/demo_key.pub\"),\n )],\n ),\n network_profiles=[azure.compute.ScaleSetNetworkProfileArgs(\n name=\"mynetworkprofile\",\n primary=True,\n ip_configurations=[{\n \"name\": \"TestIPConfiguration\",\n \"primary\": True,\n \"subnet_id\": example_subnet.id,\n \"loadBalancerBackendAddressPoolIds\": [bpepool.id],\n \"loadBalancerInboundNatRulesIds\": [lbnatpool.id],\n }],\n )],\n tags={\n \"environment\": \"staging\",\n })\n```\n```csharp\nusing System.IO;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n DomainNameLabel = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var bpepool = new Azure.Lb.BackendAddressPool(\"bpepool\", new Azure.Lb.BackendAddressPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n });\n var lbnatpool = new Azure.Lb.NatPool(\"lbnatpool\", new Azure.Lb.NatPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Tcp\",\n FrontendPortStart = 50000,\n FrontendPortEnd = 50119,\n BackendPort = 22,\n FrontendIpConfigurationName = \"PublicIPAddress\",\n });\n var exampleProbe = new Azure.Lb.Probe(\"exampleProbe\", new Azure.Lb.ProbeArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Http\",\n RequestPath = \"/health\",\n Port = 8080,\n });\n var exampleScaleSet = new Azure.Compute.ScaleSet(\"exampleScaleSet\", new Azure.Compute.ScaleSetArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 = \"UbuntuServer\",\n Sku = \"16.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 = \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 = \n {\n new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs\n {\n Path = \"/home/myadmin/.ssh/authorized_keys\",\n KeyData = File.ReadAllText(\"~/.ssh/demo_key.pub\"),\n },\n },\n },\n NetworkProfiles = \n {\n new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs\n {\n Name = \"mynetworkprofile\",\n Primary = true,\n IpConfigurations = \n {\n new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs\n {\n Name = \"TestIPConfiguration\",\n Primary = true,\n SubnetId = exampleSubnet.Id,\n LoadBalancerBackendAddressPoolIds = \n {\n bpepool.Id,\n },\n LoadBalancerInboundNatRulesIds = \n {\n lbnatpool.Id,\n },\n },\n },\n },\n },\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n }\n\n}\n```\n\n{{% /example %}}\n{{% example %}}\n### With Unmanaged Disks\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"westus\",\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"exampleScaleSet\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.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: fs.readFileSync(\"~/.ssh/demo_key.pub\"),\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: \"UbuntuServer\",\n sku: \"16.04-LTS\",\n version: \"latest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=\"West US\",\n resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=\"westus\",\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_scale_set = azure.compute.ScaleSet(\"exampleScaleSet\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n upgrade_policy_mode=\"Manual\",\n sku=azure.compute.ScaleSetSkuArgs(\n name=\"Standard_F2\",\n tier=\"Standard\",\n capacity=2,\n ),\n os_profile=azure.compute.ScaleSetOsProfileArgs(\n computer_name_prefix=\"testvm\",\n admin_username=\"myadmin\",\n ),\n os_profile_linux_config=azure.compute.ScaleSetOsProfileLinuxConfigArgs(\n disable_password_authentication=True,\n ssh_keys=[azure.compute.ScaleSetOsProfileLinuxConfigSshKeyArgs(\n path=\"/home/myadmin/.ssh/authorized_keys\",\n key_data=(lambda path: open(path).read())(\"~/.ssh/demo_key.pub\"),\n )],\n ),\n network_profiles=[azure.compute.ScaleSetNetworkProfileArgs(\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=azure.compute.ScaleSetStorageProfileOsDiskArgs(\n name=\"osDiskProfile\",\n caching=\"ReadWrite\",\n create_option=\"FromImage\",\n vhd_containers=[pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f\"{primary_blob_endpoint}{name}\")],\n ),\n storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ))\n```\n```csharp\nusing System.IO;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"westus\",\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleScaleSet = new Azure.Compute.ScaleSet(\"exampleScaleSet\", new Azure.Compute.ScaleSetArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.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 = \n {\n new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs\n {\n Path = \"/home/myadmin/.ssh/authorized_keys\",\n KeyData = File.ReadAllText(\"~/.ssh/demo_key.pub\"),\n },\n },\n },\n NetworkProfiles = \n {\n new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs\n {\n Name = \"TestNetworkProfile\",\n Primary = true,\n IpConfigurations = \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 = \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 = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n Version = \"latest\",\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}\n## Example of storage_profile_image_reference with id\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleImage = new azure.compute.Image(\"exampleImage\", {});\n// ...\nconst exampleScaleSet = new azure.compute.ScaleSet(\"exampleScaleSet\", {storageProfileImageReference: {\n id: exampleImage.id,\n}});\n// ...\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_image = azure.compute.Image(\"exampleImage\")\n# ...\nexample_scale_set = azure.compute.ScaleSet(\"exampleScaleSet\", storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(\n id=example_image.id,\n))\n# ...\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleImage = new Azure.Compute.Image(\"exampleImage\", new Azure.Compute.ImageArgs\n {\n });\n // ...\n var exampleScaleSet = new Azure.Compute.ScaleSet(\"exampleScaleSet\", new Azure.Compute.ScaleSetArgs\n {\n StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs\n {\n Id = exampleImage.Id,\n },\n });\n // ...\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleImage, err := compute.NewImage(ctx, \"exampleImage\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewScaleSet(ctx, \"exampleScaleSet\", \u0026compute.ScaleSetArgs{\n\t\t\tStorageProfileImageReference: \u0026compute.ScaleSetStorageProfileImageReferenceArgs{\n\t\t\t\tId: exampleImage.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", "properties": { "automaticOsUpgrade": { "type": "boolean", "description": "Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when `upgrade_policy_mode` is set to `Rolling`. Defaults to `false`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics", "description": "A boot diagnostics profile 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`.\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 `extension` 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 `upgrade_policy_mode`.\n" }, "identity": { "$ref": "#/types/azure:compute/ScaleSetIdentity:ScaleSetIdentity" }, "licenseType": { "type": "string", "description": "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 network profile block as documented below.\n" }, "osProfile": { "$ref": "#/types/azure:compute/ScaleSetOsProfile:ScaleSetOsProfile", "description": "A Virtual Machine OS Profile block as documented below.\n" }, "osProfileLinuxConfig": { "$ref": "#/types/azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig", "description": "A Linux config block as documented below.\n" }, "osProfileSecrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret" }, "description": "A collection of Secret blocks as documented below.\n" }, "osProfileWindowsConfig": { "$ref": "#/types/azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig", "description": "A Windows config block as documented below.\n" }, "overprovision": { "type": "boolean", "description": "Specifies whether the virtual machine scale set should be overprovisioned. Defaults to `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/ScaleSetPlan:ScaleSetPlan", "description": "A plan block as documented below.\n" }, "priority": { "type": "string", "description": "Specifies the priority for the Virtual Machines in the Scale Set. Defaults to `Regular`. Possible values are `Low` and `Regular`.\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 `rolling_upgrade_policy` block as defined below. This is only applicable when the `upgrade_policy_mode` 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. Default is true. Changing this forces a new resource to be created. See [documentation](http://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups) for more information.\n" }, "sku": { "$ref": "#/types/azure:compute/ScaleSetSku:ScaleSetSku", "description": "A sku block as documented below.\n" }, "storageProfileDataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk" }, "description": "A storage profile data disk block as documented below\n" }, "storageProfileImageReference": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference", "description": "A storage profile image reference block as documented below.\n" }, "storageProfileOsDisk": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk", "description": "A storage profile os disk 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.\n" } }, "required": [ "identity", "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 `upgrade_policy_mode` is set to `Rolling`. Defaults to `false`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics", "description": "A boot diagnostics profile 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`.\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 `extension` 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 `upgrade_policy_mode`.\n" }, "identity": { "$ref": "#/types/azure:compute/ScaleSetIdentity:ScaleSetIdentity" }, "licenseType": { "type": "string", "description": "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 network profile block as documented below.\n" }, "osProfile": { "$ref": "#/types/azure:compute/ScaleSetOsProfile:ScaleSetOsProfile", "description": "A Virtual Machine OS Profile block as documented below.\n" }, "osProfileLinuxConfig": { "$ref": "#/types/azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig", "description": "A Linux config block as documented below.\n" }, "osProfileSecrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret" }, "description": "A collection of Secret blocks as documented below.\n" }, "osProfileWindowsConfig": { "$ref": "#/types/azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig", "description": "A Windows config block as documented below.\n" }, "overprovision": { "type": "boolean", "description": "Specifies whether the virtual machine scale set should be overprovisioned. Defaults to `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/ScaleSetPlan:ScaleSetPlan", "description": "A plan block as documented below.\n" }, "priority": { "type": "string", "description": "Specifies the priority for the Virtual Machines in the Scale Set. Defaults to `Regular`. Possible values are `Low` and `Regular`.\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 `rolling_upgrade_policy` block as defined below. This is only applicable when the `upgrade_policy_mode` 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. Default is true. Changing this forces a new resource to be created. See [documentation](http://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups) for more information.\n" }, "sku": { "$ref": "#/types/azure:compute/ScaleSetSku:ScaleSetSku", "description": "A sku block as documented below.\n" }, "storageProfileDataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk" }, "description": "A storage profile data disk block as documented below\n" }, "storageProfileImageReference": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference", "description": "A storage profile image reference block as documented below.\n" }, "storageProfileOsDisk": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk", "description": "A storage profile os disk 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.\n" } }, "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 `upgrade_policy_mode` is set to `Rolling`. Defaults to `false`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/ScaleSetBootDiagnostics:ScaleSetBootDiagnostics", "description": "A boot diagnostics profile 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`.\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 `extension` 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 `upgrade_policy_mode`.\n" }, "identity": { "$ref": "#/types/azure:compute/ScaleSetIdentity:ScaleSetIdentity" }, "licenseType": { "type": "string", "description": "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 network profile block as documented below.\n" }, "osProfile": { "$ref": "#/types/azure:compute/ScaleSetOsProfile:ScaleSetOsProfile", "description": "A Virtual Machine OS Profile block as documented below.\n" }, "osProfileLinuxConfig": { "$ref": "#/types/azure:compute/ScaleSetOsProfileLinuxConfig:ScaleSetOsProfileLinuxConfig", "description": "A Linux config block as documented below.\n" }, "osProfileSecrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetOsProfileSecret:ScaleSetOsProfileSecret" }, "description": "A collection of Secret blocks as documented below.\n" }, "osProfileWindowsConfig": { "$ref": "#/types/azure:compute/ScaleSetOsProfileWindowsConfig:ScaleSetOsProfileWindowsConfig", "description": "A Windows config block as documented below.\n" }, "overprovision": { "type": "boolean", "description": "Specifies whether the virtual machine scale set should be overprovisioned. Defaults to `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/ScaleSetPlan:ScaleSetPlan", "description": "A plan block as documented below.\n" }, "priority": { "type": "string", "description": "Specifies the priority for the Virtual Machines in the Scale Set. Defaults to `Regular`. Possible values are `Low` and `Regular`.\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 `rolling_upgrade_policy` block as defined below. This is only applicable when the `upgrade_policy_mode` 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. Default is true. Changing this forces a new resource to be created. See [documentation](http://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups) for more information.\n" }, "sku": { "$ref": "#/types/azure:compute/ScaleSetSku:ScaleSetSku", "description": "A sku block as documented below.\n" }, "storageProfileDataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileDataDisk:ScaleSetStorageProfileDataDisk" }, "description": "A storage profile data disk block as documented below\n" }, "storageProfileImageReference": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileImageReference:ScaleSetStorageProfileImageReference", "description": "A storage profile image reference block as documented below.\n" }, "storageProfileOsDisk": { "$ref": "#/types/azure:compute/ScaleSetStorageProfileOsDisk:ScaleSetStorageProfileOsDisk", "description": "A storage profile os disk 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.\n" } }, "type": "object" } }, "azure:compute/sharedImage:SharedImage": { "description": "Manages a Shared Image within a Shared Image Gallery.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"exampleSharedImageGallery\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n description: \"Shared images and things.\",\n tags: {\n Hello: \"There\",\n World: \"Example\",\n },\n});\nconst exampleSharedImage = new azure.compute.SharedImage(\"exampleSharedImage\", {\n galleryName: exampleSharedImageGallery.name,\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"exampleSharedImageGallery\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n description=\"Shared images and things.\",\n tags={\n \"Hello\": \"There\",\n \"World\": \"Example\",\n })\nexample_shared_image = azure.compute.SharedImage(\"exampleSharedImage\",\n gallery_name=example_shared_image_gallery.name,\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n os_type=\"Linux\",\n identifier=azure.compute.SharedImageIdentifierArgs(\n publisher=\"PublisherName\",\n offer=\"OfferName\",\n sku=\"ExampleSku\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"exampleSharedImageGallery\", new Azure.Compute.SharedImageGalleryArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Description = \"Shared images and things.\",\n Tags = \n {\n { \"Hello\", \"There\" },\n { \"World\", \"Example\" },\n },\n });\n var exampleSharedImage = new Azure.Compute.SharedImage(\"exampleSharedImage\", new Azure.Compute.SharedImageArgs\n {\n GalleryName = exampleSharedImageGallery.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleSharedImageGallery\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleSharedImage\", \u0026compute.SharedImageArgs{\n\t\t\tGalleryName: exampleSharedImageGallery.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", "description": "A description of this Shared Image.\n" }, "eula": { "type": "string", "description": "The End User Licence Agreement for the Shared Image.\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" }, "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 `identifier` 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" }, "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.\n" }, "purchasePlan": { "$ref": "#/types/azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan", "description": "A `purchase_plan` 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, `sysprep` on Windows has not been run). Defaults to `false`. 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.\n" } }, "required": [ "galleryName", "identifier", "location", "name", "osType", "resourceGroupName" ], "inputProperties": { "description": { "type": "string", "description": "A description of this Shared Image.\n" }, "eula": { "type": "string", "description": "The End User Licence Agreement for the Shared Image.\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" }, "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 `identifier` 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" }, "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.\n" }, "purchasePlan": { "$ref": "#/types/azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan", "description": "A `purchase_plan` 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, `sysprep` on Windows has not been run). Defaults to `false`. 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.\n" } }, "requiredInputs": [ "galleryName", "identifier", "osType", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering SharedImage resources.\n", "properties": { "description": { "type": "string", "description": "A description of this Shared Image.\n" }, "eula": { "type": "string", "description": "The End User Licence Agreement for the Shared Image.\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" }, "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 `identifier` 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" }, "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.\n" }, "purchasePlan": { "$ref": "#/types/azure:compute/SharedImagePurchasePlan:SharedImagePurchasePlan", "description": "A `purchase_plan` 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, `sysprep` on Windows has not been run). Defaults to `false`. 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.\n" } }, "type": "object" } }, "azure:compute/sharedImageGallery:SharedImageGallery": { "description": "Manages a Shared Image Gallery.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleSharedImageGallery = new azure.compute.SharedImageGallery(\"exampleSharedImageGallery\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_shared_image_gallery = azure.compute.SharedImageGallery(\"exampleSharedImageGallery\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n description=\"Shared images and things.\",\n tags={\n \"Hello\": \"There\",\n \"World\": \"Example\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery(\"exampleSharedImageGallery\", new Azure.Compute.SharedImageGalleryArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Description = \"Shared images and things.\",\n Tags = \n {\n { \"Hello\", \"There\" },\n { \"World\", \"Example\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleSharedImageGallery\", \u0026compute.SharedImageGalleryArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" }, "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" }, "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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst existingImage = azure.compute.getImage({\n name: \"search-api\",\n resourceGroupName: \"packerimages\",\n});\nconst existingSharedImage = azure.compute.getSharedImage({\n name: \"existing-image\",\n galleryName: \"existing_gallery\",\n resourceGroupName: \"existing-resources\",\n});\nconst example = new azure.compute.SharedImageVersion(\"example\", {\n galleryName: existingSharedImage.then(existingSharedImage =\u003e existingSharedImage.galleryName),\n imageName: existingSharedImage.then(existingSharedImage =\u003e existingSharedImage.name),\n resourceGroupName: existingSharedImage.then(existingSharedImage =\u003e existingSharedImage.resourceGroupName),\n location: existingSharedImage.then(existingSharedImage =\u003e existingSharedImage.location),\n managedImageId: existingImage.then(existingImage =\u003e existingImage.id),\n targetRegions: [{\n name: existingSharedImage.then(existingSharedImage =\u003e existingSharedImage.location),\n regionalReplicaCount: 5,\n storageAccountType: \"Standard_LRS\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexisting_image = azure.compute.get_image(name=\"search-api\",\n resource_group_name=\"packerimages\")\nexisting_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 gallery_name=existing_shared_image.gallery_name,\n image_name=existing_shared_image.name,\n resource_group_name=existing_shared_image.resource_group_name,\n location=existing_shared_image.location,\n managed_image_id=existing_image.id,\n target_regions=[azure.compute.SharedImageVersionTargetRegionArgs(\n name=existing_shared_image.location,\n regional_replica_count=5,\n storage_account_type=\"Standard_LRS\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var existingImage = Output.Create(Azure.Compute.GetImage.InvokeAsync(new Azure.Compute.GetImageArgs\n {\n Name = \"search-api\",\n ResourceGroupName = \"packerimages\",\n }));\n var existingSharedImage = Output.Create(Azure.Compute.GetSharedImage.InvokeAsync(new Azure.Compute.GetSharedImageArgs\n {\n Name = \"existing-image\",\n GalleryName = \"existing_gallery\",\n ResourceGroupName = \"existing-resources\",\n }));\n var example = new Azure.Compute.SharedImageVersion(\"example\", new Azure.Compute.SharedImageVersionArgs\n {\n GalleryName = existingSharedImage.Apply(existingSharedImage =\u003e existingSharedImage.GalleryName),\n ImageName = existingSharedImage.Apply(existingSharedImage =\u003e existingSharedImage.Name),\n ResourceGroupName = existingSharedImage.Apply(existingSharedImage =\u003e existingSharedImage.ResourceGroupName),\n Location = existingSharedImage.Apply(existingSharedImage =\u003e existingSharedImage.Location),\n ManagedImageId = existingImage.Apply(existingImage =\u003e existingImage.Id),\n TargetRegions = \n {\n new Azure.Compute.Inputs.SharedImageVersionTargetRegionArgs\n {\n Name = existingSharedImage.Apply(existingSharedImage =\u003e existingSharedImage.Location),\n RegionalReplicaCount = 5,\n StorageAccountType = \"Standard_LRS\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"search-api\"\n\t\texistingImage, err := compute.LookupImage(ctx, \u0026compute.LookupImageArgs{\n\t\t\tName: \u0026opt0,\n\t\t\tResourceGroupName: \"packerimages\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texistingSharedImage, 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\tGalleryName: pulumi.String(existingSharedImage.GalleryName),\n\t\t\tImageName: pulumi.String(existingSharedImage.Name),\n\t\t\tResourceGroupName: pulumi.String(existingSharedImage.ResourceGroupName),\n\t\t\tLocation: pulumi.String(existingSharedImage.Location),\n\t\t\tManagedImageId: pulumi.String(existingImage.Id),\n\t\t\tTargetRegions: compute.SharedImageVersionTargetRegionArray{\n\t\t\t\t\u0026compute.SharedImageVersionTargetRegionArgs{\n\t\t\t\t\tName: pulumi.String(existingSharedImage.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{{% /example %}}\n{{% /examples %}}", "properties": { "excludeFromLatest": { "type": "boolean", "description": "Should this Image Version be excluded from the `latest` filter? If set to `true` this Image Version won't be returned for the `latest` version. Defaults to `false`.\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" }, "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" }, "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" }, "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 `target_region` blocks as documented below.\n" } }, "required": [ "galleryName", "imageName", "location", "name", "resourceGroupName", "targetRegions" ], "inputProperties": { "excludeFromLatest": { "type": "boolean", "description": "Should this Image Version be excluded from the `latest` filter? If set to `true` this Image Version won't be returned for the `latest` version. Defaults to `false`.\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" }, "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" }, "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" }, "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 `target_region` blocks as documented below.\n" } }, "requiredInputs": [ "galleryName", "imageName", "resourceGroupName", "targetRegions" ], "stateInputs": { "description": "Input properties used for looking up and filtering SharedImageVersion resources.\n", "properties": { "excludeFromLatest": { "type": "boolean", "description": "Should this Image Version be excluded from the `latest` filter? If set to `true` this Image Version won't be returned for the `latest` version. Defaults to `false`.\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" }, "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" }, "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" }, "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 `target_region` blocks as documented below.\n" } }, "type": "object" } }, "azure:compute/snapshot:Snapshot": { "description": "Manages a Disk Snapshot.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleManagedDisk = new azure.compute.ManagedDisk(\"exampleManagedDisk\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n storageAccountType: \"Standard_LRS\",\n createOption: \"Empty\",\n diskSizeGb: \"10\",\n});\nconst exampleSnapshot = new azure.compute.Snapshot(\"exampleSnapshot\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n createOption: \"Copy\",\n sourceUri: exampleManagedDisk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_managed_disk = azure.compute.ManagedDisk(\"exampleManagedDisk\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n storage_account_type=\"Standard_LRS\",\n create_option=\"Empty\",\n disk_size_gb=10)\nexample_snapshot = azure.compute.Snapshot(\"exampleSnapshot\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n create_option=\"Copy\",\n source_uri=example_managed_disk.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleManagedDisk = new Azure.Compute.ManagedDisk(\"exampleManagedDisk\", new Azure.Compute.ManagedDiskArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n StorageAccountType = \"Standard_LRS\",\n CreateOption = \"Empty\",\n DiskSizeGb = 10,\n });\n var exampleSnapshot = new Azure.Compute.Snapshot(\"exampleSnapshot\", new Azure.Compute.SnapshotArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n CreateOption = \"Copy\",\n SourceUri = exampleManagedDisk.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleManagedDisk\", \u0026compute.ManagedDiskArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSnapshot\", \u0026compute.SnapshotArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "createOption": { "type": "string", "description": "Indicates how the snapshot is to be created. Possible values are `Copy` or `Import`. Changing this forces a new resource to be created.\n" }, "diskSizeGb": { "type": "integer", "description": "The size of the Snapshotted Disk in GB.\n" }, "encryptionSettings": { "$ref": "#/types/azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings" }, "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" }, "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 `create_option` 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 `source_uri` 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" } }, "required": [ "createOption", "diskSizeGb", "location", "name", "resourceGroupName" ], "inputProperties": { "createOption": { "type": "string", "description": "Indicates how the snapshot is to be created. Possible values are `Copy` or `Import`. Changing this forces a new resource to be created.\n" }, "diskSizeGb": { "type": "integer", "description": "The size of the Snapshotted Disk in GB.\n" }, "encryptionSettings": { "$ref": "#/types/azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings" }, "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" }, "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 `create_option` 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 `source_uri` 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" } }, "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`. Changing this forces a new resource to be created.\n" }, "diskSizeGb": { "type": "integer", "description": "The size of the Snapshotted Disk in GB.\n" }, "encryptionSettings": { "$ref": "#/types/azure:compute/SnapshotEncryptionSettings:SnapshotEncryptionSettings" }, "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" }, "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 `create_option` 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 `source_uri` 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" } }, "type": "object" } }, "azure:compute/virtualMachine:VirtualMachine": { "description": "Manages a Virtual Machine.\n\n## Disclaimers\n\n\u003e **Note:** The `azure.compute.VirtualMachine` resource has been superseded by the `azure.compute.LinuxVirtualMachine` and `azure.compute.WindowsVirtualMachine` resources. The existing `azure.compute.VirtualMachine` 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 `azure.compute.LinuxVirtualMachine` and `azure.compute.WindowsVirtualMachine` resources.\n\n\u003e **Note:** Data Disks can be attached either directly on the `azure.compute.VirtualMachine` resource, or using the `azure.compute.DataDiskAttachment` resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### From An Azure Platform Image)\n\nThis example provisions a Virtual Machine with Managed Disks.\n\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 mainResourceGroup = new azure.core.ResourceGroup(\"mainResourceGroup\", {location: \"West US 2\"});\nconst mainVirtualNetwork = new azure.network.VirtualNetwork(\"mainVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: mainResourceGroup.name,\n virtualNetworkName: mainVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst mainNetworkInterface = new azure.network.NetworkInterface(\"mainNetworkInterface\", {\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: internal.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst mainVirtualMachine = new azure.compute.VirtualMachine(\"mainVirtualMachine\", {\n location: mainResourceGroup.location,\n resourceGroupName: mainResourceGroup.name,\n networkInterfaceIds: [mainNetworkInterface.id],\n vmSize: \"Standard_DS1_v2\",\n storageImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.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\"\nmain_resource_group = azure.core.ResourceGroup(\"mainResourceGroup\", location=\"West US 2\")\nmain_virtual_network = azure.network.VirtualNetwork(\"mainVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name)\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=main_resource_group.name,\n virtual_network_name=main_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nmain_network_interface = azure.network.NetworkInterface(\"mainNetworkInterface\",\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"testconfiguration1\",\n subnet_id=internal.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nmain_virtual_machine = azure.compute.VirtualMachine(\"mainVirtualMachine\",\n location=main_resource_group.location,\n resource_group_name=main_resource_group.name,\n network_interface_ids=[main_network_interface.id],\n vm_size=\"Standard_DS1_v2\",\n storage_image_reference=azure.compute.VirtualMachineStorageImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ),\n storage_os_disk=azure.compute.VirtualMachineStorageOsDiskArgs(\n name=\"myosdisk1\",\n caching=\"ReadWrite\",\n create_option=\"FromImage\",\n managed_disk_type=\"Standard_LRS\",\n ),\n os_profile=azure.compute.VirtualMachineOsProfileArgs(\n computer_name=\"hostname\",\n admin_username=\"testadmin\",\n admin_password=\"Password1234!\",\n ),\n os_profile_linux_config=azure.compute.VirtualMachineOsProfileLinuxConfigArgs(\n disable_password_authentication=False,\n ),\n tags={\n \"environment\": \"staging\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var prefix = config.Get(\"prefix\") ?? \"tfvmex\";\n var mainResourceGroup = new Azure.Core.ResourceGroup(\"mainResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var mainVirtualNetwork = new Azure.Network.VirtualNetwork(\"mainVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n VirtualNetworkName = mainVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var mainNetworkInterface = new Azure.Network.NetworkInterface(\"mainNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = @internal.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var mainVirtualMachine = new Azure.Compute.VirtualMachine(\"mainVirtualMachine\", new Azure.Compute.VirtualMachineArgs\n {\n Location = mainResourceGroup.Location,\n ResourceGroupName = mainResourceGroup.Name,\n NetworkInterfaceIds = \n {\n mainNetworkInterface.Id,\n },\n VmSize = \"Standard_DS1_v2\",\n StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"UbuntuServer\",\n Sku = \"16.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainResourceGroup, err := core.NewResourceGroup(ctx, \"mainResourceGroup\", \u0026core.ResourceGroupArgs{\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\tmainVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"mainVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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\tResourceGroupName: mainResourceGroup.Name,\n\t\t\tVirtualNetworkName: mainVirtualNetwork.Name,\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\tmainNetworkInterface, err := network.NewNetworkInterface(ctx, \"mainNetworkInterface\", \u0026network.NetworkInterfaceArgs{\n\t\t\tLocation: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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, \"mainVirtualMachine\", \u0026compute.VirtualMachineArgs{\n\t\t\tLocation: mainResourceGroup.Location,\n\t\t\tResourceGroupName: mainResourceGroup.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(\"UbuntuServer\"),\n\t\t\t\tSku: pulumi.String(\"16.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{{% /example %}}\n{{% /examples %}}", "properties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities", "description": "A `additional_capabilities` block.\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 `boot_diagnostics` block.\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 `false`.\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 `false`.\n" }, "identity": { "$ref": "#/types/azure:compute/VirtualMachineIdentity:VirtualMachineIdentity", "description": "A `identity` block.\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 ID's which should be associated with the Virtual Machine.\n" }, "osProfile": { "$ref": "#/types/azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile", "description": "An `os_profile` block. Required when `create_option` in the `storage_os_disk` block is set to `FromImage`.\n" }, "osProfileLinuxConfig": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig", "description": "A `os_profile_linux_config` block.\n" }, "osProfileSecrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret" }, "description": "One or more `os_profile_secrets` blocks.\n" }, "osProfileWindowsConfig": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig", "description": "A `os_profile_windows_config` block.\n" }, "plan": { "$ref": "#/types/azure:compute/VirtualMachinePlan:VirtualMachinePlan", "description": "A `plan` block.\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 `storage_data_disk` blocks.\n" }, "storageImageReference": { "$ref": "#/types/azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference", "description": "A `storage_image_reference` block.\n" }, "storageOsDisk": { "$ref": "#/types/azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk", "description": "A `storage_os_disk` block.\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://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/).\n" }, "zones": { "type": "string", "description": "A list of a single item of the Availability Zone which the Virtual Machine should be allocated in.\n" } }, "required": [ "availabilitySetId", "identity", "licenseType", "location", "name", "networkInterfaceIds", "resourceGroupName", "storageDataDisks", "storageImageReference", "storageOsDisk", "vmSize" ], "inputProperties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/VirtualMachineAdditionalCapabilities:VirtualMachineAdditionalCapabilities", "description": "A `additional_capabilities` block.\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 `boot_diagnostics` block.\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 `false`.\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 `false`.\n" }, "identity": { "$ref": "#/types/azure:compute/VirtualMachineIdentity:VirtualMachineIdentity", "description": "A `identity` block.\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 ID's which should be associated with the Virtual Machine.\n" }, "osProfile": { "$ref": "#/types/azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile", "description": "An `os_profile` block. Required when `create_option` in the `storage_os_disk` block is set to `FromImage`.\n" }, "osProfileLinuxConfig": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig", "description": "A `os_profile_linux_config` block.\n" }, "osProfileSecrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret" }, "description": "One or more `os_profile_secrets` blocks.\n" }, "osProfileWindowsConfig": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig", "description": "A `os_profile_windows_config` block.\n" }, "plan": { "$ref": "#/types/azure:compute/VirtualMachinePlan:VirtualMachinePlan", "description": "A `plan` block.\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 `storage_data_disk` blocks.\n" }, "storageImageReference": { "$ref": "#/types/azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference", "description": "A `storage_image_reference` block.\n" }, "storageOsDisk": { "$ref": "#/types/azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk", "description": "A `storage_os_disk` block.\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://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/).\n" }, "zones": { "type": "string", "description": "A list of a single item of the Availability Zone which the Virtual Machine should be allocated in.\n" } }, "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": "A `additional_capabilities` block.\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 `boot_diagnostics` block.\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 `false`.\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 `false`.\n" }, "identity": { "$ref": "#/types/azure:compute/VirtualMachineIdentity:VirtualMachineIdentity", "description": "A `identity` block.\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 ID's which should be associated with the Virtual Machine.\n" }, "osProfile": { "$ref": "#/types/azure:compute/VirtualMachineOsProfile:VirtualMachineOsProfile", "description": "An `os_profile` block. Required when `create_option` in the `storage_os_disk` block is set to `FromImage`.\n" }, "osProfileLinuxConfig": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileLinuxConfig:VirtualMachineOsProfileLinuxConfig", "description": "A `os_profile_linux_config` block.\n" }, "osProfileSecrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileSecret:VirtualMachineOsProfileSecret" }, "description": "One or more `os_profile_secrets` blocks.\n" }, "osProfileWindowsConfig": { "$ref": "#/types/azure:compute/VirtualMachineOsProfileWindowsConfig:VirtualMachineOsProfileWindowsConfig", "description": "A `os_profile_windows_config` block.\n" }, "plan": { "$ref": "#/types/azure:compute/VirtualMachinePlan:VirtualMachinePlan", "description": "A `plan` block.\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 `storage_data_disk` blocks.\n" }, "storageImageReference": { "$ref": "#/types/azure:compute/VirtualMachineStorageImageReference:VirtualMachineStorageImageReference", "description": "A `storage_image_reference` block.\n" }, "storageOsDisk": { "$ref": "#/types/azure:compute/VirtualMachineStorageOsDisk:VirtualMachineStorageOsDisk", "description": "A `storage_os_disk` block.\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://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/).\n" }, "zones": { "type": "string", "description": "A list of a single item of the Availability Zone which the Virtual Machine should be allocated in.\n" } }, "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 `azure.compute.ScaleSet` resource - instead it's intended for this to be used with the `azure.compute.LinuxVirtualMachineScaleSet` and `azure.compute.WindowsVirtualMachineScaleSet` resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", {});\n//...\nconst exampleVirtualMachineScaleSetExtension = new azure.compute.VirtualMachineScaleSetExtension(\"exampleVirtualMachineScaleSetExtension\", {\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_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\")\n#...\nexample_virtual_machine_scale_set_extension = azure.compute.VirtualMachineScaleSetExtension(\"exampleVirtualMachineScaleSetExtension\",\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.Text.Json;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet(\"exampleLinuxVirtualMachineScaleSet\", new Azure.Compute.LinuxVirtualMachineScaleSetArgs\n {\n });\n //...\n var exampleVirtualMachineScaleSetExtension = new Azure.Compute.VirtualMachineScaleSetExtension(\"exampleVirtualMachineScaleSetExtension\", new Azure.Compute.VirtualMachineScaleSetExtensionArgs\n {\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```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLinuxVirtualMachineScaleSet, err := compute.NewLinuxVirtualMachineScaleSet(ctx, \"exampleLinuxVirtualMachineScaleSet\", 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\"commandToExecute\": fmt.Sprintf(\"%v%v%v\", \"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, \"exampleVirtualMachineScaleSetExtension\", \u0026compute.VirtualMachineScaleSetExtensionArgs{\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{{% /example %}}\n{{% /examples %}}", "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 `true`.\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" }, "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" }, "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" }, "virtualMachineScaleSetId": { "type": "string", "description": "The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\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 `true`.\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" }, "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" }, "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" }, "virtualMachineScaleSetId": { "type": "string", "description": "The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n" } }, "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 `true`.\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" }, "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" }, "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" }, "virtualMachineScaleSetId": { "type": "string", "description": "The ID of the Virtual Machine Scale Set. Changing this forces a new resource to be created.\n" } }, "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 `features` configuration within the Provider configuration 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 `azure.compute.VirtualMachine` 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 `azure.compute.VirtualMachine` resource instead.\n\n\u003e In this release there's a known issue where the `public_ip_address` and `public_ip_addresses` fields may not be fully populated for Dynamic Public IP's.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a basic Windows Virtual Machine on an internal network.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"internal\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleWindowsVirtualMachine = new azure.compute.WindowsVirtualMachine(\"exampleWindowsVirtualMachine\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_windows_virtual_machine = azure.compute.WindowsVirtualMachine(\"exampleWindowsVirtualMachine\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.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=azure.compute.WindowsVirtualMachineOsDiskArgs(\n caching=\"ReadWrite\",\n storage_account_type=\"Standard_LRS\",\n ),\n source_image_reference=azure.compute.WindowsVirtualMachineSourceImageReferenceArgs(\n publisher=\"MicrosoftWindowsServer\",\n offer=\"WindowsServer\",\n sku=\"2016-Datacenter\",\n version=\"latest\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"internal\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleWindowsVirtualMachine = new Azure.Compute.WindowsVirtualMachine(\"exampleWindowsVirtualMachine\", new Azure.Compute.WindowsVirtualMachineArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Size = \"Standard_F2\",\n AdminUsername = \"adminuser\",\n AdminPassword = \"P@$$w0rd1234!\",\n NetworkInterfaceIds = \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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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\t_, err = compute.NewWindowsVirtualMachine(ctx, \"exampleWindowsVirtualMachine\", \u0026compute.WindowsVirtualMachineArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSize: pulumi.String(\"Standard_F2\"),\n\t\t\tAdminUsername: pulumi.String(\"adminuser\"),\n\t\t\tAdminPassword: pulumi.String(fmt.Sprintf(\"%v%v%v%v\", \"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{{% /example %}}\n{{% /examples %}}", "properties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities", "description": "A `additional_capabilities` block as defined below.\n" }, "additionalUnattendContents": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent" }, "description": "One or more `additional_unattend_content` 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" }, "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" }, "allowExtensionOperations": { "type": "boolean", "description": "Should Extension Operations be allowed on this Virtual Machine?\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 `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name`, then you must specify `computer_name`. 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" }, "dedicatedHostId": { "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.\n" }, "enableAutomaticUpdates": { "type": "boolean", "description": "Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource 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. At this time the only supported value is `Deallocate`. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity", "description": "An `identity` 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/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing)) 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 `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\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 ID's 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": "A `os_disk` block as defined below.\n" }, "plan": { "$ref": "#/types/azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan", "description": "A `plan` block as defined below. Changing this forces a new resource 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 `true`. Changing this forces a new resource to be created.\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" }, "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" }, "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 `secret` blocks as defined below.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference", "description": "A `source_image_reference` 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 this Virtual Machine.\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/).\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. Changing this forces a new resource to be created.\n" }, "winrmListeners": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener" }, "description": "One or more `winrm_listener` blocks as defined below.\n" }, "zone": { "type": "string", "description": "The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.\n" } }, "required": [ "adminPassword", "adminUsername", "computerName", "location", "name", "networkInterfaceIds", "osDisk", "privateIpAddress", "privateIpAddresses", "publicIpAddress", "publicIpAddresses", "resourceGroupName", "size", "virtualMachineId", "zone" ], "inputProperties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/WindowsVirtualMachineAdditionalCapabilities:WindowsVirtualMachineAdditionalCapabilities", "description": "A `additional_capabilities` block as defined below.\n" }, "additionalUnattendContents": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent" }, "description": "One or more `additional_unattend_content` 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" }, "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" }, "allowExtensionOperations": { "type": "boolean", "description": "Should Extension Operations be allowed on this Virtual Machine?\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 `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name`, then you must specify `computer_name`. 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" }, "dedicatedHostId": { "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.\n" }, "enableAutomaticUpdates": { "type": "boolean", "description": "Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource 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. At this time the only supported value is `Deallocate`. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity", "description": "An `identity` 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/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing)) 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 `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\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 ID's 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": "A `os_disk` block as defined below.\n" }, "plan": { "$ref": "#/types/azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan", "description": "A `plan` block as defined below. Changing this forces a new resource 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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to `true`. Changing this forces a new resource to be created.\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 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 `secret` blocks as defined below.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference", "description": "A `source_image_reference` 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 this Virtual Machine.\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/).\n" }, "virtualMachineScaleSetId": { "type": "string", "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n" }, "winrmListeners": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener" }, "description": "One or more `winrm_listener` blocks as defined below.\n" }, "zone": { "type": "string", "description": "The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "adminPassword", "adminUsername", "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 `additional_capabilities` block as defined below.\n" }, "additionalUnattendContents": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineAdditionalUnattendContent:WindowsVirtualMachineAdditionalUnattendContent" }, "description": "One or more `additional_unattend_content` 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" }, "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" }, "allowExtensionOperations": { "type": "boolean", "description": "Should Extension Operations be allowed on this Virtual Machine?\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 `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name`, then you must specify `computer_name`. 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" }, "dedicatedHostId": { "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Changing this forces a new resource to be created.\n" }, "enableAutomaticUpdates": { "type": "boolean", "description": "Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource 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. At this time the only supported value is `Deallocate`. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:compute/WindowsVirtualMachineIdentity:WindowsVirtualMachineIdentity", "description": "An `identity` 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/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing)) 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 `eviction_policy`. Defaults to `-1`, which means that the Virtual Machine should not be evicted for price reasons.\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 ID's 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": "A `os_disk` block as defined below.\n" }, "plan": { "$ref": "#/types/azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan", "description": "A `plan` block as defined below. Changing this forces a new resource 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 `true`. Changing this forces a new resource to be created.\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" }, "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" }, "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 `secret` blocks as defined below.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/WindowsVirtualMachineSourceImageReference:WindowsVirtualMachineSourceImageReference", "description": "A `source_image_reference` 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 this Virtual Machine.\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/).\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. Changing this forces a new resource to be created.\n" }, "winrmListeners": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineWinrmListener:WindowsVirtualMachineWinrmListener" }, "description": "One or more `winrm_listener` blocks as defined below.\n" }, "zone": { "type": "string", "description": "The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:compute/windowsVirtualMachineScaleSet:WindowsVirtualMachineScaleSet": { "description": "Manages a Windows Virtual Machine Scale Set.\n\n## Disclaimers\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 `features` configuration within the Provider configuration 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 `azure.compute.ScaleSet` resource instead\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a basic Windows Virtual Machine Scale Set on an internal network.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleWindowsVirtualMachineScaleSet = new azure.compute.WindowsVirtualMachineScaleSet(\"exampleWindowsVirtualMachineScaleSet\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: \"Standard_F2\",\n instances: 1,\n adminPassword: \"P@55w0rd1234!\",\n adminUsername: \"adminuser\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n address_spaces=[\"10.0.0.0/16\"])\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_windows_virtual_machine_scale_set = azure.compute.WindowsVirtualMachineScaleSet(\"exampleWindowsVirtualMachineScaleSet\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=\"Standard_F2\",\n instances=1,\n admin_password=\"P@55w0rd1234!\",\n admin_username=\"adminuser\",\n source_image_reference=azure.compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs(\n publisher=\"MicrosoftWindowsServer\",\n offer=\"WindowsServer\",\n sku=\"2016-Datacenter-Server-Core\",\n version=\"latest\",\n ),\n os_disk=azure.compute.WindowsVirtualMachineScaleSetOsDiskArgs(\n storage_account_type=\"Standard_LRS\",\n caching=\"ReadWrite\",\n ),\n network_interfaces=[azure.compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleWindowsVirtualMachineScaleSet = new Azure.Compute.WindowsVirtualMachineScaleSet(\"exampleWindowsVirtualMachineScaleSet\", new Azure.Compute.WindowsVirtualMachineScaleSetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = \"Standard_F2\",\n Instances = 1,\n AdminPassword = \"P@55w0rd1234!\",\n AdminUsername = \"adminuser\",\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 = \n {\n new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs\n {\n Name = \"example\",\n Primary = true,\n IpConfigurations = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\t_, err = compute.NewWindowsVirtualMachineScaleSet(ctx, \"exampleWindowsVirtualMachineScaleSet\", \u0026compute.WindowsVirtualMachineScaleSetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\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{{% /example %}}\n{{% /examples %}}", "properties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalCapabilities:WindowsVirtualMachineScaleSetAdditionalCapabilities", "description": "A `additional_capabilities` block as defined below.\n" }, "additionalUnattendContents": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent" }, "description": "One or more `additional_unattend_content` blocks 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" }, "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": "A `automatic_instance_repair` block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid `health_probe_id` or an [Application Health Extension](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n" }, "automaticOsUpgradePolicy": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy", "description": "A `automatic_os_upgrade_policy` block as defined below. This can only be specified when `upgrade_mode` is set to `Automatic`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics", "description": "A `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`.\n" }, "customData": { "type": "string", "description": "The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n" }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk" }, "description": "One or more `data_disk` 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 `false`.\n" }, "enableAutomaticUpdates": { "type": "boolean", "description": "Are automatic updates enabled for this Virtual Machine? Defaults to `true`.\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": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.\n" }, "extensions": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension" }, "description": "One or more `extension` 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. Changing this forces a new resource to be created. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "identity": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity", "description": "A `identity` block as defined below.\n" }, "instances": { "type": "integer", "description": "The number of Virtual Machines in the Scale Set.\n" }, "licenseType": { "type": "string", "description": "Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing)) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`. Changing this forces a new resource to be created.\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 `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 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 `network_interface` blocks as defined below.\n" }, "osDisk": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk", "description": "An `os_disk` 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 `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan" }, "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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. 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" }, "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 `rolling_upgrade_policy` block as defined below. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "scaleInPolicy": { "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/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n" }, "secrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret" }, "description": "One or more `secret` blocks as defined below.\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 `true`.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference", "description": "A `source_image_reference` 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" }, "terminateNotification": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetTerminateNotification:WindowsVirtualMachineScaleSetTerminateNotification", "description": "A `terminate_notification` 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`.\n" }, "winrmListeners": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener" }, "description": "One or more `winrm_listener` blocks as defined below.\n" }, "zoneBalance": { "type": "boolean", "description": "Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "required": [ "adminPassword", "adminUsername", "automaticInstanceRepair", "computerNamePrefix", "extensions", "instances", "location", "name", "networkInterfaces", "osDisk", "resourceGroupName", "sku", "terminateNotification", "uniqueId" ], "inputProperties": { "additionalCapabilities": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalCapabilities:WindowsVirtualMachineScaleSetAdditionalCapabilities", "description": "A `additional_capabilities` block as defined below.\n" }, "additionalUnattendContents": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent" }, "description": "One or more `additional_unattend_content` blocks 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" }, "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": "A `automatic_instance_repair` block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid `health_probe_id` or an [Application Health Extension](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n" }, "automaticOsUpgradePolicy": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy", "description": "A `automatic_os_upgrade_policy` block as defined below. This can only be specified when `upgrade_mode` is set to `Automatic`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics", "description": "A `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`.\n" }, "customData": { "type": "string", "description": "The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n" }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk" }, "description": "One or more `data_disk` 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 `false`.\n" }, "enableAutomaticUpdates": { "type": "boolean", "description": "Are automatic updates enabled for this Virtual Machine? Defaults to `true`.\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": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.\n" }, "extensions": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension" }, "description": "One or more `extension` 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. Changing this forces a new resource to be created. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "identity": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity", "description": "A `identity` block as defined below.\n" }, "instances": { "type": "integer", "description": "The number of Virtual Machines in the Scale Set.\n" }, "licenseType": { "type": "string", "description": "Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing)) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`. Changing this forces a new resource to be created.\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 `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 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 `network_interface` blocks as defined below.\n" }, "osDisk": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk", "description": "An `os_disk` 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 `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan" }, "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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. 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" }, "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 `rolling_upgrade_policy` block as defined below. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "scaleInPolicy": { "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/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n" }, "secrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret" }, "description": "One or more `secret` blocks as defined below.\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 `true`.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference", "description": "A `source_image_reference` 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" }, "terminateNotification": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetTerminateNotification:WindowsVirtualMachineScaleSetTerminateNotification", "description": "A `terminate_notification` 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`.\n" }, "winrmListeners": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener" }, "description": "One or more `winrm_listener` blocks as defined below.\n" }, "zoneBalance": { "type": "boolean", "description": "Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource 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": "A `additional_capabilities` block as defined below.\n" }, "additionalUnattendContents": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAdditionalUnattendContent:WindowsVirtualMachineScaleSetAdditionalUnattendContent" }, "description": "One or more `additional_unattend_content` blocks 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" }, "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": "A `automatic_instance_repair` block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid `health_probe_id` or an [Application Health Extension](https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension).\n" }, "automaticOsUpgradePolicy": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy:WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy", "description": "A `automatic_os_upgrade_policy` block as defined below. This can only be specified when `upgrade_mode` is set to `Automatic`.\n" }, "bootDiagnostics": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetBootDiagnostics:WindowsVirtualMachineScaleSetBootDiagnostics", "description": "A `boot_diagnostics` block as defined below.\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 `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`.\n" }, "customData": { "type": "string", "description": "The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.\n" }, "dataDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetDataDisk:WindowsVirtualMachineScaleSetDataDisk" }, "description": "One or more `data_disk` 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 `false`.\n" }, "enableAutomaticUpdates": { "type": "boolean", "description": "Are automatic updates enabled for this Virtual Machine? Defaults to `true`.\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": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.\n" }, "extensions": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetExtension:WindowsVirtualMachineScaleSetExtension" }, "description": "One or more `extension` 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. Changing this forces a new resource to be created. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "identity": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetIdentity:WindowsVirtualMachineScaleSetIdentity", "description": "A `identity` block as defined below.\n" }, "instances": { "type": "integer", "description": "The number of Virtual Machines in the Scale Set.\n" }, "licenseType": { "type": "string", "description": "Specifies the type of on-premise license (also known as [Azure Hybrid Use Benefit](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing)) which should be used for this Virtual Machine Scale Set. Possible values are `None`, `Windows_Client` and `Windows_Server`. Changing this forces a new resource to be created.\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 `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 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 `network_interface` blocks as defined below.\n" }, "osDisk": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetOsDisk:WindowsVirtualMachineScaleSetOsDisk", "description": "An `os_disk` 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 `true`.\n" }, "plan": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetPlan:WindowsVirtualMachineScaleSetPlan" }, "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" }, "provisionVmAgent": { "type": "boolean", "description": "Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. 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" }, "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 `rolling_upgrade_policy` block as defined below. This is Required and can only be specified when `upgrade_mode` is set to `Automatic` or `Rolling`.\n" }, "scaleInPolicy": { "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/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-scale-in-policy).\n" }, "secrets": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSecret:WindowsVirtualMachineScaleSetSecret" }, "description": "One or more `secret` blocks as defined below.\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 `true`.\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.\n" }, "sourceImageReference": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetSourceImageReference:WindowsVirtualMachineScaleSetSourceImageReference", "description": "A `source_image_reference` 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" }, "terminateNotification": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetTerminateNotification:WindowsVirtualMachineScaleSetTerminateNotification", "description": "A `terminate_notification` 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`.\n" }, "winrmListeners": { "type": "array", "items": { "$ref": "#/types/azure:compute/WindowsVirtualMachineScaleSetWinrmListener:WindowsVirtualMachineScaleSetWinrmListener" }, "description": "One or more `winrm_listener` blocks as defined below.\n" }, "zoneBalance": { "type": "boolean", "description": "Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:containerservice/group:Group": { "description": "Manages as an Azure Container Group instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a Basic Container.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleGroup = new azure.containerservice.Group(\"exampleGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipAddressType: \"public\",\n dnsNameLabel: \"aci-label\",\n osType: \"Linux\",\n containers: [\n {\n name: \"hello-world\",\n image: \"microsoft/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: \"microsoft/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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_group = azure.containerservice.Group(\"exampleGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_address_type=\"public\",\n dns_name_label=\"aci-label\",\n os_type=\"Linux\",\n containers=[\n azure.containerservice.GroupContainerArgs(\n name=\"hello-world\",\n image=\"microsoft/aci-helloworld:latest\",\n cpu=0.5,\n memory=1.5,\n ports=[azure.containerservice.GroupContainerPortArgs(\n port=443,\n protocol=\"TCP\",\n )],\n ),\n azure.containerservice.GroupContainerArgs(\n name=\"sidecar\",\n image=\"microsoft/aci-tutorial-sidecar\",\n cpu=0.5,\n memory=1.5,\n ),\n ],\n tags={\n \"environment\": \"testing\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleGroup = new Azure.ContainerService.Group(\"exampleGroup\", new Azure.ContainerService.GroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpAddressType = \"public\",\n DnsNameLabel = \"aci-label\",\n OsType = \"Linux\",\n Containers = \n {\n new Azure.ContainerService.Inputs.GroupContainerArgs\n {\n Name = \"hello-world\",\n Image = \"microsoft/aci-helloworld:latest\",\n Cpu = 0.5,\n Memory = 1.5,\n Ports = \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 = \"microsoft/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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleGroup\", \u0026containerservice.GroupArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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(\"microsoft/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(\"microsoft/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{{% /example %}}\n{{% /examples %}}", "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 `container` block below. Changing this forces a new resource to be created.\n" }, "diagnostics": { "$ref": "#/types/azure:containerservice/GroupDiagnostics:GroupDiagnostics", "description": "A `diagnostics` block as documented below.\n" }, "dnsConfig": { "$ref": "#/types/azure:containerservice/GroupDnsConfig:GroupDnsConfig", "description": "A `dns_config` block as documented below.\n" }, "dnsNameLabel": { "type": "string", "description": "The DNS label/name for the container groups IP. Changing this forces a new resource to be created.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the container group derived from `dns_name_label`.\n" }, "identity": { "$ref": "#/types/azure:containerservice/GroupIdentity:GroupIdentity", "description": "An `identity` block as defined below.\n" }, "imageRegistryCredentials": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential" }, "description": "A `image_registry_credential` block as documented 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` or `Private`. Changing this forces a new resource to be created. If set to `Private`, `network_profile_id` also needs to be set.\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", "description": "Network profile ID for deploying to virtual network.\n" }, "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" }, "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" }, "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" } }, "required": [ "containers", "fqdn", "identity", "ipAddress", "location", "name", "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 `container` block below. Changing this forces a new resource to be created.\n" }, "diagnostics": { "$ref": "#/types/azure:containerservice/GroupDiagnostics:GroupDiagnostics", "description": "A `diagnostics` block as documented below.\n" }, "dnsConfig": { "$ref": "#/types/azure:containerservice/GroupDnsConfig:GroupDnsConfig", "description": "A `dns_config` block as documented below.\n" }, "dnsNameLabel": { "type": "string", "description": "The DNS label/name for the container groups IP. Changing this forces a new resource to be created.\n" }, "identity": { "$ref": "#/types/azure:containerservice/GroupIdentity:GroupIdentity", "description": "An `identity` block as defined below.\n" }, "imageRegistryCredentials": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential" }, "description": "A `image_registry_credential` block as documented below. Changing this forces a new resource to be created.\n" }, "ipAddressType": { "type": "string", "description": "Specifies the ip address type of the container. `Public` or `Private`. Changing this forces a new resource to be created. If set to `Private`, `network_profile_id` also needs to be set.\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", "description": "Network profile ID for deploying to virtual network.\n" }, "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" }, "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" }, "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" } }, "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 `container` block below. Changing this forces a new resource to be created.\n" }, "diagnostics": { "$ref": "#/types/azure:containerservice/GroupDiagnostics:GroupDiagnostics", "description": "A `diagnostics` block as documented below.\n" }, "dnsConfig": { "$ref": "#/types/azure:containerservice/GroupDnsConfig:GroupDnsConfig", "description": "A `dns_config` block as documented below.\n" }, "dnsNameLabel": { "type": "string", "description": "The DNS label/name for the container groups IP. Changing this forces a new resource to be created.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the container group derived from `dns_name_label`.\n" }, "identity": { "$ref": "#/types/azure:containerservice/GroupIdentity:GroupIdentity", "description": "An `identity` block as defined below.\n" }, "imageRegistryCredentials": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/GroupImageRegistryCredential:GroupImageRegistryCredential" }, "description": "A `image_registry_credential` block as documented 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` or `Private`. Changing this forces a new resource to be created. If set to `Private`, `network_profile_id` also needs to be set.\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", "description": "Network profile ID for deploying to virtual network.\n" }, "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" }, "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" }, "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" } }, "type": "object" } }, "azure:containerservice/kubernetesCluster:KubernetesCluster": { "description": "Manages a Managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a basic Managed Kubernetes Cluster.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"exampleKubernetesCluster\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"exampleKubernetesCluster\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n dns_prefix=\"exampleaks1\",\n default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(\n name=\"default\",\n node_count=1,\n vm_size=\"Standard_D2_v2\",\n ),\n identity=azure.containerservice.KubernetesClusterIdentityArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"exampleKubernetesCluster\", new Azure.ContainerService.KubernetesClusterArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 this.ClientCertificate = exampleKubernetesCluster.KubeConfigs.Apply(kubeConfigs =\u003e kubeConfigs[0].ClientCertificate);\n this.KubeConfig = exampleKubernetesCluster.KubeConfigRaw;\n }\n\n [Output(\"clientCertificate\")]\n public Output\u003cstring\u003e ClientCertificate { get; set; }\n [Output(\"kubeConfig\")]\n public Output\u003cstring\u003e KubeConfig { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleKubernetesCluster\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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 kubeConfigs[0].ClientCertificate, nil\n\t\t}).(pulumi.StringOutput))\n\t\tctx.Export(\"kubeConfig\", exampleKubernetesCluster.KubeConfigRaw)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "addonProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfile:KubernetesClusterAddonProfile", "description": "A `addon_profile` block as defined below.\n" }, "apiServerAuthorizedIpRanges": { "type": "array", "items": { "type": "string" }, "description": "The IP ranges to whitelist for incoming traffic to the masters.\n" }, "autoScalerProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile", "description": "A `auto_scaler_profile` block as defined below.\n" }, "defaultNodePool": { "$ref": "#/types/azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool", "description": "A `default_node_pool` 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/en-us/azure/aks/azure-disk-customer-managed-keys).\n" }, "dnsPrefix": { "type": "string", "description": "DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.\n" }, "enablePodSecurityPolicy": { "type": "boolean", "description": "Whether Pod Security Policies are enabled. Note that this also requires role based access control to be enabled.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the Azure Kubernetes Managed Cluster.\n" }, "identity": { "$ref": "#/types/azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity", "description": "A `identity` block as defined below. Changing this forces a new resource to be created.\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.\n" }, "kubeAdminConfigs": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterKubeAdminConfig:KubernetesClusterKubeAdminConfig" }, "description": "A `kube_admin_config` block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.\n" }, "kubeConfigRaw": { "type": "string", "description": "Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools\n" }, "kubeConfigs": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterKubeConfig:KubernetesClusterKubeConfig" }, "description": "A `kube_config` block as defined below.\n" }, "kubeletIdentities": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity" }, "description": "A `kubelet_identity` 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).\n" }, "linuxProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile", "description": "A `linux_profile` block as defined below.\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" }, "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 `network_profile` 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" }, "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 `false`. 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" }, "privateLinkEnabled": { "type": "boolean", "deprecationMessage": "Deprecated in favor of `private_cluster_enabled`" }, "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" }, "roleBasedAccessControl": { "$ref": "#/types/azure:containerservice/KubernetesClusterRoleBasedAccessControl:KubernetesClusterRoleBasedAccessControl", "description": "A `role_based_access_control` block. Changing this forces a new resource to be created.\n" }, "servicePrincipal": { "$ref": "#/types/azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal", "description": "A `service_principal` block as documented below.\n" }, "skuTier": { "type": "string", "description": "The SKU Tier that should be used for this Kubernetes Cluster. Possible values are `Free` and `Paid` (which includes the Uptime SLA). Defaults to `Free`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "windowsProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile", "description": "A `windows_profile` block as defined below.\n" } }, "required": [ "addonProfile", "autoScalerProfile", "defaultNodePool", "dnsPrefix", "fqdn", "kubeAdminConfigs", "kubeAdminConfigRaw", "kubeConfigs", "kubeConfigRaw", "kubeletIdentities", "kubernetesVersion", "location", "name", "networkProfile", "nodeResourceGroup", "privateClusterEnabled", "privateFqdn", "privateLinkEnabled", "resourceGroupName", "roleBasedAccessControl", "windowsProfile" ], "inputProperties": { "addonProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfile:KubernetesClusterAddonProfile", "description": "A `addon_profile` block as defined below.\n" }, "apiServerAuthorizedIpRanges": { "type": "array", "items": { "type": "string" }, "description": "The IP ranges to whitelist for incoming traffic to the masters.\n" }, "autoScalerProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile", "description": "A `auto_scaler_profile` block as defined below.\n" }, "defaultNodePool": { "$ref": "#/types/azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool", "description": "A `default_node_pool` 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/en-us/azure/aks/azure-disk-customer-managed-keys).\n" }, "dnsPrefix": { "type": "string", "description": "DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.\n" }, "enablePodSecurityPolicy": { "type": "boolean", "description": "Whether Pod Security Policies are enabled. Note that this also requires role based access control to be enabled.\n" }, "identity": { "$ref": "#/types/azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity", "description": "A `identity` block as defined below. Changing this forces a new resource to be created.\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).\n" }, "linuxProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile", "description": "A `linux_profile` block as defined below.\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" }, "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 `network_profile` 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" }, "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 `false`. Changing this forces a new resource to be created.\n" }, "privateLinkEnabled": { "type": "boolean", "deprecationMessage": "Deprecated in favor of `private_cluster_enabled`" }, "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" }, "roleBasedAccessControl": { "$ref": "#/types/azure:containerservice/KubernetesClusterRoleBasedAccessControl:KubernetesClusterRoleBasedAccessControl", "description": "A `role_based_access_control` block. Changing this forces a new resource to be created.\n" }, "servicePrincipal": { "$ref": "#/types/azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal", "description": "A `service_principal` block as documented below.\n" }, "skuTier": { "type": "string", "description": "The SKU Tier that should be used for this Kubernetes Cluster. Possible values are `Free` and `Paid` (which includes the Uptime SLA). Defaults to `Free`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "windowsProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile", "description": "A `windows_profile` block as defined below.\n" } }, "requiredInputs": [ "defaultNodePool", "dnsPrefix", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering KubernetesCluster resources.\n", "properties": { "addonProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterAddonProfile:KubernetesClusterAddonProfile", "description": "A `addon_profile` block as defined below.\n" }, "apiServerAuthorizedIpRanges": { "type": "array", "items": { "type": "string" }, "description": "The IP ranges to whitelist for incoming traffic to the masters.\n" }, "autoScalerProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterAutoScalerProfile:KubernetesClusterAutoScalerProfile", "description": "A `auto_scaler_profile` block as defined below.\n" }, "defaultNodePool": { "$ref": "#/types/azure:containerservice/KubernetesClusterDefaultNodePool:KubernetesClusterDefaultNodePool", "description": "A `default_node_pool` 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/en-us/azure/aks/azure-disk-customer-managed-keys).\n" }, "dnsPrefix": { "type": "string", "description": "DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.\n" }, "enablePodSecurityPolicy": { "type": "boolean", "description": "Whether Pod Security Policies are enabled. Note that this also requires role based access control to be enabled.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the Azure Kubernetes Managed Cluster.\n" }, "identity": { "$ref": "#/types/azure:containerservice/KubernetesClusterIdentity:KubernetesClusterIdentity", "description": "A `identity` block as defined below. Changing this forces a new resource to be created.\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.\n" }, "kubeAdminConfigs": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterKubeAdminConfig:KubernetesClusterKubeAdminConfig" }, "description": "A `kube_admin_config` block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.\n" }, "kubeConfigRaw": { "type": "string", "description": "Raw Kubernetes config to be used by [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) and other compatible tools\n" }, "kubeConfigs": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterKubeConfig:KubernetesClusterKubeConfig" }, "description": "A `kube_config` block as defined below.\n" }, "kubeletIdentities": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/KubernetesClusterKubeletIdentity:KubernetesClusterKubeletIdentity" }, "description": "A `kubelet_identity` 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).\n" }, "linuxProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterLinuxProfile:KubernetesClusterLinuxProfile", "description": "A `linux_profile` block as defined below.\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" }, "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 `network_profile` 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" }, "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 `false`. 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" }, "privateLinkEnabled": { "type": "boolean", "deprecationMessage": "Deprecated in favor of `private_cluster_enabled`" }, "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" }, "roleBasedAccessControl": { "$ref": "#/types/azure:containerservice/KubernetesClusterRoleBasedAccessControl:KubernetesClusterRoleBasedAccessControl", "description": "A `role_based_access_control` block. Changing this forces a new resource to be created.\n" }, "servicePrincipal": { "$ref": "#/types/azure:containerservice/KubernetesClusterServicePrincipal:KubernetesClusterServicePrincipal", "description": "A `service_principal` block as documented below.\n" }, "skuTier": { "type": "string", "description": "The SKU Tier that should be used for this Kubernetes Cluster. Possible values are `Free` and `Paid` (which includes the Uptime SLA). Defaults to `Free`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "windowsProfile": { "$ref": "#/types/azure:containerservice/KubernetesClusterWindowsProfile:KubernetesClusterWindowsProfile", "description": "A `windows_profile` block as defined below.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a basic Kubernetes Node Pool.\n\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"exampleKubernetesCluster\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleKubernetesClusterNodePool\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"exampleKubernetesCluster\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n dns_prefix=\"exampleaks1\",\n default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(\n name=\"default\",\n node_count=1,\n vm_size=\"Standard_D2_v2\",\n ),\n service_principal=azure.containerservice.KubernetesClusterServicePrincipalArgs(\n client_id=\"00000000-0000-0000-0000-000000000000\",\n client_secret=\"00000000000000000000000000000000\",\n ))\nexample_kubernetes_cluster_node_pool = azure.containerservice.KubernetesClusterNodePool(\"exampleKubernetesClusterNodePool\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"exampleKubernetesCluster\", new Azure.ContainerService.KubernetesClusterArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 var exampleKubernetesClusterNodePool = new Azure.ContainerService.KubernetesClusterNodePool(\"exampleKubernetesClusterNodePool\", new Azure.ContainerService.KubernetesClusterNodePoolArgs\n {\n KubernetesClusterId = exampleKubernetesCluster.Id,\n VmSize = \"Standard_DS2_v2\",\n NodeCount = 1,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleKubernetesCluster\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleKubernetesClusterNodePool\", \u0026containerservice.KubernetesClusterNodePoolArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones where the Nodes in this Node Pool should be created in.\n" }, "enableAutoScaling": { "type": "boolean", "description": "Whether to enable [auto-scaler](https://docs.microsoft.com/en-us/azure/aks/cluster-autoscaler). Defaults to `false`.\n" }, "enableNodePublicIp": { "type": "boolean", "description": "Should each node have a Public IP Address? Defaults to `false`.\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" }, "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" }, "maxCount": { "type": "integer", "description": "The maximum number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be greater than or equal to `min_count`.\n" }, "maxPods": { "type": "integer", "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n" }, "minCount": { "type": "integer", "description": "The minimum number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be less than or equal to `max_count`.\n" }, "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" }, "nodeCount": { "type": "integer", "description": "The initial number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be a value in the range `min_count` - `max_count`.\n" }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Kubernetes labels which should be applied to nodes in this Node Pool. 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`). Changing this forces a new resource to be created.\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)\n" }, "osDiskSizeGb": { "type": "integer", "description": "The Agent Operating System disk size in GB. Changing this forces a new resource to be created.\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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "vmSize": { "type": "string", "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.\n" }, "vnetSubnetId": { "type": "string", "description": "The ID of the Subnet where this Node Pool should exist.\n" } }, "required": [ "kubernetesClusterId", "maxPods", "name", "nodeCount", "orchestratorVersion", "osDiskSizeGb", "vmSize" ], "inputProperties": { "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones where the Nodes in this Node Pool should be created in.\n" }, "enableAutoScaling": { "type": "boolean", "description": "Whether to enable [auto-scaler](https://docs.microsoft.com/en-us/azure/aks/cluster-autoscaler). Defaults to `false`.\n" }, "enableNodePublicIp": { "type": "boolean", "description": "Should each node have a Public IP Address? Defaults to `false`.\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" }, "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" }, "maxCount": { "type": "integer", "description": "The maximum number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be greater than or equal to `min_count`.\n" }, "maxPods": { "type": "integer", "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n" }, "minCount": { "type": "integer", "description": "The minimum number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be less than or equal to `max_count`.\n" }, "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" }, "nodeCount": { "type": "integer", "description": "The initial number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be a value in the range `min_count` - `max_count`.\n" }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Kubernetes labels which should be applied to nodes in this Node Pool. 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`). Changing this forces a new resource to be created.\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)\n" }, "osDiskSizeGb": { "type": "integer", "description": "The Agent Operating System disk size in GB. Changing this forces a new resource to be created.\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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "vmSize": { "type": "string", "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.\n" }, "vnetSubnetId": { "type": "string", "description": "The ID of the Subnet where this Node Pool should exist.\n" } }, "requiredInputs": [ "kubernetesClusterId", "vmSize" ], "stateInputs": { "description": "Input properties used for looking up and filtering KubernetesClusterNodePool resources.\n", "properties": { "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones where the Nodes in this Node Pool should be created in.\n" }, "enableAutoScaling": { "type": "boolean", "description": "Whether to enable [auto-scaler](https://docs.microsoft.com/en-us/azure/aks/cluster-autoscaler). Defaults to `false`.\n" }, "enableNodePublicIp": { "type": "boolean", "description": "Should each node have a Public IP Address? Defaults to `false`.\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" }, "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" }, "maxCount": { "type": "integer", "description": "The maximum number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be greater than or equal to `min_count`.\n" }, "maxPods": { "type": "integer", "description": "The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.\n" }, "minCount": { "type": "integer", "description": "The minimum number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be less than or equal to `max_count`.\n" }, "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" }, "nodeCount": { "type": "integer", "description": "The initial number of nodes which should exist within this Node Pool. Valid values are between `1` and `100` and must be a value in the range `min_count` - `max_count`.\n" }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Kubernetes labels which should be applied to nodes in this Node Pool. 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`). Changing this forces a new resource to be created.\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)\n" }, "osDiskSizeGb": { "type": "integer", "description": "The Agent Operating System disk size in GB. Changing this forces a new resource to be created.\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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "vmSize": { "type": "string", "description": "The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.\n" }, "vnetSubnetId": { "type": "string", "description": "The ID of the Subnet where this Node Pool should exist.\n" } }, "type": "object" } }, "azure:containerservice/registry:Registry": { "description": "Manages an Azure Container Registry.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n resourceGroupName: rg.name,\n location: rg.location,\n sku: \"Premium\",\n adminEnabled: false,\n georeplicationLocations: [\n \"East US\",\n \"West Europe\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nacr = azure.containerservice.Registry(\"acr\",\n resource_group_name=rg.name,\n location=rg.location,\n sku=\"Premium\",\n admin_enabled=False,\n georeplication_locations=[\n \"East US\",\n \"West Europe\",\n ])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var acr = new Azure.ContainerService.Registry(\"acr\", new Azure.ContainerService.RegistryArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n Sku = \"Premium\",\n AdminEnabled = false,\n GeoreplicationLocations = \n {\n \"East US\",\n \"West Europe\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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 = containerservice.NewRegistry(ctx, \"acr\", \u0026containerservice.RegistryArgs{\n\t\t\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.Location,\n\t\t\tSku: pulumi.String(\"Premium\"),\n\t\t\tAdminEnabled: pulumi.Bool(false),\n\t\t\tGeoreplicationLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"East US\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "adminEnabled": { "type": "boolean", "description": "Specifies whether the admin user is enabled. Defaults to `false`.\n" }, "adminPassword": { "type": "string", "description": "The Password associated with the Container Registry Admin account - if the admin account is enabled.\n" }, "adminUsername": { "type": "string", "description": "The Username associated with the Container Registry Admin account - if the admin account is enabled.\n" }, "georeplicationLocations": { "type": "array", "items": { "type": "string" }, "description": "A list of Azure locations where the container registry should be geo-replicated.\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. Changing this forces a new resource to be created.\n" }, "networkRuleSet": { "$ref": "#/types/azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet", "description": "A `network_rule_set` block as documented below.\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" }, "sku": { "type": "string", "description": "The SKU name of the container registry. Possible values are `Basic`, `Standard` and `Premium`. `Classic` (which was previously `Basic`) is supported only for existing resources.\n" }, "storageAccountId": { "type": "string", "description": "The ID of a Storage Account which must be located in the same Azure Region as the Container Registry. 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": [ "adminPassword", "adminUsername", "location", "loginServer", "name", "networkRuleSet", "resourceGroupName" ], "inputProperties": { "adminEnabled": { "type": "boolean", "description": "Specifies whether the admin user is enabled. Defaults to `false`.\n" }, "georeplicationLocations": { "type": "array", "items": { "type": "string" }, "description": "A list of Azure locations where the container registry should be geo-replicated.\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. Changing this forces a new resource to be created.\n" }, "networkRuleSet": { "$ref": "#/types/azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet", "description": "A `network_rule_set` block as documented below.\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" }, "sku": { "type": "string", "description": "The SKU name of the container registry. Possible values are `Basic`, `Standard` and `Premium`. `Classic` (which was previously `Basic`) is supported only for existing resources.\n" }, "storageAccountId": { "type": "string", "description": "The ID of a Storage Account which must be located in the same Azure Region as the Container Registry. 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" } }, "requiredInputs": [ "resourceGroupName" ], "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 `false`.\n" }, "adminPassword": { "type": "string", "description": "The Password associated with the Container Registry Admin account - if the admin account is enabled.\n" }, "adminUsername": { "type": "string", "description": "The Username associated with the Container Registry Admin account - if the admin account is enabled.\n" }, "georeplicationLocations": { "type": "array", "items": { "type": "string" }, "description": "A list of Azure locations where the container registry should be geo-replicated.\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. Changing this forces a new resource to be created.\n" }, "networkRuleSet": { "$ref": "#/types/azure:containerservice/RegistryNetworkRuleSet:RegistryNetworkRuleSet", "description": "A `network_rule_set` block as documented below.\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" }, "sku": { "type": "string", "description": "The SKU name of the container registry. Possible values are `Basic`, `Standard` and `Premium`. `Classic` (which was previously `Basic`) is supported only for existing resources.\n" }, "storageAccountId": { "type": "string", "description": "The ID of a Storage Account which must be located in the same Azure Region as the Container Registry. 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": "object" } }, "azure:containerservice/registryWebhook:RegistryWebhook": { "description": "Manages an Azure Container Registry Webhook.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n resourceGroupName: rg.name,\n location: rg.location,\n sku: \"Standard\",\n adminEnabled: false,\n});\nconst webhook = new azure.containerservice.RegistryWebhook(\"webhook\", {\n resourceGroupName: rg.name,\n registryName: acr.name,\n location: rg.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\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nacr = azure.containerservice.Registry(\"acr\",\n resource_group_name=rg.name,\n location=rg.location,\n sku=\"Standard\",\n admin_enabled=False)\nwebhook = azure.containerservice.RegistryWebhook(\"webhook\",\n resource_group_name=rg.name,\n registry_name=acr.name,\n location=rg.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var acr = new Azure.ContainerService.Registry(\"acr\", new Azure.ContainerService.RegistryArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n Sku = \"Standard\",\n AdminEnabled = false,\n });\n var webhook = new Azure.ContainerService.RegistryWebhook(\"webhook\", new Azure.ContainerService.RegistryWebhookArgs\n {\n ResourceGroupName = rg.Name,\n RegistryName = acr.Name,\n Location = rg.Location,\n ServiceUri = \"https://mywebhookreceiver.example/mytag\",\n Status = \"enabled\",\n Scope = \"mytag:*\",\n Actions = \n {\n \"push\",\n },\n CustomHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West US\"),\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\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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\tResourceGroupName: rg.Name,\n\t\t\tRegistryName: acr.Name,\n\t\t\tLocation: rg.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{{% /example %}}\n{{% /examples %}}", "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: `push`, `delete`, `quarantine`, `chart_push`, `chart_delete`\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. 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 `foo`. `foo:bar` means events for 'foo:bar' only. `foo` is equivalent to `foo:latest`. Empty means all events.\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: `enabled` and `disabled`. Default is `enabled`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "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: `push`, `delete`, `quarantine`, `chart_push`, `chart_delete`\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. 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 `foo`. `foo:bar` means events for 'foo:bar' only. `foo` is equivalent to `foo:latest`. Empty means all events.\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: `enabled` and `disabled`. Default is `enabled`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "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: `push`, `delete`, `quarantine`, `chart_push`, `chart_delete`\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. 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 `foo`. `foo:bar` means events for 'foo:bar' only. `foo` is equivalent to `foo:latest`. Empty means all events.\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: `enabled` and `disabled`. Default is `enabled`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object" }, "aliases": [ { "type": "azure:containerservice/registryWebook:RegistryWebook" } ] }, "azure:containerservice/registryWebook:RegistryWebook": { "description": "Manages an Azure Container Registry Webhook.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst acr = new azure.containerservice.Registry(\"acr\", {\n resourceGroupName: rg.name,\n location: rg.location,\n sku: \"Standard\",\n adminEnabled: false,\n});\nconst webhook = new azure.containerservice.RegistryWebhook(\"webhook\", {\n resourceGroupName: rg.name,\n registryName: acr.name,\n location: rg.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\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nacr = azure.containerservice.Registry(\"acr\",\n resource_group_name=rg.name,\n location=rg.location,\n sku=\"Standard\",\n admin_enabled=False)\nwebhook = azure.containerservice.RegistryWebhook(\"webhook\",\n resource_group_name=rg.name,\n registry_name=acr.name,\n location=rg.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var acr = new Azure.ContainerService.Registry(\"acr\", new Azure.ContainerService.RegistryArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n Sku = \"Standard\",\n AdminEnabled = false,\n });\n var webhook = new Azure.ContainerService.RegistryWebhook(\"webhook\", new Azure.ContainerService.RegistryWebhookArgs\n {\n ResourceGroupName = rg.Name,\n RegistryName = acr.Name,\n Location = rg.Location,\n ServiceUri = \"https://mywebhookreceiver.example/mytag\",\n Status = \"enabled\",\n Scope = \"mytag:*\",\n Actions = \n {\n \"push\",\n },\n CustomHeaders = \n {\n { \"Content-Type\", \"application/json\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West US\"),\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\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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\tResourceGroupName: rg.Name,\n\t\t\tRegistryName: acr.Name,\n\t\t\tLocation: rg.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{{% /example %}}\n{{% /examples %}}", "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: `push`, `delete`, `quarantine`, `chart_push`, `chart_delete`\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. 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 `foo`. `foo:bar` means events for 'foo:bar' only. `foo` is equivalent to `foo:latest`. Empty means all events.\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: `enabled` and `disabled`. Default is `enabled`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "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: `push`, `delete`, `quarantine`, `chart_push`, `chart_delete`\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. 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 `foo`. `foo:bar` means events for 'foo:bar' only. `foo` is equivalent to `foo:latest`. Empty means all events.\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: `enabled` and `disabled`. Default is `enabled`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "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: `push`, `delete`, `quarantine`, `chart_push`, `chart_delete`\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. 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 `foo`. `foo:bar` means events for 'foo:bar' only. `foo` is equivalent to `foo:latest`. Empty means all events.\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: `enabled` and `disabled`. Default is `enabled`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object" }, "deprecationMessage": "azure.containerservice.RegistryWebook has been deprecated in favor of azure.containerservice.RegistryWebhook" }, "azure:core/customProvider:CustomProvider": { "description": "Manages an Azure Custom Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleCustomProvider = new azure.core.CustomProvider(\"exampleCustomProvider\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_custom_provider = azure.core.CustomProvider(\"exampleCustomProvider\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n resource_types=[azure.core.CustomProviderResourceTypeArgs(\n name=\"dEf1\",\n endpoint=\"https://testendpoint.com/\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleCustomProvider = new Azure.Core.CustomProvider(\"exampleCustomProvider\", new Azure.Core.CustomProviderArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ResourceTypes = \n {\n new Azure.Core.Inputs.CustomProviderResourceTypeArgs\n {\n Name = \"dEf1\",\n Endpoint = \"https://testendpoint.com/\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = core.NewCustomProvider(ctx, \"exampleCustomProvider\", \u0026core.CustomProviderArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderAction:CustomProviderAction" }, "description": "Any number of `action` block as defined below. One of `resource_type` or `action` 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.\n" }, "resourceTypes": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderResourceType:CustomProviderResourceType" }, "description": "Any number of `resource_type` block as defined below. One of `resource_type` or `action` must be specified.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "validations": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderValidation:CustomProviderValidation" }, "description": "Any number of `validation` block as defined below.\n" } }, "required": [ "location", "name", "resourceGroupName" ], "inputProperties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderAction:CustomProviderAction" }, "description": "Any number of `action` block as defined below. One of `resource_type` or `action` 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.\n" }, "resourceTypes": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderResourceType:CustomProviderResourceType" }, "description": "Any number of `resource_type` block as defined below. One of `resource_type` or `action` must be specified.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "validations": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderValidation:CustomProviderValidation" }, "description": "Any number of `validation` 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 `action` block as defined below. One of `resource_type` or `action` 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.\n" }, "resourceTypes": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderResourceType:CustomProviderResourceType" }, "description": "Any number of `resource_type` block as defined below. One of `resource_type` or `action` must be specified.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "validations": { "type": "array", "items": { "$ref": "#/types/azure:core/CustomProviderValidation:CustomProviderValidation" }, "description": "Any number of `validation` block as defined below.\n" } }, "type": "object" } }, "azure:core/resourceGroup:ResourceGroup": { "description": "Manages a Resource Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n location: \"West Europe\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\", location=\"West Europe\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" } }, "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" }, "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" } }, "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. You can opt-out of this by setting the `delete_nested_items_during_deletion` field within the `template_deployment` block of the `features` block to `false`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroupTemplateDeployment(\"example\", {\n deploymentMode: \"Complete\",\n resourceGroupName: \"example-group\",\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.Network/virtualNetworks\",\n \"apiVersion\": \"2020-05-01\",\n \"name\": \"acctest-network\",\n \"location\": \"[resourceGroup().location]\",\n \"properties\": {\n \"addressSpace\": {\n \"addressPrefixes\": [\n \"10.0.0.0/16\"\n ]\n }\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroupTemplateDeployment(\"example\",\n deployment_mode=\"Complete\",\n resource_group_name=\"example-group\",\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.Network/virtualNetworks\",\n \"apiVersion\": \"2020-05-01\",\n \"name\": \"acctest-network\",\n \"location\": \"[resourceGroup().location]\",\n \"properties\": {\n \"addressSpace\": {\n \"addressPrefixes\": [\n \"10.0.0.0/16\"\n ]\n }\n }\n }\n ]\n}\n\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroupTemplateDeployment(\"example\", new Azure.Core.ResourceGroupTemplateDeploymentArgs\n {\n DeploymentMode = \"Complete\",\n ResourceGroupName = \"example-group\",\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.Network/virtualNetworks\"\",\n \"\"apiVersion\"\": \"\"2020-05-01\"\",\n \"\"name\"\": \"\"acctest-network\"\",\n \"\"location\"\": \"\"[resourceGroup().location]\"\",\n \"\"properties\"\": {\n \"\"addressSpace\"\": {\n \"\"addressPrefixes\"\": [\n \"\"10.0.0.0/16\"\"\n ]\n }\n }\n }\n ]\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/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroupTemplateDeployment(ctx, \"example\", \u0026core.ResourceGroupTemplateDeploymentArgs{\n\t\t\tDeploymentMode: pulumi.String(\"Complete\"),\n\t\t\tResourceGroupName: pulumi.String(\"example-group\"),\n\t\t\tTemplateContent: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\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.Network/virtualNetworks\\\",\\n\", \" \\\"apiVersion\\\": \\\"2020-05-01\\\",\\n\", \" \\\"name\\\": \\\"acctest-network\\\",\\n\", \" \\\"location\\\": \\\"[resourceGroup().location]\\\",\\n\", \" \\\"properties\\\": {\\n\", \" \\\"addressSpace\\\": {\\n\", \" \\\"addressPrefixes\\\": [\\n\", \" \\\"10.0.0.0/16\\\"\\n\", \" ]\\n\", \" }\\n\", \" }\\n\", \" }\\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{{% /example %}}\n{{% /examples %}}", "properties": { "debugLevel": { "type": "string", "description": "The Debug Level which should be used for this Resource Group Template Deployment. Possible values are `none`, `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" }, "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" }, "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.\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 `none`, `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" }, "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" }, "parametersContent": { "type": "string", "description": "The contents of the ARM Template parameters file - containing a JSON list of parameters.\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.\n" } }, "requiredInputs": [ "deploymentMode", "resourceGroupName", "templateContent" ], "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 `none`, `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" }, "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" }, "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.\n" } }, "type": "object" } }, "azure:core/subscriptionTemplateDeployment:SubscriptionTemplateDeployment": { "description": "Manages a Subscription Template Deployment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.SubscriptionTemplateDeployment(\"example\", {\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 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```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.SubscriptionTemplateDeployment(\"example\", new Azure.Core.SubscriptionTemplateDeploymentArgs\n {\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}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tTemplateContent: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \" {\\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\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "debugLevel": { "type": "string", "description": "The Debug Level which should be used for this Subscription Template Deployment. Possible values are `none`, `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" } }, "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 `none`, `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" }, "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" } }, "requiredInputs": [ "templateContent" ], "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 `none`, `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" } }, "type": "object" } }, "azure:core/templateDeployment:TemplateDeployment": { "description": "Manages a template deployment of resources\n\n\u003e **Note on ARM Template Deployments:** Due to the way the underlying Azure API is designed, this provider can only manage the deployment of the ARM Template - and not any resources which are created by it.\nThis means that when deleting the `azure.core.TemplateDeployment` resource, this provider will only remove the reference to the deployment, whilst leaving any resources created by that ARM Template Deployment.\nOne workaround for this is to use a unique Resource Group for each ARM Template Deployment, which means deleting the Resource Group would contain any resources created within it - however this isn't ideal. [More information](https://docs.microsoft.com/en-us/rest/api/resources/deployments#Deployments_Delete).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n\u003e **Note:** This example uses Storage Accounts and Public IP's which are natively supported by this provider - we'd highly recommend using the Native Resources where possible instead rather than an ARM Template, for the reasons outlined above.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleTemplateDeployment = new azure.core.TemplateDeployment(\"exampleTemplateDeployment\", {\n resourceGroupName: exampleResourceGroup.name,\n templateBody: `{\n \"$schema\": \"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"storageAccountType\": {\n \"type\": \"string\",\n \"defaultValue\": \"Standard_LRS\",\n \"allowedValues\": [\n \"Standard_LRS\",\n \"Standard_GRS\",\n \"Standard_ZRS\"\n ],\n \"metadata\": {\n \"description\": \"Storage Account type\"\n }\n }\n },\n \"variables\": {\n \"location\": \"[resourceGroup().location]\",\n \"storageAccountName\": \"[concat(uniquestring(resourceGroup().id), 'storage')]\",\n \"publicIPAddressName\": \"[concat('myPublicIp', uniquestring(resourceGroup().id))]\",\n \"publicIPAddressType\": \"Dynamic\",\n \"apiVersion\": \"2015-06-15\",\n \"dnsLabelPrefix\": \"example-acctest\"\n },\n \"resources\": [\n {\n \"type\": \"Microsoft.Storage/storageAccounts\",\n \"name\": \"[variables('storageAccountName')]\",\n \"apiVersion\": \"[variables('apiVersion')]\",\n \"location\": \"[variables('location')]\",\n \"properties\": {\n \"accountType\": \"[parameters('storageAccountType')]\"\n }\n },\n {\n \"type\": \"Microsoft.Network/publicIPAddresses\",\n \"apiVersion\": \"[variables('apiVersion')]\",\n \"name\": \"[variables('publicIPAddressName')]\",\n \"location\": \"[variables('location')]\",\n \"properties\": {\n \"publicIPAllocationMethod\": \"[variables('publicIPAddressType')]\",\n \"dnsSettings\": {\n \"domainNameLabel\": \"[variables('dnsLabelPrefix')]\"\n }\n }\n }\n ],\n \"outputs\": {\n \"storageAccountName\": {\n \"type\": \"string\",\n \"value\": \"[variables('storageAccountName')]\"\n }\n }\n}\n`,\n parameters: {\n storageAccountType: \"Standard_GRS\",\n },\n deploymentMode: \"Incremental\",\n});\nexport const storageAccountName = exampleTemplateDeployment.outputs.storageAccountName;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_template_deployment = azure.core.TemplateDeployment(\"exampleTemplateDeployment\",\n resource_group_name=example_resource_group.name,\n template_body=\"\"\"{\n \"$schema\": \"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",\n \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {\n \"storageAccountType\": {\n \"type\": \"string\",\n \"defaultValue\": \"Standard_LRS\",\n \"allowedValues\": [\n \"Standard_LRS\",\n \"Standard_GRS\",\n \"Standard_ZRS\"\n ],\n \"metadata\": {\n \"description\": \"Storage Account type\"\n }\n }\n },\n \"variables\": {\n \"location\": \"[resourceGroup().location]\",\n \"storageAccountName\": \"[concat(uniquestring(resourceGroup().id), 'storage')]\",\n \"publicIPAddressName\": \"[concat('myPublicIp', uniquestring(resourceGroup().id))]\",\n \"publicIPAddressType\": \"Dynamic\",\n \"apiVersion\": \"2015-06-15\",\n \"dnsLabelPrefix\": \"example-acctest\"\n },\n \"resources\": [\n {\n \"type\": \"Microsoft.Storage/storageAccounts\",\n \"name\": \"[variables('storageAccountName')]\",\n \"apiVersion\": \"[variables('apiVersion')]\",\n \"location\": \"[variables('location')]\",\n \"properties\": {\n \"accountType\": \"[parameters('storageAccountType')]\"\n }\n },\n {\n \"type\": \"Microsoft.Network/publicIPAddresses\",\n \"apiVersion\": \"[variables('apiVersion')]\",\n \"name\": \"[variables('publicIPAddressName')]\",\n \"location\": \"[variables('location')]\",\n \"properties\": {\n \"publicIPAllocationMethod\": \"[variables('publicIPAddressType')]\",\n \"dnsSettings\": {\n \"domainNameLabel\": \"[variables('dnsLabelPrefix')]\"\n }\n }\n }\n ],\n \"outputs\": {\n \"storageAccountName\": {\n \"type\": \"string\",\n \"value\": \"[variables('storageAccountName')]\"\n }\n }\n}\n\"\"\",\n parameters={\n \"storageAccountType\": \"Standard_GRS\",\n },\n deployment_mode=\"Incremental\")\npulumi.export(\"storageAccountName\", example_template_deployment.outputs[\"storageAccountName\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleTemplateDeployment = new Azure.Core.TemplateDeployment(\"exampleTemplateDeployment\", new Azure.Core.TemplateDeploymentArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n TemplateBody = @\"{\n \"\"$schema\"\": \"\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\"\",\n \"\"contentVersion\"\": \"\"1.0.0.0\"\",\n \"\"parameters\"\": {\n \"\"storageAccountType\"\": {\n \"\"type\"\": \"\"string\"\",\n \"\"defaultValue\"\": \"\"Standard_LRS\"\",\n \"\"allowedValues\"\": [\n \"\"Standard_LRS\"\",\n \"\"Standard_GRS\"\",\n \"\"Standard_ZRS\"\"\n ],\n \"\"metadata\"\": {\n \"\"description\"\": \"\"Storage Account type\"\"\n }\n }\n },\n \"\"variables\"\": {\n \"\"location\"\": \"\"[resourceGroup().location]\"\",\n \"\"storageAccountName\"\": \"\"[concat(uniquestring(resourceGroup().id), 'storage')]\"\",\n \"\"publicIPAddressName\"\": \"\"[concat('myPublicIp', uniquestring(resourceGroup().id))]\"\",\n \"\"publicIPAddressType\"\": \"\"Dynamic\"\",\n \"\"apiVersion\"\": \"\"2015-06-15\"\",\n \"\"dnsLabelPrefix\"\": \"\"example-acctest\"\"\n },\n \"\"resources\"\": [\n {\n \"\"type\"\": \"\"Microsoft.Storage/storageAccounts\"\",\n \"\"name\"\": \"\"[variables('storageAccountName')]\"\",\n \"\"apiVersion\"\": \"\"[variables('apiVersion')]\"\",\n \"\"location\"\": \"\"[variables('location')]\"\",\n \"\"properties\"\": {\n \"\"accountType\"\": \"\"[parameters('storageAccountType')]\"\"\n }\n },\n {\n \"\"type\"\": \"\"Microsoft.Network/publicIPAddresses\"\",\n \"\"apiVersion\"\": \"\"[variables('apiVersion')]\"\",\n \"\"name\"\": \"\"[variables('publicIPAddressName')]\"\",\n \"\"location\"\": \"\"[variables('location')]\"\",\n \"\"properties\"\": {\n \"\"publicIPAllocationMethod\"\": \"\"[variables('publicIPAddressType')]\"\",\n \"\"dnsSettings\"\": {\n \"\"domainNameLabel\"\": \"\"[variables('dnsLabelPrefix')]\"\"\n }\n }\n }\n ],\n \"\"outputs\"\": {\n \"\"storageAccountName\"\": {\n \"\"type\"\": \"\"string\"\",\n \"\"value\"\": \"\"[variables('storageAccountName')]\"\"\n }\n }\n}\n\",\n Parameters = \n {\n { \"storageAccountType\", \"Standard_GRS\" },\n },\n DeploymentMode = \"Incremental\",\n });\n this.StorageAccountName = exampleTemplateDeployment.Outputs.Apply(outputs =\u003e outputs.StorageAccountName);\n }\n\n [Output(\"storageAccountName\")]\n public Output\u003cstring\u003e StorageAccountName { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleTemplateDeployment, err := core.NewTemplateDeployment(ctx, \"exampleTemplateDeployment\", \u0026core.TemplateDeploymentArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTemplateBody: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\n\", \" \\\"\", \"$\", \"schema\\\": \\\"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\\\",\\n\", \" \\\"contentVersion\\\": \\\"1.0.0.0\\\",\\n\", \" \\\"parameters\\\": {\\n\", \" \\\"storageAccountType\\\": {\\n\", \" \\\"type\\\": \\\"string\\\",\\n\", \" \\\"defaultValue\\\": \\\"Standard_LRS\\\",\\n\", \" \\\"allowedValues\\\": [\\n\", \" \\\"Standard_LRS\\\",\\n\", \" \\\"Standard_GRS\\\",\\n\", \" \\\"Standard_ZRS\\\"\\n\", \" ],\\n\", \" \\\"metadata\\\": {\\n\", \" \\\"description\\\": \\\"Storage Account type\\\"\\n\", \" }\\n\", \" }\\n\", \" },\\n\", \" \\\"variables\\\": {\\n\", \" \\\"location\\\": \\\"[resourceGroup().location]\\\",\\n\", \" \\\"storageAccountName\\\": \\\"[concat(uniquestring(resourceGroup().id), 'storage')]\\\",\\n\", \" \\\"publicIPAddressName\\\": \\\"[concat('myPublicIp', uniquestring(resourceGroup().id))]\\\",\\n\", \" \\\"publicIPAddressType\\\": \\\"Dynamic\\\",\\n\", \" \\\"apiVersion\\\": \\\"2015-06-15\\\",\\n\", \" \\\"dnsLabelPrefix\\\": \\\"example-acctest\\\"\\n\", \" },\\n\", \" \\\"resources\\\": [\\n\", \" {\\n\", \" \\\"type\\\": \\\"Microsoft.Storage/storageAccounts\\\",\\n\", \" \\\"name\\\": \\\"[variables('storageAccountName')]\\\",\\n\", \" \\\"apiVersion\\\": \\\"[variables('apiVersion')]\\\",\\n\", \" \\\"location\\\": \\\"[variables('location')]\\\",\\n\", \" \\\"properties\\\": {\\n\", \" \\\"accountType\\\": \\\"[parameters('storageAccountType')]\\\"\\n\", \" }\\n\", \" },\\n\", \" {\\n\", \" \\\"type\\\": \\\"Microsoft.Network/publicIPAddresses\\\",\\n\", \" \\\"apiVersion\\\": \\\"[variables('apiVersion')]\\\",\\n\", \" \\\"name\\\": \\\"[variables('publicIPAddressName')]\\\",\\n\", \" \\\"location\\\": \\\"[variables('location')]\\\",\\n\", \" \\\"properties\\\": {\\n\", \" \\\"publicIPAllocationMethod\\\": \\\"[variables('publicIPAddressType')]\\\",\\n\", \" \\\"dnsSettings\\\": {\\n\", \" \\\"domainNameLabel\\\": \\\"[variables('dnsLabelPrefix')]\\\"\\n\", \" }\\n\", \" }\\n\", \" }\\n\", \" ],\\n\", \" \\\"outputs\\\": {\\n\", \" \\\"storageAccountName\\\": {\\n\", \" \\\"type\\\": \\\"string\\\",\\n\", \" \\\"value\\\": \\\"[variables('storageAccountName')]\\\"\\n\", \" }\\n\", \" }\\n\", \"}\\n\")),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"storageAccountType\": pulumi.String(\"Standard_GRS\"),\n\t\t\t},\n\t\t\tDeploymentMode: pulumi.String(\"Incremental\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"storageAccountName\", exampleTemplateDeployment.Outputs.ApplyT(func(outputs map[string]string) (string, error) {\n\t\t\treturn outputs.StorageAccountName, nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n## Note\n\nThis provider does not know about the individual resources created by Azure using a deployment template and therefore cannot delete these resources during a destroy. Destroying a template deployment removes the associated deployment operations, but will not delete the Azure resources created by the deployment. In order to delete these resources, the containing resource group must also be destroyed. [More information](https://docs.microsoft.com/en-us/rest/api/resources/deployments#Deployments_Delete).\n", "properties": { "deploymentMode": { "type": "string", "description": "Specifies the mode that is used to deploy resources. This value could be either `Incremental` or `Complete`.\nNote that you will almost *always* want this to be set to `Incremental` otherwise the deployment will destroy all infrastructure not\nspecified within the template, and this provider will not be aware of this.\n" }, "name": { "type": "string", "description": "Specifies the name of the template deployment. Changing this forces a\nnew resource to be created.\n" }, "outputs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of supported scalar output types returned from the deployment (currently, Azure Template Deployment outputs of type String, Int and Bool are supported, and are converted to strings - others will be ignored) and can be accessed using `.outputs[\"name\"]`.\n" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Specifies the name and value pairs that define the deployment parameters for the template.\n" }, "parametersBody": { "type": "string", "description": "Specifies a valid Azure JSON parameters file that define the deployment parameters. It can contain KeyVault references\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the template deployment.\n" }, "templateBody": { "type": "string", "description": "Specifies the JSON definition for the template.\n" } }, "required": [ "deploymentMode", "name", "outputs", "resourceGroupName", "templateBody" ], "inputProperties": { "deploymentMode": { "type": "string", "description": "Specifies the mode that is used to deploy resources. This value could be either `Incremental` or `Complete`.\nNote that you will almost *always* want this to be set to `Incremental` otherwise the deployment will destroy all infrastructure not\nspecified within the template, and this provider will not be aware of this.\n" }, "name": { "type": "string", "description": "Specifies the name of the template deployment. Changing this forces a\nnew resource to be created.\n" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Specifies the name and value pairs that define the deployment parameters for the template.\n" }, "parametersBody": { "type": "string", "description": "Specifies a valid Azure JSON parameters file that define the deployment parameters. It can contain KeyVault references\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the template deployment.\n" }, "templateBody": { "type": "string", "description": "Specifies the JSON definition for the template.\n" } }, "requiredInputs": [ "deploymentMode", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering TemplateDeployment resources.\n", "properties": { "deploymentMode": { "type": "string", "description": "Specifies the mode that is used to deploy resources. This value could be either `Incremental` or `Complete`.\nNote that you will almost *always* want this to be set to `Incremental` otherwise the deployment will destroy all infrastructure not\nspecified within the template, and this provider will not be aware of this.\n" }, "name": { "type": "string", "description": "Specifies the name of the template deployment. Changing this forces a\nnew resource to be created.\n" }, "outputs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of supported scalar output types returned from the deployment (currently, Azure Template Deployment outputs of type String, Int and Bool are supported, and are converted to strings - others will be ignored) and can be accessed using `.outputs[\"name\"]`.\n" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Specifies the name and value pairs that define the deployment parameters for the template.\n" }, "parametersBody": { "type": "string", "description": "Specifies a valid Azure JSON parameters file that define the deployment parameters. It can contain KeyVault references\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the template deployment.\n" }, "templateBody": { "type": "string", "description": "Specifies the JSON definition for the template.\n" } }, "type": "object" } }, "azure:cosmosdb/account:Account": { "description": "Manages a CosmosDB (formally DocumentDB) Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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\", {location: _var.resource_group_location});\nconst ri = new random.RandomInteger(\"ri\", {\n min: 10000,\n max: 99999,\n});\nconst db = new azure.cosmosdb.Account(\"db\", {\n location: rg.location,\n resourceGroupName: rg.name,\n offerType: \"Standard\",\n kind: \"GlobalDocumentDB\",\n enableAutomaticFailover: true,\n capabilities: [\n {\n name: \"EnableAggregationPipeline\",\n },\n {\n name: \"mongoEnableDocLevelTTL\",\n },\n {\n name: \"MongoDBv3.4\",\n },\n ],\n consistencyPolicy: {\n consistencyLevel: \"BoundedStaleness\",\n maxIntervalInSeconds: 10,\n maxStalenessPrefix: 200,\n },\n geoLocations: [\n {\n location: _var.failover_location,\n failoverPriority: 1,\n },\n {\n location: rg.location,\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\", location=var[\"resource_group_location\"])\nri = random.RandomInteger(\"ri\",\n min=10000,\n max=99999)\ndb = azure.cosmosdb.Account(\"db\",\n location=rg.location,\n resource_group_name=rg.name,\n offer_type=\"Standard\",\n kind=\"GlobalDocumentDB\",\n enable_automatic_failover=True,\n capabilities=[\n azure.cosmosdb.AccountCapabilityArgs(\n name=\"EnableAggregationPipeline\",\n ),\n azure.cosmosdb.AccountCapabilityArgs(\n name=\"mongoEnableDocLevelTTL\",\n ),\n azure.cosmosdb.AccountCapabilityArgs(\n name=\"MongoDBv3.4\",\n ),\n ],\n consistency_policy=azure.cosmosdb.AccountConsistencyPolicyArgs(\n consistency_level=\"BoundedStaleness\",\n max_interval_in_seconds=10,\n max_staleness_prefix=200,\n ),\n geo_locations=[\n azure.cosmosdb.AccountGeoLocationArgs(\n location=var[\"failover_location\"],\n failover_priority=1,\n ),\n azure.cosmosdb.AccountGeoLocationArgs(\n location=rg.location,\n failover_priority=0,\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = @var.Resource_group_location,\n });\n var ri = new Random.RandomInteger(\"ri\", new Random.RandomIntegerArgs\n {\n Min = 10000,\n Max = 99999,\n });\n var db = new Azure.CosmosDB.Account(\"db\", new Azure.CosmosDB.AccountArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n OfferType = \"Standard\",\n Kind = \"GlobalDocumentDB\",\n EnableAutomaticFailover = true,\n Capabilities = \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 },\n ConsistencyPolicy = new Azure.CosmosDB.Inputs.AccountConsistencyPolicyArgs\n {\n ConsistencyLevel = \"BoundedStaleness\",\n MaxIntervalInSeconds = 10,\n MaxStalenessPrefix = 200,\n },\n GeoLocations = \n {\n new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n {\n Location = @var.Failover_location,\n FailoverPriority = 1,\n },\n new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n {\n Location = rg.Location,\n FailoverPriority = 0,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.Any(_var.Resource_group_location),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = random.NewRandomInteger(ctx, \"ri\", \u0026random.RandomIntegerArgs{\n\t\t\tMin: pulumi.Int(10000),\n\t\t\tMax: pulumi.Int(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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.Name,\n\t\t\tOfferType: pulumi.String(\"Standard\"),\n\t\t\tKind: pulumi.String(\"GlobalDocumentDB\"),\n\t\t\tEnableAutomaticFailover: 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},\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: pulumi.Any(_var.Failover_location),\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: rg.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "capabilities": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/AccountCapability:AccountCapability" }, "description": "The capabilities which should be enabled for this Cosmos DB account. Possible values are `EnableAggregationPipeline`, `EnableCassandra`, `EnableGremlin`, `EnableTable`, `MongoDBv3.4`, `EnableServerless`, and `mongoEnableDocLevelTTL`.\n" }, "connectionStrings": { "type": "array", "items": { "type": "string" }, "description": "A list of connection strings available for this CosmosDB account.\n" }, "consistencyPolicy": { "$ref": "#/types/azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy", "description": "Specifies a `consistency_policy` resource, used to define the consistency policy for this CosmosDB account.\n" }, "enableAutomaticFailover": { "type": "boolean", "description": "Enable automatic fail over for this Cosmos DB account.\n" }, "enableFreeTier": { "type": "boolean", "description": "Enable Free Tier pricing option for this Cosmos DB account. Defaults to `false`. Changing this forces a new resource to be created.\n" }, "enableMultipleWriteLocations": { "type": "boolean", "description": "Enable multi-master support for this Cosmos DB account.\n" }, "endpoint": { "type": "string", "description": "The endpoint used to connect to the CosmosDB account.\n" }, "geoLocations": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/AccountGeoLocation:AccountGeoLocation" }, "description": "Specifies a `geo_location` resource, used to define where data should be replicated with the `failover_priority` 0 specifying the primary location.\n" }, "ipRangeFilter": { "type": "string", "description": "CosmosDB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IP's for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.\n" }, "isVirtualNetworkFilterEnabled": { "type": "boolean", "description": "Enables virtual network filtering for this Cosmos DB account.\n" }, "kind": { "type": "string", "description": "Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB` and `MongoDB`. Defaults to `GlobalDocumentDB`. 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 CosmosDB Account. Changing this forces a new resource to be created.\n" }, "offerType": { "type": "string", "description": "Specifies the Offer Type to use for this CosmosDB Account - currently this can only be set to `Standard`.\n" }, "primaryKey": { "type": "string", "description": "The Primary master key for the CosmosDB Account.\n" }, "primaryMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `primary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "primaryReadonlyKey": { "type": "string", "description": "The Primary read-only master Key for the CosmosDB Account.\n" }, "primaryReadonlyMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `primary_readonly_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "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" }, "secondaryKey": { "type": "string", "description": "The Secondary master key for the CosmosDB Account.\n" }, "secondaryMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `secondary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "secondaryReadonlyKey": { "type": "string", "description": "The Secondary read-only master key for the CosmosDB Account.\n" }, "secondaryReadonlyMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `secondary_readonly_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "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" }, "description": "Specifies a `virtual_network_rules` resource, used to define which subnets are allowed to access this CosmosDB account.\n" }, "writeEndpoints": { "type": "array", "items": { "type": "string" }, "description": "A list of write endpoints available for this CosmosDB account.\n" } }, "required": [ "connectionStrings", "consistencyPolicy", "endpoint", "geoLocations", "location", "name", "offerType", "primaryKey", "primaryMasterKey", "primaryReadonlyKey", "primaryReadonlyMasterKey", "readEndpoints", "resourceGroupName", "secondaryKey", "secondaryMasterKey", "secondaryReadonlyKey", "secondaryReadonlyMasterKey", "writeEndpoints" ], "inputProperties": { "capabilities": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/AccountCapability:AccountCapability" }, "description": "The capabilities which should be enabled for this Cosmos DB account. Possible values are `EnableAggregationPipeline`, `EnableCassandra`, `EnableGremlin`, `EnableTable`, `MongoDBv3.4`, `EnableServerless`, and `mongoEnableDocLevelTTL`.\n" }, "consistencyPolicy": { "$ref": "#/types/azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy", "description": "Specifies a `consistency_policy` resource, used to define the consistency policy for this CosmosDB account.\n" }, "enableAutomaticFailover": { "type": "boolean", "description": "Enable automatic fail over for this Cosmos DB account.\n" }, "enableFreeTier": { "type": "boolean", "description": "Enable Free Tier pricing option for this Cosmos DB account. Defaults to `false`. Changing this forces a new resource to be created.\n" }, "enableMultipleWriteLocations": { "type": "boolean", "description": "Enable multi-master support for this Cosmos DB account.\n" }, "geoLocations": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/AccountGeoLocation:AccountGeoLocation" }, "description": "Specifies a `geo_location` resource, used to define where data should be replicated with the `failover_priority` 0 specifying the primary location.\n" }, "ipRangeFilter": { "type": "string", "description": "CosmosDB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IP's for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.\n" }, "isVirtualNetworkFilterEnabled": { "type": "boolean", "description": "Enables virtual network filtering for this Cosmos DB account.\n" }, "kind": { "type": "string", "description": "Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB` and `MongoDB`. Defaults to `GlobalDocumentDB`. 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 CosmosDB Account. Changing this forces a new resource to be created.\n" }, "offerType": { "type": "string", "description": "Specifies the Offer Type to use for this CosmosDB Account - currently this can only be set to `Standard`.\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" }, "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" }, "description": "Specifies a `virtual_network_rules` resource, used to define which subnets are allowed to access this CosmosDB account.\n" } }, "requiredInputs": [ "consistencyPolicy", "geoLocations", "offerType", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Account resources.\n", "properties": { "capabilities": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/AccountCapability:AccountCapability" }, "description": "The capabilities which should be enabled for this Cosmos DB account. Possible values are `EnableAggregationPipeline`, `EnableCassandra`, `EnableGremlin`, `EnableTable`, `MongoDBv3.4`, `EnableServerless`, and `mongoEnableDocLevelTTL`.\n" }, "connectionStrings": { "type": "array", "items": { "type": "string" }, "description": "A list of connection strings available for this CosmosDB account.\n" }, "consistencyPolicy": { "$ref": "#/types/azure:cosmosdb/AccountConsistencyPolicy:AccountConsistencyPolicy", "description": "Specifies a `consistency_policy` resource, used to define the consistency policy for this CosmosDB account.\n" }, "enableAutomaticFailover": { "type": "boolean", "description": "Enable automatic fail over for this Cosmos DB account.\n" }, "enableFreeTier": { "type": "boolean", "description": "Enable Free Tier pricing option for this Cosmos DB account. Defaults to `false`. Changing this forces a new resource to be created.\n" }, "enableMultipleWriteLocations": { "type": "boolean", "description": "Enable multi-master support for this Cosmos DB account.\n" }, "endpoint": { "type": "string", "description": "The endpoint used to connect to the CosmosDB account.\n" }, "geoLocations": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/AccountGeoLocation:AccountGeoLocation" }, "description": "Specifies a `geo_location` resource, used to define where data should be replicated with the `failover_priority` 0 specifying the primary location.\n" }, "ipRangeFilter": { "type": "string", "description": "CosmosDB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IP's for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces.\n" }, "isVirtualNetworkFilterEnabled": { "type": "boolean", "description": "Enables virtual network filtering for this Cosmos DB account.\n" }, "kind": { "type": "string", "description": "Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB` and `MongoDB`. Defaults to `GlobalDocumentDB`. 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 CosmosDB Account. Changing this forces a new resource to be created.\n" }, "offerType": { "type": "string", "description": "Specifies the Offer Type to use for this CosmosDB Account - currently this can only be set to `Standard`.\n" }, "primaryKey": { "type": "string", "description": "The Primary master key for the CosmosDB Account.\n" }, "primaryMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `primary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "primaryReadonlyKey": { "type": "string", "description": "The Primary read-only master Key for the CosmosDB Account.\n" }, "primaryReadonlyMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `primary_readonly_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "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" }, "secondaryKey": { "type": "string", "description": "The Secondary master key for the CosmosDB Account.\n" }, "secondaryMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `secondary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "secondaryReadonlyKey": { "type": "string", "description": "The Secondary read-only master key for the CosmosDB Account.\n" }, "secondaryReadonlyMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `secondary_readonly_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "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" }, "description": "Specifies a `virtual_network_rules` resource, used to define which subnets are allowed to access this CosmosDB account.\n" }, "writeEndpoints": { "type": "array", "items": { "type": "string" }, "description": "A list of write endpoints available for this CosmosDB account.\n" } }, "type": "object" } }, "azure:cosmosdb/cassandraKeyspace:CassandraKeyspace": { "description": "Manages a Cassandra KeySpace within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"tflex-cosmosdb-account-rg\",\n});\nconst exampleAccount = new azure.cosmosdb.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n offerType: \"Standard\",\n capabilities: [{\n name: \"EnableCassandra\",\n }],\n consistencyPolicy: {\n consistencyLevel: \"Strong\",\n },\n geoLocations: [{\n location: \"West US\",\n failoverPriority: 0,\n }],\n});\nconst exampleCassandraKeyspace = new azure.cosmosdb.CassandraKeyspace(\"exampleCassandraKeyspace\", {\n resourceGroupName: exampleAccount.resourceGroupName,\n accountName: exampleAccount.name,\n throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.get_resource_group(name=\"tflex-cosmosdb-account-rg\")\nexample_account = azure.cosmosdb.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n offer_type=\"Standard\",\n capabilities=[azure.cosmosdb.AccountCapabilityArgs(\n name=\"EnableCassandra\",\n )],\n consistency_policy=azure.cosmosdb.AccountConsistencyPolicyArgs(\n consistency_level=\"Strong\",\n ),\n geo_locations=[azure.cosmosdb.AccountGeoLocationArgs(\n location=\"West US\",\n failover_priority=0,\n )])\nexample_cassandra_keyspace = azure.cosmosdb.CassandraKeyspace(\"exampleCassandraKeyspace\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n throughput=400)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"tflex-cosmosdb-account-rg\",\n }));\n var exampleAccount = new Azure.CosmosDB.Account(\"exampleAccount\", new Azure.CosmosDB.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n OfferType = \"Standard\",\n Capabilities = \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 = \n {\n new Azure.CosmosDB.Inputs.AccountGeoLocationArgs\n {\n Location = \"West US\",\n FailoverPriority = 0,\n },\n },\n });\n var exampleCassandraKeyspace = new Azure.CosmosDB.CassandraKeyspace(\"exampleCassandraKeyspace\", new Azure.CosmosDB.CassandraKeyspaceArgs\n {\n ResourceGroupName = exampleAccount.ResourceGroupName,\n AccountName = exampleAccount.Name,\n Throughput = 400,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.LookupResourceGroup(ctx, \u0026core.LookupResourceGroupArgs{\n\t\t\tName: \"tflex-cosmosdb-account-rg\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := cosmosdb.NewAccount(ctx, \"exampleAccount\", \u0026cosmosdb.AccountArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleResourceGroup.Name),\n\t\t\tLocation: pulumi.String(exampleResourceGroup.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: pulumi.String(\"West US\"),\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, \"exampleCassandraKeyspace\", \u0026cosmosdb.CassandraKeyspaceArgs{\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{{% /example %}}\n{{% /examples %}}", "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 `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\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 `100`. The minimum value is `400`. 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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\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 `100`. The minimum value is `400`. 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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/CassandraKeyspaceAutoscaleSettings:CassandraKeyspaceAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n" } }, "type": "object" } }, "azure:cosmosdb/gremlinDatabase:GremlinDatabase": { "description": "Manages a Gremlin Database within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleGremlinDatabase = new azure.cosmosdb.GremlinDatabase(\"exampleGremlinDatabase\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_gremlin_database = azure.cosmosdb.GremlinDatabase(\"exampleGremlinDatabase\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n throughput=400)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleGremlinDatabase = new Azure.CosmosDB.GremlinDatabase(\"exampleGremlinDatabase\", new Azure.CosmosDB.GremlinDatabaseArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n Throughput = 400,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleGremlinDatabase\", \u0026cosmosdb.GremlinDatabaseArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(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{{% /example %}}\n{{% /examples %}}", "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" }, "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 `100`. The minimum value is `400`. 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 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" }, "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 `100`. The minimum value is `400`. 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 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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/GremlinDatabaseAutoscaleSettings:GremlinDatabaseAutoscaleSettings" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n" } }, "type": "object" } }, "azure:cosmosdb/gremlinGraph:GremlinGraph": { "description": "Manages a Gremlin Graph within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleGremlinDatabase = new azure.cosmosdb.GremlinDatabase(\"exampleGremlinDatabase\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n});\nconst exampleGremlinGraph = new azure.cosmosdb.GremlinGraph(\"exampleGremlinGraph\", {\n resourceGroupName: azurerm_cosmosdb_account.example.resource_group_name,\n accountName: azurerm_cosmosdb_account.example.name,\n databaseName: exampleGremlinDatabase.name,\n partitionKeyPath: \"/Example\",\n throughput: 400,\n indexPolicies: [{\n automatic: true,\n indexingMode: \"Consistent\",\n includedPaths: [\"/*\"],\n excludedPaths: [\"/\\\"_etag\\\"/?\"],\n }],\n conflictResolutionPolicies: [{\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_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_gremlin_database = azure.cosmosdb.GremlinDatabase(\"exampleGremlinDatabase\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name)\nexample_gremlin_graph = azure.cosmosdb.GremlinGraph(\"exampleGremlinGraph\",\n resource_group_name=azurerm_cosmosdb_account[\"example\"][\"resource_group_name\"],\n account_name=azurerm_cosmosdb_account[\"example\"][\"name\"],\n database_name=example_gremlin_database.name,\n partition_key_path=\"/Example\",\n throughput=400,\n index_policies=[azure.cosmosdb.GremlinGraphIndexPolicyArgs(\n automatic=True,\n indexing_mode=\"Consistent\",\n included_paths=[\"/*\"],\n excluded_paths=[\"/\\\"_etag\\\"/?\"],\n )],\n conflict_resolution_policies=[azure.cosmosdb.GremlinGraphConflictResolutionPolicyArgs(\n mode=\"LastWriterWins\",\n conflict_resolution_path=\"/_ts\",\n )],\n unique_keys=[azure.cosmosdb.GremlinGraphUniqueKeyArgs(\n paths=[\n \"/definition/id1\",\n \"/definition/id2\",\n ],\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleGremlinDatabase = new Azure.CosmosDB.GremlinDatabase(\"exampleGremlinDatabase\", new Azure.CosmosDB.GremlinDatabaseArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n });\n var exampleGremlinGraph = new Azure.CosmosDB.GremlinGraph(\"exampleGremlinGraph\", new Azure.CosmosDB.GremlinGraphArgs\n {\n ResourceGroupName = azurerm_cosmosdb_account.Example.Resource_group_name,\n AccountName = azurerm_cosmosdb_account.Example.Name,\n DatabaseName = exampleGremlinDatabase.Name,\n PartitionKeyPath = \"/Example\",\n Throughput = 400,\n IndexPolicies = \n {\n new Azure.CosmosDB.Inputs.GremlinGraphIndexPolicyArgs\n {\n Automatic = true,\n IndexingMode = \"Consistent\",\n IncludedPaths = \n {\n \"/*\",\n },\n ExcludedPaths = \n {\n \"/\\\"_etag\\\"/?\",\n },\n },\n },\n ConflictResolutionPolicies = \n {\n new Azure.CosmosDB.Inputs.GremlinGraphConflictResolutionPolicyArgs\n {\n Mode = \"LastWriterWins\",\n ConflictResolutionPath = \"/_ts\",\n },\n },\n UniqueKeys = \n {\n new Azure.CosmosDB.Inputs.GremlinGraphUniqueKeyArgs\n {\n Paths = \n {\n \"/definition/id1\",\n \"/definition/id2\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleGremlinDatabase\", \u0026cosmosdb.GremlinDatabaseArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(exampleAccount.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewGremlinGraph(ctx, \"exampleGremlinGraph\", \u0026cosmosdb.GremlinGraphArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_cosmosdb_account.Example.Resource_group_name),\n\t\t\tAccountName: pulumi.Any(azurerm_cosmosdb_account.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\tIndexPolicies: cosmosdb.GremlinGraphIndexPolicyArray{\n\t\t\t\t\u0026cosmosdb.GremlinGraphIndexPolicyArgs{\n\t\t\t\t\tAutomatic: pulumi.Bool(true),\n\t\t\t\t\tIndexingMode: pulumi.String(\"Consistent\"),\n\t\t\t\t\tIncludedPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/*\"),\n\t\t\t\t\t},\n\t\t\t\t\tExcludedPaths: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/\\\"_etag\\\"/?\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tConflictResolutionPolicies: cosmosdb.GremlinGraphConflictResolutionPolicyArray{\n\t\t\t\t\u0026cosmosdb.GremlinGraphConflictResolutionPolicyArgs{\n\t\t\t\t\tMode: pulumi.String(\"LastWriterWins\"),\n\t\t\t\t\tConflictResolutionPath: pulumi.String(\"/_ts\"),\n\t\t\t\t},\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\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 `capabilities` list within the `azure.cosmosdb.Account` resource.\n{{% /example %}}\n{{% /examples %}}", "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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply. Requires `partition_key_path` to be set.\n" }, "conflictResolutionPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy" }, "description": "The conflict resolution policy for the graph. One or more `conflict_resolution_policy` 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" }, "indexPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy" }, "description": "The configuration of the indexing policy. One or more `index_policy` blocks as defined below. Changing this forces a new resource to be created.\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" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply.\n" }, "uniqueKeys": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey" }, "description": "One or more `unique_key` blocks as defined below. Changing this forces a new resource to be created.\n" } }, "required": [ "accountName", "conflictResolutionPolicies", "databaseName", "indexPolicies", "name", "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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply. Requires `partition_key_path` to be set.\n" }, "conflictResolutionPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy" }, "description": "The conflict resolution policy for the graph. One or more `conflict_resolution_policy` 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" }, "indexPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy" }, "description": "The configuration of the indexing policy. One or more `index_policy` blocks as defined below. Changing this forces a new resource to be created.\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" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply.\n" }, "uniqueKeys": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey" }, "description": "One or more `unique_key` blocks as defined below. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "accountName", "conflictResolutionPolicies", "databaseName", "indexPolicies", "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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/GremlinGraphAutoscaleSettings:GremlinGraphAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply. Requires `partition_key_path` to be set.\n" }, "conflictResolutionPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphConflictResolutionPolicy:GremlinGraphConflictResolutionPolicy" }, "description": "The conflict resolution policy for the graph. One or more `conflict_resolution_policy` 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" }, "indexPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphIndexPolicy:GremlinGraphIndexPolicy" }, "description": "The configuration of the indexing policy. One or more `index_policy` blocks as defined below. Changing this forces a new resource to be created.\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" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply.\n" }, "uniqueKeys": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/GremlinGraphUniqueKey:GremlinGraphUniqueKey" }, "description": "One or more `unique_key` blocks as defined below. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:cosmosdb/mongoCollection:MongoCollection": { "description": "Manages a Mongo Collection within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleMongoDatabase = new azure.cosmosdb.MongoDatabase(\"exampleMongoDatabase\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n});\nconst exampleMongoCollection = new azure.cosmosdb.MongoCollection(\"exampleMongoCollection\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n databaseName: exampleMongoDatabase.name,\n defaultTtlSeconds: \"777\",\n shardKey: \"uniqueKey\",\n throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_mongo_database = azure.cosmosdb.MongoDatabase(\"exampleMongoDatabase\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name)\nexample_mongo_collection = azure.cosmosdb.MongoCollection(\"exampleMongoCollection\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n database_name=example_mongo_database.name,\n default_ttl_seconds=777,\n shard_key=\"uniqueKey\",\n throughput=400)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleMongoDatabase = new Azure.CosmosDB.MongoDatabase(\"exampleMongoDatabase\", new Azure.CosmosDB.MongoDatabaseArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n });\n var exampleMongoCollection = new Azure.CosmosDB.MongoCollection(\"exampleMongoCollection\", new Azure.CosmosDB.MongoCollectionArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n DatabaseName = exampleMongoDatabase.Name,\n DefaultTtlSeconds = 777,\n ShardKey = \"uniqueKey\",\n Throughput = 400,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleMongoDatabase\", \u0026cosmosdb.MongoDatabaseArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(exampleAccount.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewMongoCollection(ctx, \"exampleMongoCollection\", \u0026cosmosdb.MongoCollectionArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(exampleAccount.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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accountName": { "type": "string" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply. Requires `shard_key` to be set.\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` or `0`, items are not automatically expired.\n" }, "indices": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex" }, "description": "One or more `index` 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.\n" }, "systemIndexes": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/MongoCollectionSystemIndex:MongoCollectionSystemIndex" }, "description": "One or more `system_indexes` blocks as defined below.\n" }, "throughput": { "type": "integer", "description": "The throughput of the MongoDB collection (RU/s). Must be set in increments of `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply.\n" } }, "required": [ "accountName", "databaseName", "name", "resourceGroupName", "systemIndexes", "throughput" ], "inputProperties": { "accountName": { "type": "string" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply. Requires `shard_key` to be set.\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` or `0`, items are not automatically expired.\n" }, "indices": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex" }, "description": "One or more `index` 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.\n" }, "throughput": { "type": "integer", "description": "The throughput of the MongoDB collection (RU/s). Must be set in increments of `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply.\n" } }, "requiredInputs": [ "accountName", "databaseName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering MongoCollection resources.\n", "properties": { "accountName": { "type": "string" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/MongoCollectionAutoscaleSettings:MongoCollectionAutoscaleSettings", "description": "An `autoscale_settings` block as defined below. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply. Requires `shard_key` to be set.\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` or `0`, items are not automatically expired.\n" }, "indices": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/MongoCollectionIndex:MongoCollectionIndex" }, "description": "One or more `index` 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.\n" }, "systemIndexes": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/MongoCollectionSystemIndex:MongoCollectionSystemIndex" }, "description": "One or more `system_indexes` blocks as defined below.\n" }, "throughput": { "type": "integer", "description": "The throughput of the MongoDB collection (RU/s). Must be set in increments of `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual manual destroy-apply.\n" } }, "type": "object" } }, "azure:cosmosdb/mongoDatabase:MongoDatabase": { "description": "Manages a Mongo Database within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleMongoDatabase = new azure.cosmosdb.MongoDatabase(\"exampleMongoDatabase\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_mongo_database = azure.cosmosdb.MongoDatabase(\"exampleMongoDatabase\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n throughput=400)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleMongoDatabase = new Azure.CosmosDB.MongoDatabase(\"exampleMongoDatabase\", new Azure.CosmosDB.MongoDatabaseArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n Throughput = 400,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleMongoDatabase\", \u0026cosmosdb.MongoDatabaseArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(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{{% /example %}}\n{{% /examples %}}", "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" }, "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 `100`. The minimum value is `400`. 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 Mongo Database to create the table within. Changing this forces a new resource to be created.\n" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/MongoDatabaseAutoscaleSettings:MongoDatabaseAutoscaleSettings" }, "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 `100`. The minimum value is `400`. 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 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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/MongoDatabaseAutoscaleSettings:MongoDatabaseAutoscaleSettings" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n" } }, "type": "object" } }, "azure:cosmosdb/sqlContainer:SqlContainer": { "description": "Manages a SQL Container within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.cosmosdb.SqlContainer(\"example\", {\n resourceGroupName: azurerm_cosmosdb_account.example.resource_group_name,\n accountName: azurerm_cosmosdb_account.example.name,\n databaseName: azurerm_cosmosdb_sql_database.example.name,\n partitionKeyPath: \"/definition/id\",\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.SqlContainer(\"example\",\n resource_group_name=azurerm_cosmosdb_account[\"example\"][\"resource_group_name\"],\n account_name=azurerm_cosmosdb_account[\"example\"][\"name\"],\n database_name=azurerm_cosmosdb_sql_database[\"example\"][\"name\"],\n partition_key_path=\"/definition/id\",\n throughput=400,\n indexing_policy=azure.cosmosdb.SqlContainerIndexingPolicyArgs(\n indexing_mode=\"Consistent\",\n included_paths=[\n azure.cosmosdb.SqlContainerIndexingPolicyIncludedPathArgs(\n path=\"/*\",\n ),\n azure.cosmosdb.SqlContainerIndexingPolicyIncludedPathArgs(\n path=\"/included/?\",\n ),\n ],\n excluded_paths=[azure.cosmosdb.SqlContainerIndexingPolicyExcludedPathArgs(\n path=\"/excluded/?\",\n )],\n ),\n unique_keys=[azure.cosmosdb.SqlContainerUniqueKeyArgs(\n paths=[\n \"/definition/idlong\",\n \"/definition/idshort\",\n ],\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.CosmosDB.SqlContainer(\"example\", new Azure.CosmosDB.SqlContainerArgs\n {\n ResourceGroupName = azurerm_cosmosdb_account.Example.Resource_group_name,\n AccountName = azurerm_cosmosdb_account.Example.Name,\n DatabaseName = azurerm_cosmosdb_sql_database.Example.Name,\n PartitionKeyPath = \"/definition/id\",\n Throughput = 400,\n IndexingPolicy = new Azure.CosmosDB.Inputs.SqlContainerIndexingPolicyArgs\n {\n IndexingMode = \"Consistent\",\n IncludedPaths = \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 = \n {\n new Azure.CosmosDB.Inputs.SqlContainerIndexingPolicyExcludedPathArgs\n {\n Path = \"/excluded/?\",\n },\n },\n },\n UniqueKeys = \n {\n new Azure.CosmosDB.Inputs.SqlContainerUniqueKeyArgs\n {\n Paths = \n {\n \"/definition/idlong\",\n \"/definition/idshort\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cosmosdb.NewSqlContainer(ctx, \"example\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_cosmosdb_account.Example.Resource_group_name),\n\t\t\tAccountName: pulumi.Any(azurerm_cosmosdb_account.Example.Name),\n\t\t\tDatabaseName: pulumi.Any(azurerm_cosmosdb_sql_database.Example.Name),\n\t\t\tPartitionKeyPath: pulumi.String(\"/definition/id\"),\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{{% /example %}}\n{{% /examples %}}", "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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings" }, "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 `n` – items will expire `n` seconds after their last modified time.\n" }, "indexingPolicy": { "$ref": "#/types/azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy", "description": "An `indexing_policy` 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" }, "partitionKeyPath": { "type": "string", "description": "Define a partition key. 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 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 `100`. The minimum value is `400`. 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 `unique_key` blocks as defined below. Changing this forces a new resource to be created.\n" } }, "required": [ "accountName", "databaseName", "defaultTtl", "indexingPolicy", "name", "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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings" }, "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 `n` – items will expire `n` seconds after their last modified time.\n" }, "indexingPolicy": { "$ref": "#/types/azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy", "description": "An `indexing_policy` 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" }, "partitionKeyPath": { "type": "string", "description": "Define a partition key. 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 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 `100`. The minimum value is `400`. 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 `unique_key` blocks as defined below. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "accountName", "databaseName", "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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/SqlContainerAutoscaleSettings:SqlContainerAutoscaleSettings" }, "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 `n` – items will expire `n` seconds after their last modified time.\n" }, "indexingPolicy": { "$ref": "#/types/azure:cosmosdb/SqlContainerIndexingPolicy:SqlContainerIndexingPolicy", "description": "An `indexing_policy` 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" }, "partitionKeyPath": { "type": "string", "description": "Define a partition key. 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 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 `100`. The minimum value is `400`. 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 `unique_key` blocks as defined below. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:cosmosdb/sqlDatabase:SqlDatabase": { "description": "Manages a SQL Database within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"exampleSqlDatabase\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"exampleSqlDatabase\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n throughput=400)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"exampleSqlDatabase\", new Azure.CosmosDB.SqlDatabaseArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n Throughput = 400,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleSqlDatabase\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(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{{% /example %}}\n{{% /examples %}}", "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" }, "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 `100`. The minimum value is `400`. 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 SQL Database to create the table within. Changing this forces a new resource to be created.\n" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/SqlDatabaseAutoscaleSettings:SqlDatabaseAutoscaleSettings" }, "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 `100`. The minimum value is `400`. 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 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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/SqlDatabaseAutoscaleSettings:SqlDatabaseAutoscaleSettings" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n" } }, "type": "object" } }, "azure:cosmosdb/sqlStoredProcedure:SqlStoredProcedure": { "description": "Manages a SQL Stored Procedure within a Cosmos DB Account SQL Database.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleSqlDatabase = new azure.cosmosdb.SqlDatabase(\"exampleSqlDatabase\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n throughput: 400,\n});\nconst exampleSqlContainer = new azure.cosmosdb.SqlContainer(\"exampleSqlContainer\", {\n resourceGroupName: azurerm_cosmosdb_account.example.resource_group_name,\n accountName: azurerm_cosmosdb_account.example.name,\n databaseName: exampleSqlDatabase.name,\n partitionKeyPath: \"/id\",\n});\nconst exampleSqlStoredProcedure = new azure.cosmosdb.SqlStoredProcedure(\"exampleSqlStoredProcedure\", {\n resourceGroupName: azurerm_cosmosdb_account.example.resource_group_name,\n accountName: azurerm_cosmosdb_account.example.name,\n databaseName: exampleSqlDatabase.name,\n containerName: exampleSqlContainer.name,\n body: \" \tfunction () { 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_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_sql_database = azure.cosmosdb.SqlDatabase(\"exampleSqlDatabase\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n throughput=400)\nexample_sql_container = azure.cosmosdb.SqlContainer(\"exampleSqlContainer\",\n resource_group_name=azurerm_cosmosdb_account[\"example\"][\"resource_group_name\"],\n account_name=azurerm_cosmosdb_account[\"example\"][\"name\"],\n database_name=example_sql_database.name,\n partition_key_path=\"/id\")\nexample_sql_stored_procedure = azure.cosmosdb.SqlStoredProcedure(\"exampleSqlStoredProcedure\",\n resource_group_name=azurerm_cosmosdb_account[\"example\"][\"resource_group_name\"],\n account_name=azurerm_cosmosdb_account[\"example\"][\"name\"],\n database_name=example_sql_database.name,\n container_name=example_sql_container.name,\n body=\" \tfunction () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\\n\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase(\"exampleSqlDatabase\", new Azure.CosmosDB.SqlDatabaseArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n Throughput = 400,\n });\n var exampleSqlContainer = new Azure.CosmosDB.SqlContainer(\"exampleSqlContainer\", new Azure.CosmosDB.SqlContainerArgs\n {\n ResourceGroupName = azurerm_cosmosdb_account.Example.Resource_group_name,\n AccountName = azurerm_cosmosdb_account.Example.Name,\n DatabaseName = exampleSqlDatabase.Name,\n PartitionKeyPath = \"/id\",\n });\n var exampleSqlStoredProcedure = new Azure.CosmosDB.SqlStoredProcedure(\"exampleSqlStoredProcedure\", new Azure.CosmosDB.SqlStoredProcedureArgs\n {\n ResourceGroupName = azurerm_cosmosdb_account.Example.Resource_group_name,\n AccountName = azurerm_cosmosdb_account.Example.Name,\n DatabaseName = exampleSqlDatabase.Name,\n ContainerName = exampleSqlContainer.Name,\n Body = @\" \tfunction () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\n\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleSqlDatabase\", \u0026cosmosdb.SqlDatabaseArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(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, \"exampleSqlContainer\", \u0026cosmosdb.SqlContainerArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_cosmosdb_account.Example.Resource_group_name),\n\t\t\tAccountName: pulumi.Any(azurerm_cosmosdb_account.Example.Name),\n\t\t\tDatabaseName: exampleSqlDatabase.Name,\n\t\t\tPartitionKeyPath: pulumi.String(\"/id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cosmosdb.NewSqlStoredProcedure(ctx, \"exampleSqlStoredProcedure\", \u0026cosmosdb.SqlStoredProcedureArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_cosmosdb_account.Example.Resource_group_name),\n\t\t\tAccountName: pulumi.Any(azurerm_cosmosdb_account.Example.Name),\n\t\t\tDatabaseName: exampleSqlDatabase.Name,\n\t\t\tContainerName: exampleSqlContainer.Name,\n\t\t\tBody: pulumi.String(\" \tfunction () { 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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:cosmosdb/table:Table": { "description": "Manages a Table within a Cosmos DB Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.cosmosdb.getAccount({\n name: \"tfex-cosmosdb-account\",\n resourceGroupName: \"tfex-cosmosdb-account-rg\",\n});\nconst exampleTable = new azure.cosmosdb.Table(\"exampleTable\", {\n resourceGroupName: exampleAccount.then(exampleAccount =\u003e exampleAccount.resourceGroupName),\n accountName: exampleAccount.then(exampleAccount =\u003e exampleAccount.name),\n throughput: 400,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.cosmosdb.get_account(name=\"tfex-cosmosdb-account\",\n resource_group_name=\"tfex-cosmosdb-account-rg\")\nexample_table = azure.cosmosdb.Table(\"exampleTable\",\n resource_group_name=example_account.resource_group_name,\n account_name=example_account.name,\n throughput=400)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n var exampleTable = new Azure.CosmosDB.Table(\"exampleTable\", new Azure.CosmosDB.TableArgs\n {\n ResourceGroupName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.ResourceGroupName),\n AccountName = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Name),\n Throughput = 400,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAccount, 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, \"exampleTable\", \u0026cosmosdb.TableArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleAccount.ResourceGroupName),\n\t\t\tAccountName: pulumi.String(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{{% /example %}}\n{{% /examples %}}", "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" }, "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 `100`. The minimum value is `400`. 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 Table to create the table within. Changing this forces a new resource to be created.\n" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings" }, "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 `100`. The minimum value is `400`. 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 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" }, "autoscaleSettings": { "$ref": "#/types/azure:cosmosdb/TableAutoscaleSettings:TableAutoscaleSettings" }, "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 `100`. The minimum value is `400`. This must be set upon database creation otherwise it cannot be updated without a manual resource destroy-apply.\n" } }, "type": "object" } }, "azure:costmanagement/resourceGroupExport:ResourceGroupExport": { "description": "Manages an Azure Cost Management Export for a Resource Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleResourceGroupExport = new azure.costmanagement.ResourceGroupExport(\"exampleResourceGroupExport\", {\n resourceGroupId: exampleResourceGroup.id,\n recurrenceType: \"Monthly\",\n recurrencePeriodStart: \"2020-08-18T00:00:00Z\",\n recurrencePeriodEnd: \"2020-09-18T00:00:00Z\",\n deliveryInfo: {\n storageAccountId: exampleAccount.id,\n containerName: \"examplecontainer\",\n rootFolderPath: \"/root/updated\",\n },\n query: {\n type: \"Usage\",\n timeFrame: \"WeekToDate\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_account = azure.storage.Account(\"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_resource_group_export = azure.costmanagement.ResourceGroupExport(\"exampleResourceGroupExport\",\n resource_group_id=example_resource_group.id,\n recurrence_type=\"Monthly\",\n recurrence_period_start=\"2020-08-18T00:00:00Z\",\n recurrence_period_end=\"2020-09-18T00:00:00Z\",\n delivery_info=azure.costmanagement.ResourceGroupExportDeliveryInfoArgs(\n storage_account_id=example_account.id,\n container_name=\"examplecontainer\",\n root_folder_path=\"/root/updated\",\n ),\n query=azure.costmanagement.ResourceGroupExportQueryArgs(\n type=\"Usage\",\n time_frame=\"WeekToDate\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleResourceGroupExport = new Azure.CostManagement.ResourceGroupExport(\"exampleResourceGroupExport\", new Azure.CostManagement.ResourceGroupExportArgs\n {\n ResourceGroupId = exampleResourceGroup.Id,\n RecurrenceType = \"Monthly\",\n RecurrencePeriodStart = \"2020-08-18T00:00:00Z\",\n RecurrencePeriodEnd = \"2020-09-18T00:00:00Z\",\n DeliveryInfo = new Azure.CostManagement.Inputs.ResourceGroupExportDeliveryInfoArgs\n {\n StorageAccountId = exampleAccount.Id,\n ContainerName = \"examplecontainer\",\n RootFolderPath = \"/root/updated\",\n },\n Query = new Azure.CostManagement.Inputs.ResourceGroupExportQueryArgs\n {\n Type = \"Usage\",\n TimeFrame = \"WeekToDate\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/costmanagement\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = costmanagement.NewResourceGroupExport(ctx, \"exampleResourceGroupExport\", \u0026costmanagement.ResourceGroupExportArgs{\n\t\t\tResourceGroupId: exampleResourceGroup.ID(),\n\t\t\tRecurrenceType: pulumi.String(\"Monthly\"),\n\t\t\tRecurrencePeriodStart: pulumi.String(\"2020-08-18T00:00:00Z\"),\n\t\t\tRecurrencePeriodEnd: pulumi.String(\"2020-09-18T00:00:00Z\"),\n\t\t\tDeliveryInfo: \u0026costmanagement.ResourceGroupExportDeliveryInfoArgs{\n\t\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\t\tContainerName: pulumi.String(\"examplecontainer\"),\n\t\t\t\tRootFolderPath: pulumi.String(\"/root/updated\"),\n\t\t\t},\n\t\t\tQuery: \u0026costmanagement.ResourceGroupExportQueryArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "active": { "type": "boolean", "description": "Is the cost management export active? Default is `true`.\n" }, "deliveryInfo": { "$ref": "#/types/azure:costmanagement/ResourceGroupExportDeliveryInfo:ResourceGroupExportDeliveryInfo", "description": "A `delivery_info` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n" }, "query": { "$ref": "#/types/azure:costmanagement/ResourceGroupExportQuery:ResourceGroupExportQuery", "description": "A `query` block as defined below.\n" }, "recurrencePeriodEnd": { "type": "string", "description": "The date the export will stop capturing information.\n" }, "recurrencePeriodStart": { "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 in which to export information.\n" } }, "required": [ "deliveryInfo", "name", "query", "recurrencePeriodEnd", "recurrencePeriodStart", "recurrenceType", "resourceGroupId" ], "inputProperties": { "active": { "type": "boolean", "description": "Is the cost management export active? Default is `true`.\n" }, "deliveryInfo": { "$ref": "#/types/azure:costmanagement/ResourceGroupExportDeliveryInfo:ResourceGroupExportDeliveryInfo", "description": "A `delivery_info` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n" }, "query": { "$ref": "#/types/azure:costmanagement/ResourceGroupExportQuery:ResourceGroupExportQuery", "description": "A `query` block as defined below.\n" }, "recurrencePeriodEnd": { "type": "string", "description": "The date the export will stop capturing information.\n" }, "recurrencePeriodStart": { "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 in which to export information.\n" } }, "requiredInputs": [ "deliveryInfo", "query", "recurrencePeriodEnd", "recurrencePeriodStart", "recurrenceType", "resourceGroupId" ], "stateInputs": { "description": "Input properties used for looking up and filtering ResourceGroupExport resources.\n", "properties": { "active": { "type": "boolean", "description": "Is the cost management export active? Default is `true`.\n" }, "deliveryInfo": { "$ref": "#/types/azure:costmanagement/ResourceGroupExportDeliveryInfo:ResourceGroupExportDeliveryInfo", "description": "A `delivery_info` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Cost Management Export. Changing this forces a new resource to be created.\n" }, "query": { "$ref": "#/types/azure:costmanagement/ResourceGroupExportQuery:ResourceGroupExportQuery", "description": "A `query` block as defined below.\n" }, "recurrencePeriodEnd": { "type": "string", "description": "The date the export will stop capturing information.\n" }, "recurrencePeriodStart": { "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 in which to export information.\n" } }, "type": "object" } }, "azure:dashboard/dashboard:Dashboard": { "description": "Manages a shared dashboard in the Azure Portal.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\nconst mdContent = config.get(\"mdContent\") || \"# Hello all :)\";\nconst videoLink = config.get(\"videoLink\") || \"https://www.youtube.com/watch?v=......\";\nconst current = azure.core.getSubscription({});\nconst my_group = new azure.core.ResourceGroup(\"my-group\", {location: \"uksouth\"});\nconst my_board = new azure.dashboard.Dashboard(\"my-board\", {\n resourceGroupName: my_group.name,\n location: my_group.location,\n tags: {\n source: \"managed\",\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()\nmd_content = config.get(\"mdContent\")\nif md_content is None:\n md_content = \"# Hello all :)\"\nvideo_link = config.get(\"videoLink\")\nif video_link is None:\n video_link = \"https://www.youtube.com/watch?v=......\"\ncurrent = azure.core.get_subscription()\nmy_group = azure.core.ResourceGroup(\"my-group\", location=\"uksouth\")\nmy_board = azure.dashboard.Dashboard(\"my-board\",\n resource_group_name=my_group.name,\n location=my_group.location,\n tags={\n \"source\": \"managed\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var mdContent = config.Get(\"mdContent\") ?? \"# Hello all :)\";\n var videoLink = config.Get(\"videoLink\") ?? \"https://www.youtube.com/watch?v=......\";\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var my_group = new Azure.Core.ResourceGroup(\"my-group\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"uksouth\",\n });\n var my_board = new Azure.Dashboard.Dashboard(\"my-board\", new Azure.Dashboard.DashboardArgs\n {\n ResourceGroupName = my_group.Name,\n Location = my_group.Location,\n Tags = \n {\n { \"source\", \"managed\" },\n },\n DashboardProperties = current.Apply(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\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dashboard\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = core.NewResourceGroup(ctx, \"my_group\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"uksouth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dashboard.NewDashboard(ctx, \"my_board\", \u0026dashboard.DashboardArgs{\n\t\t\tResourceGroupName: my_group.Name,\n\t\t\tLocation: my_group.Location,\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"source\": pulumi.String(\"managed\"),\n\t\t\t},\n\t\t\tDashboardProperties: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\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\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\nIt is recommended to follow the steps outlined\n[here](https://docs.microsoft.com/en-us/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{{% /example %}}\n{{% /examples %}}", "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. This should be be 64 chars max, only alphanumeric and hyphens (no spaces). For a more friendly display name, add the `hidden-title` tag.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the dashboard.\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" }, "name": { "type": "string", "description": "Specifies the name of the Shared Dashboard. This should be be 64 chars max, only alphanumeric and hyphens (no spaces). For a more friendly display name, add the `hidden-title` tag.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the dashboard.\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 Dashboard 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" }, "name": { "type": "string", "description": "Specifies the name of the Shared Dashboard. This should be be 64 chars max, only alphanumeric and hyphens (no spaces). For a more friendly display name, add the `hidden-title` tag.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the dashboard.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleService = new azure.databasemigration.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n virtualSubnetId: exampleSubnet.id,\n skuName: \"Standard_1vCores\",\n});\nconst exampleProject = new azure.databasemigration.Project(\"exampleProject\", {\n serviceName: exampleService.name,\n resourceGroupName: exampleResourceGroup.name,\n location: zurerm_resource_group.example.location,\n sourcePlatform: \"SQL\",\n targetPlatform: \"SQLDB\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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. Currently only support: `SQL`(on-premises SQL Server). 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. Currently only support: `SQLDB`(Azure SQL Database). 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" }, "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. Currently only support: `SQL`(on-premises SQL Server). 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. Currently only support: `SQLDB`(Azure SQL Database). Changing this forces a new resource to be created.\n" } }, "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" }, "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. Currently only support: `SQL`(on-premises SQL Server). 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. Currently only support: `SQLDB`(Azure SQL Database). Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleService = new azure.databasemigration.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n subnetId: exampleSubnet.id,\n skuName: \"Standard_1vCores\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_service = azure.databasemigration.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n subnet_id=example_subnet.id,\n sku_name=\"Standard_1vCores\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleService = new Azure.DatabaseMigration.Service(\"exampleService\", new Azure.DatabaseMigration.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SubnetId = exampleSubnet.Id,\n SkuName = \"Standard_1vCores\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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 = databasemigration.NewService(ctx, \"exampleService\", \u0026databasemigration.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:databricks/workspace:Workspace": { "description": "Manages a Databricks Workspace\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleWorkspace = new azure.databricks.Workspace(\"exampleWorkspace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: \"standard\",\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_workspace = azure.databricks.Workspace(\"exampleWorkspace\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=\"standard\",\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleWorkspace = new Azure.DataBricks.Workspace(\"exampleWorkspace\", new Azure.DataBricks.WorkspaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = \"standard\",\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = databricks.NewWorkspace(ctx, \"exampleWorkspace\", \u0026databricks.WorkspaceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "customParameters": { "$ref": "#/types/azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters", "description": "A `custom_parameters` block as documented 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" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Databricks Workspace 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 Workspace should exist. Changing this forces a new resource to be created.\n" }, "sku": { "type": "string", "description": "The `sku` to use for the Databricks Workspace. Possible values are `standard`, `premium`, or `trial`. 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" }, "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", "location", "managedResourceGroupId", "managedResourceGroupName", "name", "resourceGroupName", "sku", "workspaceId", "workspaceUrl" ], "inputProperties": { "customParameters": { "$ref": "#/types/azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters", "description": "A `custom_parameters` block as documented 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" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Databricks Workspace 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 Workspace should exist. Changing this forces a new resource to be created.\n" }, "sku": { "type": "string", "description": "The `sku` to use for the Databricks Workspace. Possible values are `standard`, `premium`, or `trial`. 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" } }, "requiredInputs": [ "resourceGroupName", "sku" ], "stateInputs": { "description": "Input properties used for looking up and filtering Workspace resources.\n", "properties": { "customParameters": { "$ref": "#/types/azure:databricks/WorkspaceCustomParameters:WorkspaceCustomParameters", "description": "A `custom_parameters` block as documented 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" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Databricks Workspace 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 Workspace should exist. Changing this forces a new resource to be created.\n" }, "sku": { "type": "string", "description": "The `sku` to use for the Databricks Workspace. Possible values are `standard`, `premium`, or `trial`. 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" }, "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:datafactory/datasetAzureBlob:DatasetAzureBlob": { "description": "Manages an Azure Blob Dataset inside an Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleAccount = exampleResourceGroup.name.apply(name =\u003e azure.storage.getAccount({\n name: \"storageaccountname\",\n resourceGroupName: name,\n}));\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureBlobStorage = new azure.datafactory.LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n connectionString: exampleAccount.primaryConnectionString,\n});\nconst exampleDatasetAzureBlob = new azure.datafactory.DatasetAzureBlob(\"exampleDatasetAzureBlob\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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(\"exampleResourceGroup\", location=\"northeurope\")\nexample_account = example_resource_group.name.apply(lambda name: azure.storage.get_account(name=\"storageaccountname\",\n resource_group_name=name))\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_azure_blob_storage = azure.datafactory.LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=example_account.primary_connection_string)\nexample_dataset_azure_blob = azure.datafactory.DatasetAzureBlob(\"exampleDatasetAzureBlob\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n linked_service_name=example_linked_service_azure_blob_storage.name,\n path=\"foo\",\n filename=\"bar.png\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleAccount = exampleResourceGroup.Name.Apply(name =\u003e Azure.Storage.GetAccount.InvokeAsync(new Azure.Storage.GetAccountArgs\n {\n Name = \"storageaccountname\",\n ResourceGroupName = name,\n }));\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceAzureBlobStorage = new Azure.DataFactory.LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\", new Azure.DataFactory.LinkedServiceAzureBlobStorageArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.PrimaryConnectionString),\n });\n var exampleDatasetAzureBlob = new Azure.DataFactory.DatasetAzureBlob(\"exampleDatasetAzureBlob\", new Azure.DataFactory.DatasetAzureBlobArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n LinkedServiceName = exampleLinkedServiceAzureBlobStorage.Name,\n Path = \"foo\",\n Filename = \"bar.png\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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, \"exampleLinkedServiceAzureBlobStorage\", \u0026datafactory.LinkedServiceAzureBlobStorageArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\n\t\t\tConnectionString: exampleAccount.ApplyT(func(exampleAccount storage.LookupAccountResult) (string, error) {\n\t\t\t\treturn exampleAccount.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.NewDatasetAzureBlob(ctx, \"exampleDatasetAzureBlob\", \u0026datafactory.DatasetAzureBlobArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Dataset.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetAzureBlobSchemaColumn:DatasetAzureBlobSchemaColumn" }, "description": "A `schema_column` 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", "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" }, "collectionName": { "type": "string", "description": "The collection name of the Data Factory Dataset Azure Cosmos DB SQL API.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "collectionName": { "type": "string", "description": "The collection name of the Data Factory Dataset Azure Cosmos DB SQL API.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetCosmosDBApiSchemaColumn:DatasetCosmosDBApiSchemaColumn" }, "description": "A `schema_column` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n authenticationType: \"Anonymous\",\n url: \"https://www.bing.com\",\n});\nconst exampleDatasetDelimitedText = new azure.datafactory.DatasetDelimitedText(\"exampleDatasetDelimitedText\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n authentication_type=\"Anonymous\",\n url=\"https://www.bing.com\")\nexample_dataset_delimited_text = azure.datafactory.DatasetDelimitedText(\"exampleDatasetDelimitedText\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n linked_service_name=example_linked_service_web.name,\n http_server_location=azure.datafactory.DatasetDelimitedTextHttpServerLocationArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", new Azure.DataFactory.LinkedServiceWebArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n AuthenticationType = \"Anonymous\",\n Url = \"https://www.bing.com\",\n });\n var exampleDatasetDelimitedText = new Azure.DataFactory.DatasetDelimitedText(\"exampleDatasetDelimitedText\", new Azure.DataFactory.DatasetDelimitedTextArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\texampleLinkedServiceWeb, err := datafactory.NewLinkedServiceWeb(ctx, \"exampleLinkedServiceWeb\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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, \"exampleDatasetDelimitedText\", \u0026datafactory.DatasetDelimitedTextArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "azureBlobStorageLocation": { "$ref": "#/types/azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation", "description": "A `azure_blob_storage_location` block as defined below.\n" }, "columnDelimiter": { "type": "string", "description": "The column delimiter.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "encoding": { "type": "string", "description": "The encoding format for the file.\n" }, "escapeCharacter": { "type": "string", "description": "The escape character.\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.\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 `http_server_location` 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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "nullValue": { "type": "string", "description": "The null value string.\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.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "rowDelimiter": { "type": "string", "description": "The row delimiter.\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "azureBlobStorageLocation": { "$ref": "#/types/azure:datafactory/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation", "description": "A `azure_blob_storage_location` block as defined below.\n" }, "columnDelimiter": { "type": "string", "description": "The column delimiter.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "encoding": { "type": "string", "description": "The encoding format for the file.\n" }, "escapeCharacter": { "type": "string", "description": "The escape character.\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.\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 `http_server_location` 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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "nullValue": { "type": "string", "description": "The null value string.\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.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "rowDelimiter": { "type": "string", "description": "The row delimiter.\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "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/DatasetDelimitedTextAzureBlobStorageLocation:DatasetDelimitedTextAzureBlobStorageLocation", "description": "A `azure_blob_storage_location` block as defined below.\n" }, "columnDelimiter": { "type": "string", "description": "The column delimiter.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "encoding": { "type": "string", "description": "The encoding format for the file.\n" }, "escapeCharacter": { "type": "string", "description": "The escape character.\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.\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 `http_server_location` 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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "nullValue": { "type": "string", "description": "The null value string.\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.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "rowDelimiter": { "type": "string", "description": "The row delimiter.\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetDelimitedTextSchemaColumn:DatasetDelimitedTextSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "type": "object" } }, "azure:datafactory/datasetHttp:DatasetHttp": { "description": "Manages an Azure HTTP Dataset inside an Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n authenticationType: \"Anonymous\",\n url: \"https://www.bing.com\",\n});\nconst exampleDatasetDelimitedText = new azure.datafactory.DatasetDelimitedText(\"exampleDatasetDelimitedText\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n linkedServiceName: exampleLinkedServiceWeb.name,\n url: \"http://www.bing.com\",\n requestBody: \"foo=bar\",\n requestMethod: \"POST\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Dataset.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetHttpSchemaColumn:DatasetHttpSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "type": "object" } }, "azure:datafactory/datasetJson:DatasetJson": { "description": "Manages an Azure JSON Dataset inside an Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n authenticationType: \"Anonymous\",\n url: \"https://www.bing.com\",\n});\nconst exampleDatasetJson = new azure.datafactory.DatasetJson(\"exampleDatasetJson\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n authentication_type=\"Anonymous\",\n url=\"https://www.bing.com\")\nexample_dataset_json = azure.datafactory.DatasetJson(\"exampleDatasetJson\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n linked_service_name=example_linked_service_web.name,\n http_server_location=azure.datafactory.DatasetJsonHttpServerLocationArgs(\n relative_url=\"/fizz/buzz/\",\n path=\"foo/bar/\",\n filename=\"foo.txt\",\n ),\n encoding=\"UTF-8\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", new Azure.DataFactory.LinkedServiceWebArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n AuthenticationType = \"Anonymous\",\n Url = \"https://www.bing.com\",\n });\n var exampleDatasetJson = new Azure.DataFactory.DatasetJson(\"exampleDatasetJson\", new Azure.DataFactory.DatasetJsonArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\texampleLinkedServiceWeb, err := datafactory.NewLinkedServiceWeb(ctx, \"exampleLinkedServiceWeb\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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, \"exampleDatasetJson\", \u0026datafactory.DatasetJsonArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "azureBlobStorageLocation": { "$ref": "#/types/azure:datafactory/DatasetJsonAzureBlobStorageLocation:DatasetJsonAzureBlobStorageLocation", "description": "A `azure_blob_storage_location` block as defined below.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 `http_server_location` 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "azureBlobStorageLocation": { "$ref": "#/types/azure:datafactory/DatasetJsonAzureBlobStorageLocation:DatasetJsonAzureBlobStorageLocation", "description": "A `azure_blob_storage_location` block as defined below.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 `http_server_location` 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "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 `azure_blob_storage_location` block as defined below.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 `http_server_location` 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetJsonSchemaColumn:DatasetJsonSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" } }, "type": "object" } }, "azure:datafactory/datasetMysql:DatasetMysql": { "description": "Manages a MySQL Dataset inside a Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceMysql = new azure.datafactory.LinkedServiceMysql(\"exampleLinkedServiceMysql\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n connectionString: \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n});\nconst exampleDatasetMysql = new azure.datafactory.DatasetMysql(\"exampleDatasetMysql\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n linkedServiceName: exampleLinkedServiceMysql.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_mysql = azure.datafactory.LinkedServiceMysql(\"exampleLinkedServiceMysql\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\")\nexample_dataset_mysql = azure.datafactory.DatasetMysql(\"exampleDatasetMysql\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n linked_service_name=example_linked_service_mysql.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceMysql = new Azure.DataFactory.LinkedServiceMysql(\"exampleLinkedServiceMysql\", new Azure.DataFactory.LinkedServiceMysqlArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n });\n var exampleDatasetMysql = new Azure.DataFactory.DatasetMysql(\"exampleDatasetMysql\", new Azure.DataFactory.DatasetMysqlArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n LinkedServiceName = exampleLinkedServiceMysql.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\texampleLinkedServiceMysql, err := datafactory.NewLinkedServiceMysql(ctx, \"exampleLinkedServiceMysql\", \u0026datafactory.LinkedServiceMysqlArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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, \"exampleDatasetMysql\", \u0026datafactory.DatasetMysqlArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "additionalProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of additional properties to associate with the Data Factory Dataset MySQL.\n" }, "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Dataset MySQL.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset MySQL. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset MySQL.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "inputProperties": { "additionalProperties": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of additional properties to associate with the Data Factory Dataset MySQL.\n" }, "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Dataset MySQL.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset MySQL. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset MySQL.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Dataset MySQL.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset MySQL. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetMysqlSchemaColumn:DatasetMysqlSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset MySQL.\n" } }, "type": "object" } }, "azure:datafactory/datasetPostgresql:DatasetPostgresql": { "description": "Manages a PostgreSQL Dataset inside a Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServicePostgresql = new azure.datafactory.LinkedServicePostgresql(\"exampleLinkedServicePostgresql\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n connectionString: \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n});\nconst exampleDatasetPostgresql = new azure.datafactory.DatasetPostgresql(\"exampleDatasetPostgresql\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n linkedServiceName: exampleLinkedServicePostgresql.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_postgresql = azure.datafactory.LinkedServicePostgresql(\"exampleLinkedServicePostgresql\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\")\nexample_dataset_postgresql = azure.datafactory.DatasetPostgresql(\"exampleDatasetPostgresql\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n linked_service_name=example_linked_service_postgresql.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServicePostgresql = new Azure.DataFactory.LinkedServicePostgresql(\"exampleLinkedServicePostgresql\", new Azure.DataFactory.LinkedServicePostgresqlArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n });\n var exampleDatasetPostgresql = new Azure.DataFactory.DatasetPostgresql(\"exampleDatasetPostgresql\", new Azure.DataFactory.DatasetPostgresqlArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n LinkedServiceName = exampleLinkedServicePostgresql.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\texampleLinkedServicePostgresql, err := datafactory.NewLinkedServicePostgresql(ctx, \"exampleLinkedServicePostgresql\", \u0026datafactory.LinkedServicePostgresqlArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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, \"exampleDatasetPostgresql\", \u0026datafactory.DatasetPostgresqlArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset PostgreSQL. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset PostgreSQL.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset PostgreSQL. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset PostgreSQL.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset PostgreSQL. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetPostgresqlSchemaColumn:DatasetPostgresqlSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset PostgreSQL.\n" } }, "type": "object" } }, "azure:datafactory/datasetSqlServerTable:DatasetSqlServerTable": { "description": "Manages a SQL Server Table Dataset inside a Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceSqlServer = new azure.datafactory.LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n connectionString: \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n});\nconst exampleDatasetSqlServerTable = new azure.datafactory.DatasetSqlServerTable(\"exampleDatasetSqlServerTable\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n linkedServiceName: exampleLinkedServiceSqlServer.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_sql_server = azure.datafactory.LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\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(\"exampleDatasetSqlServerTable\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n linked_service_name=example_linked_service_sql_server.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceSqlServer = new Azure.DataFactory.LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", new Azure.DataFactory.LinkedServiceSqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n });\n var exampleDatasetSqlServerTable = new Azure.DataFactory.DatasetSqlServerTable(\"exampleDatasetSqlServerTable\", new Azure.DataFactory.DatasetSqlServerTableArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n LinkedServiceName = exampleLinkedServiceSqlServer.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\texampleLinkedServiceSqlServer, err := datafactory.NewLinkedServiceSqlServer(ctx, \"exampleLinkedServiceSqlServer\", \u0026datafactory.LinkedServiceSqlServerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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, \"exampleDatasetSqlServerTable\", \u0026datafactory.DatasetSqlServerTableArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset SQL Server Table. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset SQL Server Table.\n" } }, "required": [ "dataFactoryName", "linkedServiceName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset SQL Server Table. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn" }, "description": "A `schema_column` block as defined below.\n" }, "tableName": { "type": "string", "description": "The table name of the Data Factory Dataset SQL Server Table.\n" } }, "requiredInputs": [ "dataFactoryName", "linkedServiceName", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Dataset SQL Server Table. Changing this forces a new resource\n" }, "schemaColumns": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/DatasetSqlServerTableSchemaColumn:DatasetSqlServerTableSchemaColumn" }, "description": "A `schema_column` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "githubConfiguration": { "$ref": "#/types/azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration", "description": "A `github_configuration` block as defined below.\n" }, "identity": { "$ref": "#/types/azure:datafactory/FactoryIdentity:FactoryIdentity", "description": "An `identity` 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" }, "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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory.\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 `vsts_configuration` block as defined below.\n" } }, "required": [ "identity", "location", "name", "resourceGroupName" ], "inputProperties": { "githubConfiguration": { "$ref": "#/types/azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration", "description": "A `github_configuration` block as defined below.\n" }, "identity": { "$ref": "#/types/azure:datafactory/FactoryIdentity:FactoryIdentity", "description": "An `identity` 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" }, "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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory.\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 `vsts_configuration` block as defined below.\n" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Factory resources.\n", "properties": { "githubConfiguration": { "$ref": "#/types/azure:datafactory/FactoryGithubConfiguration:FactoryGithubConfiguration", "description": "A `github_configuration` block as defined below.\n" }, "identity": { "$ref": "#/types/azure:datafactory/FactoryIdentity:FactoryIdentity", "description": "An `identity` 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" }, "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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory.\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 `vsts_configuration` block as defined below.\n" } }, "type": "object" } }, "azure:datafactory/integrationRuntimeManaged:IntegrationRuntimeManaged": { "description": "Manages an Azure Data Factory Managed Integration Runtime.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleIntegrationRuntimeManaged = new azure.datafactory.IntegrationRuntimeManaged(\"exampleIntegrationRuntimeManaged\", {\n dataFactoryName: exampleFactory.name,\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n nodeSize: \"Standard_D8_v3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_integration_runtime_managed = azure.datafactory.IntegrationRuntimeManaged(\"exampleIntegrationRuntimeManaged\",\n data_factory_name=example_factory.name,\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n node_size=\"Standard_D8_v3\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleIntegrationRuntimeManaged = new Azure.DataFactory.IntegrationRuntimeManaged(\"exampleIntegrationRuntimeManaged\", new Azure.DataFactory.IntegrationRuntimeManagedArgs\n {\n DataFactoryName = exampleFactory.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n NodeSize = \"Standard_D8_v3\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewIntegrationRuntimeManaged(ctx, \"exampleIntegrationRuntimeManaged\", \u0026datafactory.IntegrationRuntimeManagedArgs{\n\t\t\tDataFactoryName: exampleFactory.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "catalogInfo": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedCatalogInfo:IntegrationRuntimeManagedCatalogInfo", "description": "A `catalog_info` block as defined below.\n" }, "customSetupScript": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedCustomSetupScript:IntegrationRuntimeManagedCustomSetupScript", "description": "A `custom_setup_script` block as defined below.\n" }, "dataFactoryName": { "type": "string", "description": "Specifies the name of the Data Factory the Managed Integration Runtime belongs to. Changing this forces a new resource to be created.\n" }, "description": { "type": "string" }, "edition": { "type": "string", "description": "The Managed Integration Runtime edition. Valid values are `Standard` and `Enterprise`. Defaults to `Standard`.\n" }, "licenseType": { "type": "string", "description": "The type of the license that is used. Valid values are `LicenseIncluded` and `BasePrize`. 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 `1`. Max is `16`.\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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "nodeSize": { "type": "string", "description": "The size of the nodes on which the Managed 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 Managed Integration Runtime. Max is `10`. Defaults to `1`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Managed Integration Runtime. Changing this forces a new resource to be created.\n" }, "vnetIntegration": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedVnetIntegration:IntegrationRuntimeManagedVnetIntegration", "description": "A `vnet_integration` block as defined below.\n" } }, "required": [ "dataFactoryName", "location", "name", "nodeSize", "resourceGroupName" ], "inputProperties": { "catalogInfo": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedCatalogInfo:IntegrationRuntimeManagedCatalogInfo", "description": "A `catalog_info` block as defined below.\n" }, "customSetupScript": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedCustomSetupScript:IntegrationRuntimeManagedCustomSetupScript", "description": "A `custom_setup_script` block as defined below.\n" }, "dataFactoryName": { "type": "string", "description": "Specifies the name of the Data Factory the Managed Integration Runtime belongs to. Changing this forces a new resource to be created.\n" }, "description": { "type": "string" }, "edition": { "type": "string", "description": "The Managed Integration Runtime edition. Valid values are `Standard` and `Enterprise`. Defaults to `Standard`.\n" }, "licenseType": { "type": "string", "description": "The type of the license that is used. Valid values are `LicenseIncluded` and `BasePrize`. 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 `1`. Max is `16`.\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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "nodeSize": { "type": "string", "description": "The size of the nodes on which the Managed 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 Managed Integration Runtime. Max is `10`. Defaults to `1`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Managed Integration Runtime. Changing this forces a new resource to be created.\n" }, "vnetIntegration": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedVnetIntegration:IntegrationRuntimeManagedVnetIntegration", "description": "A `vnet_integration` block as defined below.\n" } }, "requiredInputs": [ "dataFactoryName", "nodeSize", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering IntegrationRuntimeManaged resources.\n", "properties": { "catalogInfo": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedCatalogInfo:IntegrationRuntimeManagedCatalogInfo", "description": "A `catalog_info` block as defined below.\n" }, "customSetupScript": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedCustomSetupScript:IntegrationRuntimeManagedCustomSetupScript", "description": "A `custom_setup_script` block as defined below.\n" }, "dataFactoryName": { "type": "string", "description": "Specifies the name of the Data Factory the Managed Integration Runtime belongs to. Changing this forces a new resource to be created.\n" }, "description": { "type": "string" }, "edition": { "type": "string", "description": "The Managed Integration Runtime edition. Valid values are `Standard` and `Enterprise`. Defaults to `Standard`.\n" }, "licenseType": { "type": "string", "description": "The type of the license that is used. Valid values are `LicenseIncluded` and `BasePrize`. 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 `1`. Max is `16`.\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/en-us/azure/data-factory/naming-rules) for all restrictions.\n" }, "nodeSize": { "type": "string", "description": "The size of the nodes on which the Managed 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 Managed Integration Runtime. Max is `10`. Defaults to `1`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Managed Integration Runtime. Changing this forces a new resource to be created.\n" }, "vnetIntegration": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeManagedVnetIntegration:IntegrationRuntimeManagedVnetIntegration", "description": "A `vnet_integration` block as defined below.\n" } }, "type": "object" } }, "azure:datafactory/integrationRuntimeSelfHosted:IntegrationRuntimeSelfHosted": { "description": "Manages a Data Factory Self-hosted Integration Runtime.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"eastus\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleIntegrationRuntimeSelfHosted = new azure.datafactory.IntegrationRuntimeSelfHosted(\"exampleIntegrationRuntimeSelfHosted\", {\n resourceGroupName: \"example\",\n dataFactoryName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_integration_runtime_self_hosted = azure.datafactory.IntegrationRuntimeSelfHosted(\"exampleIntegrationRuntimeSelfHosted\",\n resource_group_name=\"example\",\n data_factory_name=\"example\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleIntegrationRuntimeSelfHosted = new Azure.DataFactory.IntegrationRuntimeSelfHosted(\"exampleIntegrationRuntimeSelfHosted\", new Azure.DataFactory.IntegrationRuntimeSelfHostedArgs\n {\n ResourceGroupName = \"example\",\n DataFactoryName = \"example\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewIntegrationRuntimeSelfHosted(ctx, \"exampleIntegrationRuntimeSelfHosted\", \u0026datafactory.IntegrationRuntimeSelfHostedArgs{\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tDataFactoryName: 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{{% /example %}}\n{{% /examples %}}", "properties": { "authKey1": { "type": "string", "description": "The primary integration runtime authentication key.\n" }, "authKey2": { "type": "string", "description": "The secondary integration runtime authentication key.\n" }, "dataFactoryName": { "type": "string", "description": "Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\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" }, "rbacAuthorizations": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization" }, "description": "A `rbac_authorization` block as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Data Factory should exist. Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\n" } }, "required": [ "authKey1", "authKey2", "dataFactoryName", "name", "resourceGroupName" ], "inputProperties": { "dataFactoryName": { "type": "string", "description": "Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\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" }, "rbacAuthorizations": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization" }, "description": "A `rbac_authorization` block as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Data Factory should exist. Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\n" } }, "requiredInputs": [ "dataFactoryName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering IntegrationRuntimeSelfHosted resources.\n", "properties": { "authKey1": { "type": "string", "description": "The primary integration runtime authentication key.\n" }, "authKey2": { "type": "string", "description": "The secondary integration runtime authentication key.\n" }, "dataFactoryName": { "type": "string", "description": "Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\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" }, "rbacAuthorizations": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/IntegrationRuntimeSelfHostedRbacAuthorization:IntegrationRuntimeSelfHostedRbacAuthorization" }, "description": "A `rbac_authorization` block as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Data Factory should exist. Changing this forces a new Data Factory Self-hosted Integration Runtime to be created.\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceAzureBlobStorage:LinkedServiceAzureBlobStorage": { "description": "Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleAccount = exampleResourceGroup.name.apply(name =\u003e azure.storage.getAccount({\n name: \"storageaccountname\",\n resourceGroupName: name,\n}));\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureBlobStorage = new azure.datafactory.LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n connectionString: exampleAccount.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_account = example_resource_group.name.apply(lambda name: azure.storage.get_account(name=\"storageaccountname\",\n resource_group_name=name))\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_azure_blob_storage = azure.datafactory.LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=example_account.primary_connection_string)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleAccount = exampleResourceGroup.Name.Apply(name =\u003e Azure.Storage.GetAccount.InvokeAsync(new Azure.Storage.GetAccountArgs\n {\n Name = \"storageaccountname\",\n ResourceGroupName = name,\n }));\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceAzureBlobStorage = new Azure.DataFactory.LinkedServiceAzureBlobStorage(\"exampleLinkedServiceAzureBlobStorage\", new Azure.DataFactory.LinkedServiceAzureBlobStorageArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.PrimaryConnectionString),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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, \"exampleLinkedServiceAzureBlobStorage\", \u0026datafactory.LinkedServiceAzureBlobStorageArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\n\t\t\tConnectionString: exampleAccount.ApplyT(func(exampleAccount storage.LookupAccountResult) (string, error) {\n\t\t\t\treturn exampleAccount.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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. Required if `account_endpoint`, `account_key`, and `database` are unspecified.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" } }, "required": [ "connectionString", "dataFactoryName", "name", "resourceGroupName" ], "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. Required if `account_endpoint`, `account_key`, and `database` are unspecified.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" } }, "requiredInputs": [ "connectionString", "dataFactoryName", "resourceGroupName" ], "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" }, "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 `account_endpoint`, `account_key`, and `database` are unspecified.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceAzureFileStorage:LinkedServiceAzureFileStorage": { "description": "Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleAccount = exampleResourceGroup.name.apply(name =\u003e azure.storage.getAccount({\n name: \"storageaccountname\",\n resourceGroupName: name,\n}));\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureFileStorage = new azure.datafactory.LinkedServiceAzureFileStorage(\"exampleLinkedServiceAzureFileStorage\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n connectionString: exampleAccount.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_account = example_resource_group.name.apply(lambda name: azure.storage.get_account(name=\"storageaccountname\",\n resource_group_name=name))\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_azure_file_storage = azure.datafactory.LinkedServiceAzureFileStorage(\"exampleLinkedServiceAzureFileStorage\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=example_account.primary_connection_string)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleAccount = exampleResourceGroup.Name.Apply(name =\u003e Azure.Storage.GetAccount.InvokeAsync(new Azure.Storage.GetAccountArgs\n {\n Name = \"storageaccountname\",\n ResourceGroupName = name,\n }));\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceAzureFileStorage = new Azure.DataFactory.LinkedServiceAzureFileStorage(\"exampleLinkedServiceAzureFileStorage\", new Azure.DataFactory.LinkedServiceAzureFileStorageArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.PrimaryConnectionString),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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, \"exampleLinkedServiceAzureFileStorage\", \u0026datafactory.LinkedServiceAzureFileStorageArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\n\t\t\tConnectionString: exampleAccount.ApplyT(func(exampleAccount storage.LookupAccountResult) (string, error) {\n\t\t\t\treturn exampleAccount.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "userId": { "type": "string" } }, "required": [ "connectionString", "dataFactoryName", "name", "resourceGroupName" ], "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "userId": { "type": "string" } }, "requiredInputs": [ "connectionString", "dataFactoryName", "resourceGroupName" ], "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" }, "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "userId": { "type": "string" } }, "type": "object" } }, "azure:datafactory/linkedServiceAzureFunction:LinkedServiceAzureFunction": { "description": "Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFunctionApp = exampleResourceGroup.name.apply(name =\u003e azure.appservice.getFunctionApp({\n name: \"test-azure-functions\",\n resourceGroupName: name,\n}));\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureFunction = new azure.datafactory.LinkedServiceAzureFunction(\"exampleLinkedServiceAzureFunction\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n url: exampleFunctionApp.defaultHostname,\n key: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_function_app = example_resource_group.name.apply(lambda name: azure.appservice.get_function_app(name=\"test-azure-functions\",\n resource_group_name=name))\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_azure_function = azure.datafactory.LinkedServiceAzureFunction(\"exampleLinkedServiceAzureFunction\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n url=example_function_app.default_hostname,\n key=\"foo\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFunctionApp = exampleResourceGroup.Name.Apply(name =\u003e Azure.AppService.GetFunctionApp.InvokeAsync(new Azure.AppService.GetFunctionAppArgs\n {\n Name = \"test-azure-functions\",\n ResourceGroupName = name,\n }));\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceAzureFunction = new Azure.DataFactory.LinkedServiceAzureFunction(\"exampleLinkedServiceAzureFunction\", new Azure.DataFactory.LinkedServiceAzureFunctionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n Url = exampleFunctionApp.Apply(exampleFunctionApp =\u003e exampleFunctionApp.DefaultHostname),\n Key = \"foo\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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, \"exampleLinkedServiceAzureFunction\", \u0026datafactory.LinkedServiceAzureFunctionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\n\t\t\tUrl: exampleFunctionApp.ApplyT(func(exampleFunctionApp appservice.LookupFunctionAppResult) (string, error) {\n\t\t\t\treturn exampleFunctionApp.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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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.\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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "url": { "type": "string", "description": "The url of the Azure Function.\n" } }, "required": [ "dataFactoryName", "key", "name", "resourceGroupName", "url" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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.\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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "url": { "type": "string", "description": "The url of the Azure Function.\n" } }, "requiredInputs": [ "dataFactoryName", "key", "resourceGroupName", "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" }, "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Linked Service.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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.\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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "url": { "type": "string", "description": "The url of the Azure Function.\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceAzureSqlDatabase:LinkedServiceAzureSqlDatabase": { "description": "Manages a Linked Service (connection) between Azure SQL Database and Azure Data Factory.\n\n\u003e **Note:** All arguments including the connection_string 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceAzureSqlDatabase = new azure.datafactory.LinkedServiceAzureSqlDatabase(\"exampleLinkedServiceAzureSqlDatabase\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_azure_sql_database = azure.datafactory.LinkedServiceAzureSqlDatabase(\"exampleLinkedServiceAzureSqlDatabase\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceAzureSqlDatabase = new Azure.DataFactory.LinkedServiceAzureSqlDatabase(\"exampleLinkedServiceAzureSqlDatabase\", new Azure.DataFactory.LinkedServiceAzureSqlDatabaseArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServiceAzureSqlDatabase(ctx, \"exampleLinkedServiceAzureSqlDatabase\", \u0026datafactory.LinkedServiceAzureSqlDatabaseArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 Azure SQL Database.\n" }, "integrationRuntimeName": { "type": "string", "description": "The integration runtime reference to associate with the Data Factory Linked Service Azure SQL Database.\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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service Azure SQL Database. Changing this forces a new resource to be created.\n" } }, "required": [ "connectionString", "dataFactoryName", "name", "resourceGroupName" ], "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 Azure SQL Database.\n" }, "integrationRuntimeName": { "type": "string", "description": "The integration runtime reference to associate with the Data Factory Linked Service Azure SQL Database.\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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service Azure SQL Database. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "connectionString", "dataFactoryName", "resourceGroupName" ], "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 Azure SQL Database.\n" }, "integrationRuntimeName": { "type": "string", "description": "The integration runtime reference to associate with the Data Factory Linked Service Azure SQL Database.\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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service Azure SQL Database. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceCosmosDb:LinkedServiceCosmosDb": { "description": "Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\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", "properties": { "accountEndpoint": { "type": "string", "description": "The endpoint of the Azure CosmosDB account. Required if `connection_string` is unspecified.\n" }, "accountKey": { "type": "string", "description": "The account key of the Azure Cosmos DB account. Required if `connection_string` is unspecified.\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" }, "connectionString": { "type": "string", "description": "The connection string. Required if `account_endpoint`, `account_key`, and `database` are unspecified.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 `connection_string` 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" } }, "required": [ "dataFactoryName", "name", "resourceGroupName" ], "inputProperties": { "accountEndpoint": { "type": "string", "description": "The endpoint of the Azure CosmosDB account. Required if `connection_string` is unspecified.\n" }, "accountKey": { "type": "string", "description": "The account key of the Azure Cosmos DB account. Required if `connection_string` is unspecified.\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" }, "connectionString": { "type": "string", "description": "The connection string. Required if `account_endpoint`, `account_key`, and `database` are unspecified.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 `connection_string` 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" } }, "requiredInputs": [ "dataFactoryName", "resourceGroupName" ], "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 `connection_string` is unspecified.\n" }, "accountKey": { "type": "string", "description": "The account key of the Azure Cosmos DB account. Required if `connection_string` is unspecified.\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" }, "connectionString": { "type": "string", "description": "The connection string. Required if `account_endpoint`, `account_key`, and `database` are unspecified.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 `connection_string` 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceDataLakeStorageGen2:LinkedServiceDataLakeStorageGen2": { "description": "Manages a Linked Service (connection) between Data Lake Storage Gen2 and Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst current = azure.core.getClientConfig({});\nconst exampleLinkedServiceDataLakeStorageGen2 = new azure.datafactory.LinkedServiceDataLakeStorageGen2(\"exampleLinkedServiceDataLakeStorageGen2\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\ncurrent = azure.core.get_client_config()\nexample_linked_service_data_lake_storage_gen2 = azure.datafactory.LinkedServiceDataLakeStorageGen2(\"exampleLinkedServiceDataLakeStorageGen2\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleLinkedServiceDataLakeStorageGen2 = new Azure.DataFactory.LinkedServiceDataLakeStorageGen2(\"exampleLinkedServiceDataLakeStorageGen2\", new Azure.DataFactory.LinkedServiceDataLakeStorageGen2Args\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ServicePrincipalId = current.Apply(current =\u003e current.ClientId),\n ServicePrincipalKey = \"exampleKey\",\n Tenant = \"11111111-1111-1111-1111-111111111111\",\n Url = \"https://datalakestoragegen2\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewLinkedServiceDataLakeStorageGen2(ctx, \"exampleLinkedServiceDataLakeStorageGen2\", \u0026datafactory.LinkedServiceDataLakeStorageGen2Args{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service MySQL. Changing this forces a new resource\n" }, "servicePrincipalId": { "type": "string", "description": "The service principal id in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "servicePrincipalKey": { "type": "string", "description": "The service principal key in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "tenant": { "type": "string", "description": "The tenant id or name in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "url": { "type": "string", "description": "The endpoint for the Azure Data Lake Storage Gen2 service.\n" } }, "required": [ "dataFactoryName", "name", "resourceGroupName", "servicePrincipalId", "servicePrincipalKey", "tenant", "url" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service MySQL. Changing this forces a new resource\n" }, "servicePrincipalId": { "type": "string", "description": "The service principal id in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "servicePrincipalKey": { "type": "string", "description": "The service principal key in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "tenant": { "type": "string", "description": "The tenant id or name in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "url": { "type": "string", "description": "The endpoint for the Azure Data Lake Storage Gen2 service.\n" } }, "requiredInputs": [ "dataFactoryName", "resourceGroupName", "servicePrincipalId", "servicePrincipalKey", "tenant", "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 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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service MySQL. Changing this forces a new resource\n" }, "servicePrincipalId": { "type": "string", "description": "The service principal id in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "servicePrincipalKey": { "type": "string", "description": "The service principal key in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "tenant": { "type": "string", "description": "The tenant id or name in which to authenticate against the Azure Data Lake Storage Gen2 account.\n" }, "url": { "type": "string", "description": "The endpoint for the Azure Data Lake Storage Gen2 service.\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceKeyVault:LinkedServiceKeyVault": { "description": "Manages a Linked Service (connection) between Key Vault and Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"eastus\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"standard\",\n});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceKeyVault = new azure.datafactory.LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n keyVaultId: exampleKeyVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_key_vault = azure.datafactory.LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n key_vault_id=example_key_vault.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SkuName = \"standard\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceKeyVault = new Azure.DataFactory.LinkedServiceKeyVault(\"exampleLinkedServiceKeyVault\", new Azure.DataFactory.LinkedServiceKeyVaultArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n KeyVaultId = exampleKeyVault.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServiceKeyVault(ctx, \"exampleLinkedServiceKeyVault\", \u0026datafactory.LinkedServiceKeyVaultArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service Key Vault. Changing this forces a new resource\n" } }, "required": [ "dataFactoryName", "keyVaultId", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service Key Vault. Changing this forces a new resource\n" } }, "requiredInputs": [ "dataFactoryName", "keyVaultId", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service Key Vault. Changing this forces a new resource\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceMysql:LinkedServiceMysql": { "description": "Manages a Linked Service (connection) between MySQL and Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceMysql = new azure.datafactory.LinkedServiceMysql(\"exampleLinkedServiceMysql\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_mysql = azure.datafactory.LinkedServiceMysql(\"exampleLinkedServiceMysql\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=\"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceMysql = new Azure.DataFactory.LinkedServiceMysql(\"exampleLinkedServiceMysql\", new Azure.DataFactory.LinkedServiceMysqlArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = \"Server=test;Port=3306;Database=test;User=test;SSLMode=1;UseSystemTrustStore=0;Password=test\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServiceMysql(ctx, \"exampleLinkedServiceMysql\", \u0026datafactory.LinkedServiceMysqlArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service MySQL. Changing this forces a new resource\n" } }, "required": [ "connectionString", "dataFactoryName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service MySQL. Changing this forces a new resource\n" } }, "requiredInputs": [ "connectionString", "dataFactoryName", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service MySQL. Changing this forces a new resource\n" } }, "type": "object" } }, "azure:datafactory/linkedServicePostgresql:LinkedServicePostgresql": { "description": "Manages a Linked Service (connection) between PostgreSQL and Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServicePostgresql = new azure.datafactory.LinkedServicePostgresql(\"exampleLinkedServicePostgresql\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_postgresql = azure.datafactory.LinkedServicePostgresql(\"exampleLinkedServicePostgresql\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=\"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServicePostgresql = new Azure.DataFactory.LinkedServicePostgresql(\"exampleLinkedServicePostgresql\", new Azure.DataFactory.LinkedServicePostgresqlArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = \"Host=example;Port=5432;Database=example;UID=example;EncryptionMethod=0;Password=example\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServicePostgresql(ctx, \"exampleLinkedServicePostgresql\", \u0026datafactory.LinkedServicePostgresqlArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service PostgreSQL. Changing this forces a new resource\n" } }, "required": [ "connectionString", "dataFactoryName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service PostgreSQL. Changing this forces a new resource\n" } }, "requiredInputs": [ "connectionString", "dataFactoryName", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service PostgreSQL. Changing this forces a new resource\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceSftp:LinkedServiceSftp": { "description": "Manages a Linked Service (connection) between a SFTP Server and Azure Data Factory.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceSftp = new azure.datafactory.LinkedServiceSftp(\"exampleLinkedServiceSftp\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_sftp = azure.datafactory.LinkedServiceSftp(\"exampleLinkedServiceSftp\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n authentication_type=\"Basic\",\n host=\"http://www.bing.com\",\n port=22,\n username=\"foo\",\n password=\"bar\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceSftp = new Azure.DataFactory.LinkedServiceSftp(\"exampleLinkedServiceSftp\", new Azure.DataFactory.LinkedServiceSftpArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n AuthenticationType = \"Basic\",\n Host = \"http://www.bing.com\",\n Port = 22,\n Username = \"foo\",\n Password = \"bar\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServiceSftp(ctx, \"exampleLinkedServiceSftp\", \u0026datafactory.LinkedServiceSftpArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "authenticationType": { "type": "string", "description": "The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string", "description": "Password to logon to the SFTP Server for Basic Authentication.\n" }, "port": { "type": "integer", "description": "The TCP port number that the SFTP server uses to lsiten for client connection. Default value is 22.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "username": { "type": "string", "description": "The username used to log on to the SFTP server.\n" } }, "required": [ "authenticationType", "dataFactoryName", "host", "name", "password", "port", "resourceGroupName", "username" ], "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" }, "authenticationType": { "type": "string", "description": "The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string", "description": "Password to logon to the SFTP Server for Basic Authentication.\n" }, "port": { "type": "integer", "description": "The TCP port number that the SFTP server uses to lsiten for client connection. Default value is 22.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "username": { "type": "string", "description": "The username used to log on to the SFTP server.\n" } }, "requiredInputs": [ "authenticationType", "dataFactoryName", "host", "password", "port", "resourceGroupName", "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" }, "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string", "description": "Password to logon to the SFTP Server for Basic Authentication.\n" }, "port": { "type": "integer", "description": "The TCP port number that the SFTP server uses to lsiten for client connection. Default value is 22.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "username": { "type": "string", "description": "The username used to log on to the SFTP server.\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceSqlServer:LinkedServiceSqlServer": { "description": "Manages a Linked Service (connection) between a SQL Server and Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceSqlServer = new azure.datafactory.LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_sql_server = azure.datafactory.LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n connection_string=\"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceSqlServer = new Azure.DataFactory.LinkedServiceSqlServer(\"exampleLinkedServiceSqlServer\", new Azure.DataFactory.LinkedServiceSqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n ConnectionString = \"Integrated Security=False;Data Source=test;Initial Catalog=test;User ID=test;Password=test\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServiceSqlServer(ctx, \"exampleLinkedServiceSqlServer\", \u0026datafactory.LinkedServiceSqlServerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service SQL Server. Changing this forces a new resource\n" } }, "required": [ "connectionString", "dataFactoryName", "name", "resourceGroupName" ], "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service SQL Server. Changing this forces a new resource\n" } }, "requiredInputs": [ "connectionString", "dataFactoryName", "resourceGroupName" ], "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.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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" }, "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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service SQL Server. Changing this forces a new resource\n" } }, "type": "object" } }, "azure:datafactory/linkedServiceWeb:LinkedServiceWeb": { "description": "Manages a Linked Service (connection) between a Web Server and Azure Data Factory.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleLinkedServiceWeb = new azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n authenticationType: \"Anonymous\",\n url: \"http://www.bing.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_linked_service_web = azure.datafactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name,\n authentication_type=\"Anonymous\",\n url=\"http://www.bing.com\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleLinkedServiceWeb = new Azure.DataFactory.LinkedServiceWeb(\"exampleLinkedServiceWeb\", new Azure.DataFactory.LinkedServiceWebArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n AuthenticationType = \"Anonymous\",\n Url = \"http://www.bing.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewLinkedServiceWeb(ctx, \"exampleLinkedServiceWeb\", \u0026datafactory.LinkedServiceWebArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "authenticationType": { "type": "string", "description": "The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "url": { "type": "string", "description": "The URL of the web service endpoint (e.g. http://www.microsoft.com).\n" }, "username": { "type": "string" } }, "required": [ "authenticationType", "dataFactoryName", "name", "resourceGroupName", "url" ], "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" }, "authenticationType": { "type": "string", "description": "The type of authentication used to connect to the web table source. Valid options are `Anonymous`, `Basic` and `ClientCertificate`.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "url": { "type": "string", "description": "The URL of the web service endpoint (e.g. http://www.microsoft.com).\n" }, "username": { "type": "string" } }, "requiredInputs": [ "authenticationType", "dataFactoryName", "resourceGroupName", "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" }, "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name 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 globally unique. See the [Microsoft documentation](https://docs.microsoft.com/en-us/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 Linfked Service.\n" }, "password": { "type": "string" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Linked Service. Changing this forces a new resource\n" }, "url": { "type": "string", "description": "The URL of the web service endpoint (e.g. http://www.microsoft.com).\n" }, "username": { "type": "string" } }, "type": "object" } }, "azure:datafactory/pipeline:Pipeline": { "description": "Manages a Pipeline inside a Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst examplePipeline = new azure.datafactory.Pipeline(\"examplePipeline\", {\n resourceGroupName: exampleResourceGroup.name,\n dataFactoryName: exampleFactory.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_pipeline = azure.datafactory.Pipeline(\"examplePipeline\",\n resource_group_name=example_resource_group.name,\n data_factory_name=example_factory.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePipeline = new Azure.DataFactory.Pipeline(\"examplePipeline\", new Azure.DataFactory.PipelineArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n DataFactoryName = exampleFactory.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleFactory, err := datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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.NewPipeline(ctx, \"examplePipeline\", \u0026datafactory.PipelineArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDataFactoryName: exampleFactory.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\n{{% /example %}}\n{{% example %}}\n### With Activities\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = new azure.datafactory.Pipeline(\"test\", {\n resourceGroupName: azurerm_resource_group.test.name,\n dataFactoryName: azurerm_data_factory.test.name,\n variables: {\n bob: \"item1\",\n },\n activitiesJson: `[\n\t{\n\t\t\"name\": \"Append variable1\",\n\t\t\"type\": \"AppendVariable\",\n\t\t\"dependsOn\": [],\n\t\t\"userProperties\": [],\n\t\t\"typeProperties\": {\n\t\t\t\"variableName\": \"bob\",\n\t\t\t\"value\": \"something\"\n\t\t}\n\t}\n]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.datafactory.Pipeline(\"test\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n data_factory_name=azurerm_data_factory[\"test\"][\"name\"],\n variables={\n \"bob\": \"item1\",\n },\n activities_json=\"\"\"[\n\t{\n\t\t\"name\": \"Append variable1\",\n\t\t\"type\": \"AppendVariable\",\n\t\t\"dependsOn\": [],\n\t\t\"userProperties\": [],\n\t\t\"typeProperties\": {\n\t\t\t\"variableName\": \"bob\",\n\t\t\t\"value\": \"something\"\n\t\t}\n\t}\n]\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = new Azure.DataFactory.Pipeline(\"test\", new Azure.DataFactory.PipelineArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n DataFactoryName = azurerm_data_factory.Test.Name,\n Variables = \n {\n { \"bob\", \"item1\" },\n },\n ActivitiesJson = @\"[\n\t{\n\t\t\"\"name\"\": \"\"Append variable1\"\",\n\t\t\"\"type\"\": \"\"AppendVariable\"\",\n\t\t\"\"dependsOn\"\": [],\n\t\t\"\"userProperties\"\": [],\n\t\t\"\"typeProperties\"\": {\n\t\t\t\"\"variableName\"\": \"\"bob\"\",\n\t\t\t\"\"value\"\": \"\"something\"\"\n\t\t}\n\t}\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/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tDataFactoryName: pulumi.Any(azurerm_data_factory.Test.Name),\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v\", \"[\\n\", \"\t{\\n\", \"\t\t\\\"name\\\": \\\"Append variable1\\\",\\n\", \"\t\t\\\"type\\\": \\\"AppendVariable\\\",\\n\", \"\t\t\\\"dependsOn\\\": [],\\n\", \"\t\t\\\"userProperties\\\": [],\\n\", \"\t\t\\\"typeProperties\\\": {\\n\", \"\t\t\t\\\"variableName\\\": \\\"bob\\\",\\n\", \"\t\t\t\\\"value\\\": \\\"something\\\"\\n\", \"\t\t}\\n\", \"\t}\\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{{% /example %}}\n{{% /examples %}}", "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name in which to associate the Pipeline with. Changing this forces a new resource.\n" }, "description": { "type": "string", "description": "The description for the Data Factory Pipeline.\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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Pipeline. Changing this forces a new resource\n" }, "variables": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of variables to associate with the Data Factory Pipeline.\n" } }, "required": [ "dataFactoryName", "name", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name in which to associate the Pipeline with. Changing this forces a new resource.\n" }, "description": { "type": "string", "description": "The description for the Data Factory Pipeline.\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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Pipeline. Changing this forces a new resource\n" }, "variables": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of variables to associate with the Data Factory Pipeline.\n" } }, "requiredInputs": [ "dataFactoryName", "resourceGroupName" ], "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" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name in which to associate the Pipeline with. Changing this forces a new resource.\n" }, "description": { "type": "string", "description": "The description for the Data Factory Pipeline.\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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Pipeline. Changing this forces a new resource\n" }, "variables": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of variables to associate with the Data Factory Pipeline.\n" } }, "type": "object" } }, "azure:datafactory/triggerSchedule:TriggerSchedule": { "description": "Manages a Trigger Schedule inside a Azure Data Factory.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleFactory = new azure.datafactory.Factory(\"exampleFactory\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst testPipeline = new azure.datafactory.Pipeline(\"testPipeline\", {\n resourceGroupName: azurerm_resource_group.test.name,\n dataFactoryName: azurerm_data_factory.test.name,\n});\nconst testTriggerSchedule = new azure.datafactory.TriggerSchedule(\"testTriggerSchedule\", {\n dataFactoryName: azurerm_data_factory.test.name,\n resourceGroupName: azurerm_resource_group.test.name,\n pipelineName: testPipeline.name,\n interval: 5,\n frequency: \"Day\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_factory = azure.datafactory.Factory(\"exampleFactory\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\ntest_pipeline = azure.datafactory.Pipeline(\"testPipeline\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n data_factory_name=azurerm_data_factory[\"test\"][\"name\"])\ntest_trigger_schedule = azure.datafactory.TriggerSchedule(\"testTriggerSchedule\",\n data_factory_name=azurerm_data_factory[\"test\"][\"name\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n pipeline_name=test_pipeline.name,\n interval=5,\n frequency=\"Day\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleFactory = new Azure.DataFactory.Factory(\"exampleFactory\", new Azure.DataFactory.FactoryArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var testPipeline = new Azure.DataFactory.Pipeline(\"testPipeline\", new Azure.DataFactory.PipelineArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n DataFactoryName = azurerm_data_factory.Test.Name,\n });\n var testTriggerSchedule = new Azure.DataFactory.TriggerSchedule(\"testTriggerSchedule\", new Azure.DataFactory.TriggerScheduleArgs\n {\n DataFactoryName = azurerm_data_factory.Test.Name,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n PipelineName = testPipeline.Name,\n Interval = 5,\n Frequency = \"Day\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = datafactory.NewFactory(ctx, \"exampleFactory\", \u0026datafactory.FactoryArgs{\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\ttestPipeline, err := datafactory.NewPipeline(ctx, \"testPipeline\", \u0026datafactory.PipelineArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tDataFactoryName: pulumi.Any(azurerm_data_factory.Test.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datafactory.NewTriggerSchedule(ctx, \"testTriggerSchedule\", \u0026datafactory.TriggerScheduleArgs{\n\t\t\tDataFactoryName: pulumi.Any(azurerm_data_factory.Test.Name),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tPipelineName: testPipeline.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{{% /example %}}\n{{% /examples %}}", "properties": { "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Schedule Trigger.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name in which to associate the Schedule Trigger with. Changing this forces a new resource.\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 freqency. 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 1.\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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Schedule Trigger. Changing this forces a new resource\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" } }, "required": [ "dataFactoryName", "name", "pipelineName", "resourceGroupName", "startTime" ], "inputProperties": { "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Schedule Trigger.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name in which to associate the Schedule Trigger with. Changing this forces a new resource.\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 freqency. 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 1.\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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Schedule Trigger. Changing this forces a new resource\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" } }, "requiredInputs": [ "dataFactoryName", "pipelineName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering TriggerSchedule resources.\n", "properties": { "annotations": { "type": "array", "items": { "type": "string" }, "description": "List of tags that can be used for describing the Data Factory Schedule Trigger.\n" }, "dataFactoryName": { "type": "string", "description": "The Data Factory name in which to associate the Schedule Trigger with. Changing this forces a new resource.\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 freqency. 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 1.\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/en-us/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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Factory Schedule Trigger. Changing this forces a new resource\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" } }, "type": "object" } }, "azure:datalake/analyticsAccount:AnalyticsAccount": { "description": "Manages an Azure Data Lake Analytics Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleStore = new azure.datalake.Store(\"exampleStore\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleAnalyticsAccount = new azure.datalake.AnalyticsAccount(\"exampleAnalyticsAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n defaultStoreAccountName: exampleStore.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_store = azure.datalake.Store(\"exampleStore\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_analytics_account = azure.datalake.AnalyticsAccount(\"exampleAnalyticsAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n default_store_account_name=example_store.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleStore = new Azure.DataLake.Store(\"exampleStore\", new Azure.DataLake.StoreArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleAnalyticsAccount = new Azure.DataLake.AnalyticsAccount(\"exampleAnalyticsAccount\", new Azure.DataLake.AnalyticsAccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n DefaultStoreAccountName = exampleStore.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datalake\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleStore, err := datalake.NewStore(ctx, \"exampleStore\", \u0026datalake.StoreArgs{\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 = datalake.NewAnalyticsAccount(ctx, \"exampleAnalyticsAccount\", \u0026datalake.AnalyticsAccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tDefaultStoreAccountName: exampleStore.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{{% /example %}}\n{{% /examples %}}", "properties": { "defaultStoreAccountName": { "type": "string", "description": "Specifies the data lake store to use by default. 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 Data Lake Analytics Account. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Analytics Account.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "tier": { "type": "string", "description": "The monthly commitment tier for Data Lake Analytics Account. Accepted values are `Consumption`, `Commitment_100000AUHours`, `Commitment_10000AUHours`, `Commitment_1000AUHours`, `Commitment_100AUHours`, `Commitment_500000AUHours`, `Commitment_50000AUHours`, `Commitment_5000AUHours`, or `Commitment_500AUHours`.\n" } }, "required": [ "defaultStoreAccountName", "location", "name", "resourceGroupName" ], "inputProperties": { "defaultStoreAccountName": { "type": "string", "description": "Specifies the data lake store to use by default. 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 Data Lake Analytics Account. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Analytics Account.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "tier": { "type": "string", "description": "The monthly commitment tier for Data Lake Analytics Account. Accepted values are `Consumption`, `Commitment_100000AUHours`, `Commitment_10000AUHours`, `Commitment_1000AUHours`, `Commitment_100AUHours`, `Commitment_500000AUHours`, `Commitment_50000AUHours`, `Commitment_5000AUHours`, or `Commitment_500AUHours`.\n" } }, "requiredInputs": [ "defaultStoreAccountName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering AnalyticsAccount resources.\n", "properties": { "defaultStoreAccountName": { "type": "string", "description": "Specifies the data lake store to use by default. 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 Data Lake Analytics Account. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Analytics Account.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "tier": { "type": "string", "description": "The monthly commitment tier for Data Lake Analytics Account. Accepted values are `Consumption`, `Commitment_100000AUHours`, `Commitment_10000AUHours`, `Commitment_1000AUHours`, `Commitment_100AUHours`, `Commitment_500000AUHours`, `Commitment_50000AUHours`, `Commitment_5000AUHours`, or `Commitment_500AUHours`.\n" } }, "type": "object" } }, "azure:datalake/analyticsFirewallRule:AnalyticsFirewallRule": { "description": "Manages a Azure Data Lake Analytics Firewall Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleStore = new azure.datalake.Store(\"exampleStore\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleAnalyticsAccount = new azure.datalake.AnalyticsAccount(\"exampleAnalyticsAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n defaultStoreAccountName: exampleStore.name,\n});\nconst exampleAnalyticsFirewallRule = new azure.datalake.AnalyticsFirewallRule(\"exampleAnalyticsFirewallRule\", {\n accountName: azurerm_data_lake_analytics.example.name,\n resourceGroupName: exampleResourceGroup.name,\n startIpAddress: \"1.2.3.4\",\n endIpAddress: \"2.3.4.5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_store = azure.datalake.Store(\"exampleStore\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_analytics_account = azure.datalake.AnalyticsAccount(\"exampleAnalyticsAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n default_store_account_name=example_store.name)\nexample_analytics_firewall_rule = azure.datalake.AnalyticsFirewallRule(\"exampleAnalyticsFirewallRule\",\n account_name=azurerm_data_lake_analytics[\"example\"][\"name\"],\n resource_group_name=example_resource_group.name,\n start_ip_address=\"1.2.3.4\",\n end_ip_address=\"2.3.4.5\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleStore = new Azure.DataLake.Store(\"exampleStore\", new Azure.DataLake.StoreArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleAnalyticsAccount = new Azure.DataLake.AnalyticsAccount(\"exampleAnalyticsAccount\", new Azure.DataLake.AnalyticsAccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n DefaultStoreAccountName = exampleStore.Name,\n });\n var exampleAnalyticsFirewallRule = new Azure.DataLake.AnalyticsFirewallRule(\"exampleAnalyticsFirewallRule\", new Azure.DataLake.AnalyticsFirewallRuleArgs\n {\n AccountName = azurerm_data_lake_analytics.Example.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n StartIpAddress = \"1.2.3.4\",\n EndIpAddress = \"2.3.4.5\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datalake\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleStore, err := datalake.NewStore(ctx, \"exampleStore\", \u0026datalake.StoreArgs{\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 = datalake.NewAnalyticsAccount(ctx, \"exampleAnalyticsAccount\", \u0026datalake.AnalyticsAccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tDefaultStoreAccountName: exampleStore.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datalake.NewAnalyticsFirewallRule(ctx, \"exampleAnalyticsFirewallRule\", \u0026datalake.AnalyticsFirewallRuleArgs{\n\t\t\tAccountName: pulumi.Any(azurerm_data_lake_analytics.Example.Name),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tStartIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tEndIpAddress: 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{{% /example %}}\n{{% /examples %}}", "properties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Analytics for which the Firewall Rule should take effect.\n" }, "endIpAddress": { "type": "string", "description": "The End IP Address for the firewall rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Data Lake Analytics. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Analytics.\n" }, "startIpAddress": { "type": "string", "description": "The Start IP address for the firewall rule.\n" } }, "required": [ "accountName", "endIpAddress", "name", "resourceGroupName", "startIpAddress" ], "inputProperties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Analytics for which the Firewall Rule should take effect.\n" }, "endIpAddress": { "type": "string", "description": "The End IP Address for the firewall rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Data Lake Analytics. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Analytics.\n" }, "startIpAddress": { "type": "string", "description": "The Start IP address for the firewall rule.\n" } }, "requiredInputs": [ "accountName", "endIpAddress", "resourceGroupName", "startIpAddress" ], "stateInputs": { "description": "Input properties used for looking up and filtering AnalyticsFirewallRule resources.\n", "properties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Analytics for which the Firewall Rule should take effect.\n" }, "endIpAddress": { "type": "string", "description": "The End IP Address for the firewall rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Data Lake Analytics. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Analytics.\n" }, "startIpAddress": { "type": "string", "description": "The Start IP address for the firewall rule.\n" } }, "type": "object" } }, "azure:datalake/store:Store": { "description": "Manages an Azure Data Lake Store.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleStore = new azure.datalake.Store(\"exampleStore\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n encryptionState: \"Enabled\",\n encryptionType: \"ServiceManaged\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_store = azure.datalake.Store(\"exampleStore\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n encryption_state=\"Enabled\",\n encryption_type=\"ServiceManaged\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleStore = new Azure.DataLake.Store(\"exampleStore\", new Azure.DataLake.StoreArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n EncryptionState = \"Enabled\",\n EncryptionType = \"ServiceManaged\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datalake\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = datalake.NewStore(ctx, \"exampleStore\", \u0026datalake.StoreArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tEncryptionState: pulumi.String(\"Enabled\"),\n\t\t\tEncryptionType: pulumi.String(\"ServiceManaged\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "encryptionState": { "type": "string", "description": "Is Encryption enabled on this Data Lake Store Account? Possible values are `Enabled` or `Disabled`. Defaults to `Enabled`.\n" }, "encryptionType": { "type": "string", "description": "The Encryption Type used for this Data Lake Store Account. Currently can be set to `ServiceManaged` when `encryption_state` is `Enabled` - and must be a blank string when it's Disabled.\n" }, "endpoint": { "type": "string", "description": "The Endpoint for the Data Lake Store.\n" }, "firewallAllowAzureIps": { "type": "string", "description": "are Azure Service IP's allowed through the firewall? Possible values are `Enabled` and `Disabled`. Defaults to `Enabled.`\n" }, "firewallState": { "type": "string", "description": "the state of the Firewall. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled.`\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 Data Lake Store. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Store.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "tier": { "type": "string", "description": "The monthly commitment tier for Data Lake Store. Accepted values are `Consumption`, `Commitment_1TB`, `Commitment_10TB`, `Commitment_100TB`, `Commitment_500TB`, `Commitment_1PB` or `Commitment_5PB`.\n" } }, "required": [ "encryptionType", "endpoint", "location", "name", "resourceGroupName" ], "inputProperties": { "encryptionState": { "type": "string", "description": "Is Encryption enabled on this Data Lake Store Account? Possible values are `Enabled` or `Disabled`. Defaults to `Enabled`.\n" }, "encryptionType": { "type": "string", "description": "The Encryption Type used for this Data Lake Store Account. Currently can be set to `ServiceManaged` when `encryption_state` is `Enabled` - and must be a blank string when it's Disabled.\n" }, "firewallAllowAzureIps": { "type": "string", "description": "are Azure Service IP's allowed through the firewall? Possible values are `Enabled` and `Disabled`. Defaults to `Enabled.`\n" }, "firewallState": { "type": "string", "description": "the state of the Firewall. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled.`\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 Data Lake Store. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Store.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "tier": { "type": "string", "description": "The monthly commitment tier for Data Lake Store. Accepted values are `Consumption`, `Commitment_1TB`, `Commitment_10TB`, `Commitment_100TB`, `Commitment_500TB`, `Commitment_1PB` or `Commitment_5PB`.\n" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Store resources.\n", "properties": { "encryptionState": { "type": "string", "description": "Is Encryption enabled on this Data Lake Store Account? Possible values are `Enabled` or `Disabled`. Defaults to `Enabled`.\n" }, "encryptionType": { "type": "string", "description": "The Encryption Type used for this Data Lake Store Account. Currently can be set to `ServiceManaged` when `encryption_state` is `Enabled` - and must be a blank string when it's Disabled.\n" }, "endpoint": { "type": "string", "description": "The Endpoint for the Data Lake Store.\n" }, "firewallAllowAzureIps": { "type": "string", "description": "are Azure Service IP's allowed through the firewall? Possible values are `Enabled` and `Disabled`. Defaults to `Enabled.`\n" }, "firewallState": { "type": "string", "description": "the state of the Firewall. Possible values are `Enabled` and `Disabled`. Defaults to `Enabled.`\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 Data Lake Store. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Store.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "tier": { "type": "string", "description": "The monthly commitment tier for Data Lake Store. Accepted values are `Consumption`, `Commitment_1TB`, `Commitment_10TB`, `Commitment_100TB`, `Commitment_500TB`, `Commitment_1PB` or `Commitment_5PB`.\n" } }, "type": "object" } }, "azure:datalake/storeFile:StoreFile": { "description": "Manages a Azure Data Lake Store File.\n\n\u003e **Note:** If you want to change the data in the remote file without changing the `local_file_path`, then\ntaint the resource so the `azure.datalake.StoreFile` gets recreated with the new data.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleStore = new azure.datalake.Store(\"exampleStore\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleStoreFile = new azure.datalake.StoreFile(\"exampleStoreFile\", {\n resourceGroupName: exampleResourceGroup.name,\n localFilePath: \"/path/to/local/file\",\n remoteFilePath: \"/path/created/for/remote/file\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Store for which the File should created.\n" }, "localFilePath": { "type": "string", "description": "The path to the local file to be added to the Data Lake Store.\n" }, "remoteFilePath": { "type": "string", "description": "The path created for the file on the Data Lake Store.\n" } }, "required": [ "accountName", "localFilePath", "remoteFilePath" ], "inputProperties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Store for which the File should created.\n" }, "localFilePath": { "type": "string", "description": "The path to the local file to be added to the Data Lake Store.\n" }, "remoteFilePath": { "type": "string", "description": "The path created for the file on the Data Lake Store.\n" } }, "requiredInputs": [ "accountName", "localFilePath", "remoteFilePath" ], "stateInputs": { "description": "Input properties used for looking up and filtering StoreFile resources.\n", "properties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Store for which the File should created.\n" }, "localFilePath": { "type": "string", "description": "The path to the local file to be added to the Data Lake Store.\n" }, "remoteFilePath": { "type": "string", "description": "The path created for the file on the Data Lake Store.\n" } }, "type": "object" } }, "azure:datalake/storeFirewallRule:StoreFirewallRule": { "description": "Manages a Azure Data Lake Store Firewall Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleStore = new azure.datalake.Store(\"exampleStore\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleStoreFirewallRule = new azure.datalake.StoreFirewallRule(\"exampleStoreFirewallRule\", {\n accountName: exampleStore.name,\n resourceGroupName: exampleResourceGroup.name,\n startIpAddress: \"1.2.3.4\",\n endIpAddress: \"2.3.4.5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_store = azure.datalake.Store(\"exampleStore\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_store_firewall_rule = azure.datalake.StoreFirewallRule(\"exampleStoreFirewallRule\",\n account_name=example_store.name,\n resource_group_name=example_resource_group.name,\n start_ip_address=\"1.2.3.4\",\n end_ip_address=\"2.3.4.5\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleStore = new Azure.DataLake.Store(\"exampleStore\", new Azure.DataLake.StoreArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleStoreFirewallRule = new Azure.DataLake.StoreFirewallRule(\"exampleStoreFirewallRule\", new Azure.DataLake.StoreFirewallRuleArgs\n {\n AccountName = exampleStore.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n StartIpAddress = \"1.2.3.4\",\n EndIpAddress = \"2.3.4.5\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datalake\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleStore, err := datalake.NewStore(ctx, \"exampleStore\", \u0026datalake.StoreArgs{\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 = datalake.NewStoreFirewallRule(ctx, \"exampleStoreFirewallRule\", \u0026datalake.StoreFirewallRuleArgs{\n\t\t\tAccountName: exampleStore.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tStartIpAddress: pulumi.String(\"1.2.3.4\"),\n\t\t\tEndIpAddress: 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{{% /example %}}\n{{% /examples %}}", "properties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Store for which the Firewall Rule should take effect.\n" }, "endIpAddress": { "type": "string", "description": "The End IP Address for the firewall rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Data Lake Store. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Store.\n" }, "startIpAddress": { "type": "string", "description": "The Start IP address for the firewall rule.\n" } }, "required": [ "accountName", "endIpAddress", "name", "resourceGroupName", "startIpAddress" ], "inputProperties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Store for which the Firewall Rule should take effect.\n" }, "endIpAddress": { "type": "string", "description": "The End IP Address for the firewall rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Data Lake Store. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Store.\n" }, "startIpAddress": { "type": "string", "description": "The Start IP address for the firewall rule.\n" } }, "requiredInputs": [ "accountName", "endIpAddress", "resourceGroupName", "startIpAddress" ], "stateInputs": { "description": "Input properties used for looking up and filtering StoreFirewallRule resources.\n", "properties": { "accountName": { "type": "string", "description": "Specifies the name of the Data Lake Store for which the Firewall Rule should take effect.\n" }, "endIpAddress": { "type": "string", "description": "The End IP Address for the firewall rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Data Lake Store. Changing this forces a new resource to be created. Has to be between 3 to 24 characters.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Data Lake Store.\n" }, "startIpAddress": { "type": "string", "description": "The Start IP address for the firewall rule.\n" } }, "type": "object" } }, "azure:datashare/account:Account": { "description": "Manages a Data Share Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.datashare.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.datashare.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n identity=azure.datashare.AccountIdentityArgs(\n type=\"SystemAssigned\",\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.DataShare.Account(\"exampleAccount\", new Azure.DataShare.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026datashare.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "identity": { "$ref": "#/types/azure:datashare/AccountIdentity:AccountIdentity", "description": "An `identity` block as defined below.\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 `identity` block as defined below.\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" } }, "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 `identity` block as defined below.\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" } }, "type": "object" } }, "azure:datashare/datasetBlobStorage:DatasetBlobStorage": { "description": "Manages a Data Share Blob Storage Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.datashare.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleShare = new azure.datashare.Share(\"exampleShare\", {\n accountId: exampleAccount.id,\n kind: \"CopyBased\",\n});\nconst exampleStorage_accountAccount = new azure.storage.Account(\"exampleStorage/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"RAGRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleStorage / accountAccount.name,\n containerAccessType: \"container\",\n});\nconst exampleServicePrincipal = exampleAccount.name.apply(name =\u003e azuread.getServicePrincipal({\n displayName: name,\n}));\nconst exampleAssignment = new azure.authorization.Assignment(\"exampleAssignment\", {\n scope: exampleStorage / accountAccount.id,\n roleDefinitionName: \"Storage Blob Data Reader\",\n principalId: exampleServicePrincipal.objectId,\n});\nconst exampleDatasetBlobStorage = new azure.datashare.DatasetBlobStorage(\"exampleDatasetBlobStorage\", {\n dataShareId: exampleShare.id,\n containerName: exampleContainer.name,\n storageAccount: {\n name: exampleStorage / accountAccount.name,\n resourceGroupName: exampleStorage / accountAccount.resourceGroupName,\n subscriptionId: \"00000000-0000-0000-0000-000000000000\",\n },\n filePath: \"myfile.txt\",\n}, {\n dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.datashare.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n identity=azure.datashare.AccountIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_share = azure.datashare.Share(\"exampleShare\",\n account_id=example_account.id,\n kind=\"CopyBased\")\nexample_storage_account_account = azure.storage.Account(\"exampleStorage/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"RAGRS\")\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_storage / account_account[\"name\"],\n container_access_type=\"container\")\nexample_service_principal = example_account.name.apply(lambda name: azuread.get_service_principal(display_name=name))\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n scope=example_storage / account_account[\"id\"],\n role_definition_name=\"Storage Blob Data Reader\",\n principal_id=example_service_principal.object_id)\nexample_dataset_blob_storage = azure.datashare.DatasetBlobStorage(\"exampleDatasetBlobStorage\",\n data_share_id=example_share.id,\n container_name=example_container.name,\n storage_account=azure.datashare.DatasetBlobStorageStorageAccountArgs(\n name=example_storage / account_account[\"name\"],\n resource_group_name=example_storage / account_account[\"resourceGroupName\"],\n subscription_id=\"00000000-0000-0000-0000-000000000000\",\n ),\n file_path=\"myfile.txt\",\n opts=ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.DataShare.Account(\"exampleAccount\", new Azure.DataShare.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n var exampleShare = new Azure.DataShare.Share(\"exampleShare\", new Azure.DataShare.ShareArgs\n {\n AccountId = exampleAccount.Id,\n Kind = \"CopyBased\",\n });\n var exampleStorage_accountAccount = new Azure.Storage.Account(\"exampleStorage/accountAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"RAGRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleStorage / accountAccount.Name,\n ContainerAccessType = \"container\",\n });\n var exampleServicePrincipal = exampleAccount.Name.Apply(name =\u003e AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = name,\n }));\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleStorage / accountAccount.Id,\n RoleDefinitionName = \"Storage Blob Data Reader\",\n PrincipalId = exampleServicePrincipal.Apply(exampleServicePrincipal =\u003e exampleServicePrincipal.ObjectId),\n });\n var exampleDatasetBlobStorage = new Azure.DataShare.DatasetBlobStorage(\"exampleDatasetBlobStorage\", new Azure.DataShare.DatasetBlobStorageArgs\n {\n DataShareId = exampleShare.Id,\n ContainerName = exampleContainer.Name,\n StorageAccount = new Azure.DataShare.Inputs.DatasetBlobStorageStorageAccountArgs\n {\n Name = exampleStorage / accountAccount.Name,\n ResourceGroupName = exampleStorage / accountAccount.ResourceGroupName,\n SubscriptionId = \"00000000-0000-0000-0000-000000000000\",\n },\n FilePath = \"myfile.txt\",\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n exampleAssignment,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v2/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026datashare.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleShare\", \u0026datashare.ShareArgs{\n\t\t\tAccountId: exampleAccount.ID(),\n\t\t\tKind: pulumi.String(\"CopyBased\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"exampleStorage_accountAccount\", \u0026storage.AccountArgs{\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(\"RAGRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"exampleContainer\", \u0026storage.ContainerArgs{\n\t\t\tStorageAccountName: pulumi.String(exampleStorage / accountAccount.Name),\n\t\t\tContainerAccessType: pulumi.String(\"container\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: pulumi.String(exampleStorage / accountAccount.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Reader\"),\n\t\t\tPrincipalId: exampleServicePrincipal.ApplyT(func(exampleServicePrincipal azuread.LookupServicePrincipalResult) (string, error) {\n\t\t\t\treturn exampleServicePrincipal.ObjectId, 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 = datashare.NewDatasetBlobStorage(ctx, \"exampleDatasetBlobStorage\", \u0026datashare.DatasetBlobStorageArgs{\n\t\t\tDataShareId: exampleShare.ID(),\n\t\t\tContainerName: exampleContainer.Name,\n\t\t\tStorageAccount: \u0026datashare.DatasetBlobStorageStorageAccountArgs{\n\t\t\t\tName: pulumi.String(exampleStorage / accountAccount.Name),\n\t\t\t\tResourceGroupName: pulumi.String(exampleStorage / accountAccount.ResourceGroupName),\n\t\t\t\tSubscriptionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t\tFilePath: pulumi.String(\"myfile.txt\"),\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{{% /example %}}\n{{% /examples %}}", "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 `storage_account` block as defined below.\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" }, "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" }, "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 `storage_account` block as defined below.\n" } }, "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" }, "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 `storage_account` block as defined below.\n" } }, "type": "object" } }, "azure:datashare/datasetDataLakeGen1:DatasetDataLakeGen1": { "description": "Manages a Data Share Data Lake Gen1 Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.datashare.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleShare = new azure.datashare.Share(\"exampleShare\", {\n accountId: exampleAccount.id,\n kind: \"CopyBased\",\n});\nconst exampleStore = new azure.datalake.Store(\"exampleStore\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n firewallState: \"Disabled\",\n});\nconst exampleStoreFile = new azure.datalake.StoreFile(\"exampleStoreFile\", {\n accountName: exampleStore.name,\n localFilePath: \"./example/myfile.txt\",\n remoteFilePath: \"/example/myfile.txt\",\n});\nconst exampleServicePrincipal = exampleAccount.name.apply(name =\u003e azuread.getServicePrincipal({\n displayName: name,\n}));\nconst exampleAssignment = new azure.authorization.Assignment(\"exampleAssignment\", {\n scope: exampleStore.id,\n roleDefinitionName: \"Owner\",\n principalId: exampleServicePrincipal.objectId,\n});\nconst exampleDatasetDataLakeGen1 = new azure.datashare.DatasetDataLakeGen1(\"exampleDatasetDataLakeGen1\", {\n dataShareId: exampleShare.id,\n dataLakeStoreId: exampleStore.id,\n fileName: \"myfile.txt\",\n folderPath: \"example\",\n}, {\n dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.datashare.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n identity=azure.datashare.AccountIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_share = azure.datashare.Share(\"exampleShare\",\n account_id=example_account.id,\n kind=\"CopyBased\")\nexample_store = azure.datalake.Store(\"exampleStore\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n firewall_state=\"Disabled\")\nexample_store_file = azure.datalake.StoreFile(\"exampleStoreFile\",\n account_name=example_store.name,\n local_file_path=\"./example/myfile.txt\",\n remote_file_path=\"/example/myfile.txt\")\nexample_service_principal = example_account.name.apply(lambda name: azuread.get_service_principal(display_name=name))\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n scope=example_store.id,\n role_definition_name=\"Owner\",\n principal_id=example_service_principal.object_id)\nexample_dataset_data_lake_gen1 = azure.datashare.DatasetDataLakeGen1(\"exampleDatasetDataLakeGen1\",\n data_share_id=example_share.id,\n data_lake_store_id=example_store.id,\n file_name=\"myfile.txt\",\n folder_path=\"example\",\n opts=ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.DataShare.Account(\"exampleAccount\", new Azure.DataShare.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n var exampleShare = new Azure.DataShare.Share(\"exampleShare\", new Azure.DataShare.ShareArgs\n {\n AccountId = exampleAccount.Id,\n Kind = \"CopyBased\",\n });\n var exampleStore = new Azure.DataLake.Store(\"exampleStore\", new Azure.DataLake.StoreArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n FirewallState = \"Disabled\",\n });\n var exampleStoreFile = new Azure.DataLake.StoreFile(\"exampleStoreFile\", new Azure.DataLake.StoreFileArgs\n {\n AccountName = exampleStore.Name,\n LocalFilePath = \"./example/myfile.txt\",\n RemoteFilePath = \"/example/myfile.txt\",\n });\n var exampleServicePrincipal = exampleAccount.Name.Apply(name =\u003e AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = name,\n }));\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleStore.Id,\n RoleDefinitionName = \"Owner\",\n PrincipalId = exampleServicePrincipal.Apply(exampleServicePrincipal =\u003e exampleServicePrincipal.ObjectId),\n });\n var exampleDatasetDataLakeGen1 = new Azure.DataShare.DatasetDataLakeGen1(\"exampleDatasetDataLakeGen1\", new Azure.DataShare.DatasetDataLakeGen1Args\n {\n DataShareId = exampleShare.Id,\n DataLakeStoreId = exampleStore.Id,\n FileName = \"myfile.txt\",\n FolderPath = \"example\",\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n exampleAssignment,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datalake\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v2/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026datashare.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleShare\", \u0026datashare.ShareArgs{\n\t\t\tAccountId: exampleAccount.ID(),\n\t\t\tKind: pulumi.String(\"CopyBased\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := datalake.NewStore(ctx, \"exampleStore\", \u0026datalake.StoreArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tFirewallState: pulumi.String(\"Disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datalake.NewStoreFile(ctx, \"exampleStoreFile\", \u0026datalake.StoreFileArgs{\n\t\t\tAccountName: exampleStore.Name,\n\t\t\tLocalFilePath: pulumi.String(\"./example/myfile.txt\"),\n\t\t\tRemoteFilePath: pulumi.String(\"/example/myfile.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: exampleStore.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Owner\"),\n\t\t\tPrincipalId: exampleServicePrincipal.ApplyT(func(exampleServicePrincipal azuread.LookupServicePrincipalResult) (string, error) {\n\t\t\t\treturn exampleServicePrincipal.ObjectId, 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 = datashare.NewDatasetDataLakeGen1(ctx, \"exampleDatasetDataLakeGen1\", \u0026datashare.DatasetDataLakeGen1Args{\n\t\t\tDataShareId: exampleShare.ID(),\n\t\t\tDataLakeStoreId: exampleStore.ID(),\n\t\t\tFileName: pulumi.String(\"myfile.txt\"),\n\t\t\tFolderPath: pulumi.String(\"example\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "dataLakeStoreId": { "type": "string", "description": "The resource ID of the Data Lake Store to be shared with the receiver.\n" }, "dataShareId": { "type": "string", "description": "The resource ID of the Data Share where this Data Share Data Lake Gen1 Dataset should be created. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "displayName": { "type": "string", "description": "The displayed name of the Data Share Dataset.\n" }, "fileName": { "type": "string", "description": "The file name of the data lake store to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "folderPath": { "type": "string", "description": "The folder path of the data lake store to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "name": { "type": "string", "description": "The name of the Data Share Data Lake Gen1 Dataset. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" } }, "required": [ "dataLakeStoreId", "dataShareId", "displayName", "folderPath", "name" ], "inputProperties": { "dataLakeStoreId": { "type": "string", "description": "The resource ID of the Data Lake Store to be shared with the receiver.\n" }, "dataShareId": { "type": "string", "description": "The resource ID of the Data Share where this Data Share Data Lake Gen1 Dataset should be created. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "fileName": { "type": "string", "description": "The file name of the data lake store to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "folderPath": { "type": "string", "description": "The folder path of the data lake store to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "name": { "type": "string", "description": "The name of the Data Share Data Lake Gen1 Dataset. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" } }, "requiredInputs": [ "dataLakeStoreId", "dataShareId", "folderPath" ], "stateInputs": { "description": "Input properties used for looking up and filtering DatasetDataLakeGen1 resources.\n", "properties": { "dataLakeStoreId": { "type": "string", "description": "The resource ID of the Data Lake Store to be shared with the receiver.\n" }, "dataShareId": { "type": "string", "description": "The resource ID of the Data Share where this Data Share Data Lake Gen1 Dataset should be created. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "displayName": { "type": "string", "description": "The displayed name of the Data Share Dataset.\n" }, "fileName": { "type": "string", "description": "The file name of the data lake store to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "folderPath": { "type": "string", "description": "The folder path of the data lake store to be shared with the receiver. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" }, "name": { "type": "string", "description": "The name of the Data Share Data Lake Gen1 Dataset. Changing this forces a new Data Share Data Lake Gen1 Dataset to be created.\n" } }, "type": "object" } }, "azure:datashare/datasetDataLakeGen2:DatasetDataLakeGen2": { "description": "Manages a Data Share Data Lake Gen2 Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.datashare.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleShare = new azure.datashare.Share(\"exampleShare\", {\n accountId: exampleAccount.id,\n kind: \"CopyBased\",\n});\nconst exampleStorage_accountAccount = new azure.storage.Account(\"exampleStorage/accountAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountKind: \"BlobStorage\",\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", {storageAccountId: exampleStorage / accountAccount.id});\nconst exampleServicePrincipal = exampleAccount.name.apply(name =\u003e azuread.getServicePrincipal({\n displayName: name,\n}));\nconst exampleAssignment = new azure.authorization.Assignment(\"exampleAssignment\", {\n scope: exampleStorage / accountAccount.id,\n roleDefinitionName: \"Storage Blob Data Reader\",\n principalId: exampleServicePrincipal.objectId,\n});\nconst exampleDatasetDataLakeGen2 = new azure.datashare.DatasetDataLakeGen2(\"exampleDatasetDataLakeGen2\", {\n shareId: exampleShare.id,\n storageAccountId: exampleStorage / accountAccount.id,\n fileSystemName: exampleDataLakeGen2Filesystem.name,\n filePath: \"myfile.txt\",\n}, {\n dependsOn: [exampleAssignment],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.datashare.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n identity=azure.datashare.AccountIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_share = azure.datashare.Share(\"exampleShare\",\n account_id=example_account.id,\n kind=\"CopyBased\")\nexample_storage_account_account = azure.storage.Account(\"exampleStorage/accountAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_kind=\"BlobStorage\",\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", storage_account_id=example_storage / account_account[\"id\"])\nexample_service_principal = example_account.name.apply(lambda name: azuread.get_service_principal(display_name=name))\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n scope=example_storage / account_account[\"id\"],\n role_definition_name=\"Storage Blob Data Reader\",\n principal_id=example_service_principal.object_id)\nexample_dataset_data_lake_gen2 = azure.datashare.DatasetDataLakeGen2(\"exampleDatasetDataLakeGen2\",\n share_id=example_share.id,\n storage_account_id=example_storage / account_account[\"id\"],\n file_system_name=example_data_lake_gen2_filesystem.name,\n file_path=\"myfile.txt\",\n opts=ResourceOptions(depends_on=[example_assignment]))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.DataShare.Account(\"exampleAccount\", new Azure.DataShare.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Identity = new Azure.DataShare.Inputs.AccountIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n var exampleShare = new Azure.DataShare.Share(\"exampleShare\", new Azure.DataShare.ShareArgs\n {\n AccountId = exampleAccount.Id,\n Kind = \"CopyBased\",\n });\n var exampleStorage_accountAccount = new Azure.Storage.Account(\"exampleStorage/accountAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountKind = \"BlobStorage\",\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", new Azure.Storage.DataLakeGen2FilesystemArgs\n {\n StorageAccountId = exampleStorage / accountAccount.Id,\n });\n var exampleServicePrincipal = exampleAccount.Name.Apply(name =\u003e AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = name,\n }));\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleStorage / accountAccount.Id,\n RoleDefinitionName = \"Storage Blob Data Reader\",\n PrincipalId = exampleServicePrincipal.Apply(exampleServicePrincipal =\u003e exampleServicePrincipal.ObjectId),\n });\n var exampleDatasetDataLakeGen2 = new Azure.DataShare.DatasetDataLakeGen2(\"exampleDatasetDataLakeGen2\", new Azure.DataShare.DatasetDataLakeGen2Args\n {\n ShareId = exampleShare.Id,\n StorageAccountId = exampleStorage / accountAccount.Id,\n FileSystemName = exampleDataLakeGen2Filesystem.Name,\n FilePath = \"myfile.txt\",\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n exampleAssignment,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v2/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026datashare.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleShare\", \u0026datashare.ShareArgs{\n\t\t\tAccountId: exampleAccount.ID(),\n\t\t\tKind: pulumi.String(\"CopyBased\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"exampleStorage_accountAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleDataLakeGen2Filesystem\", \u0026storage.DataLakeGen2FilesystemArgs{\n\t\t\tStorageAccountId: pulumi.String(exampleStorage / accountAccount.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAssignment, err := authorization.NewAssignment(ctx, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: pulumi.String(exampleStorage / accountAccount.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Reader\"),\n\t\t\tPrincipalId: exampleServicePrincipal.ApplyT(func(exampleServicePrincipal azuread.LookupServicePrincipalResult) (string, error) {\n\t\t\t\treturn exampleServicePrincipal.ObjectId, 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 = datashare.NewDatasetDataLakeGen2(ctx, \"exampleDatasetDataLakeGen2\", \u0026datashare.DatasetDataLakeGen2Args{\n\t\t\tShareId: exampleShare.ID(),\n\t\t\tStorageAccountId: pulumi.String(exampleStorage / accountAccount.Id),\n\t\t\tFileSystemName: exampleDataLakeGen2Filesystem.Name,\n\t\t\tFilePath: pulumi.String(\"myfile.txt\"),\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{{% /example %}}\n{{% /examples %}}", "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 `folder_path` 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 `file_path` 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 `folder_path` 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 `file_path` 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" } }, "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 `folder_path` 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 `file_path` 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" } }, "type": "object" } }, "azure:datashare/datasetKustoCluster:DatasetKustoCluster": { "description": "Manages a Data Share Kusto Cluster Dataset.\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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:datashare/share:Share": { "description": "Manages a Data Share.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.datashare.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n foo: \"bar\",\n },\n});\nconst exampleShare = new azure.datashare.Share(\"exampleShare\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.datashare.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"foo\": \"bar\",\n })\nexample_share = azure.datashare.Share(\"exampleShare\",\n account_id=example_account.id,\n kind=\"CopyBased\",\n description=\"example desc\",\n terms=\"example terms\",\n snapshot_schedule=azure.datashare.ShareSnapshotScheduleArgs(\n name=\"example-ss\",\n recurrence=\"Day\",\n start_time=\"2020-04-17T04:47:52.9614956Z\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.DataShare.Account(\"exampleAccount\", new Azure.DataShare.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n var exampleShare = new Azure.DataShare.Share(\"exampleShare\", new Azure.DataShare.ShareArgs\n {\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026datashare.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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, \"exampleShare\", \u0026datashare.ShareArgs{\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{{% /example %}}\n{{% /examples %}}", "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 `snapshot_schedule` 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" }, "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 `snapshot_schedule` 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" }, "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 `snapshot_schedule` block as defined below.\n" }, "terms": { "type": "string", "description": "The terms of the Data Share.\n" } }, "type": "object" } }, "azure:devspace/controller:Controller": { "description": "Manages a DevSpace Controller.\n", "properties": { "dataPlaneFqdn": { "type": "string", "description": "DNS name for accessing DataPlane services.\n" }, "hostSuffix": { "type": "string", "description": "The host suffix for the DevSpace Controller.\n" }, "location": { "type": "string", "description": "Specifies the supported location where the DevSpace Controller should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the DevSpace Controller. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group under which the DevSpace Controller resource has to be created. Changing this forces a new resource to be created.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this DevSpace Controller. Possible values are `S1`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "targetContainerHostCredentialsBase64": { "type": "string", "description": "Base64 encoding of `kube_config_raw` of Azure Kubernetes Service cluster. Changing this forces a new resource to be created.\n" }, "targetContainerHostResourceId": { "type": "string", "description": "The resource id of Azure Kubernetes Service cluster. Changing this forces a new resource to be created.\n" } }, "required": [ "dataPlaneFqdn", "hostSuffix", "location", "name", "resourceGroupName", "skuName", "targetContainerHostCredentialsBase64", "targetContainerHostResourceId" ], "inputProperties": { "location": { "type": "string", "description": "Specifies the supported location where the DevSpace Controller should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the DevSpace Controller. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group under which the DevSpace Controller resource has to be created. Changing this forces a new resource to be created.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this DevSpace Controller. Possible values are `S1`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "targetContainerHostCredentialsBase64": { "type": "string", "description": "Base64 encoding of `kube_config_raw` of Azure Kubernetes Service cluster. Changing this forces a new resource to be created.\n" }, "targetContainerHostResourceId": { "type": "string", "description": "The resource id of Azure Kubernetes Service cluster. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "resourceGroupName", "skuName", "targetContainerHostCredentialsBase64", "targetContainerHostResourceId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Controller resources.\n", "properties": { "dataPlaneFqdn": { "type": "string", "description": "DNS name for accessing DataPlane services.\n" }, "hostSuffix": { "type": "string", "description": "The host suffix for the DevSpace Controller.\n" }, "location": { "type": "string", "description": "Specifies the supported location where the DevSpace Controller should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the DevSpace Controller. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group under which the DevSpace Controller resource has to be created. Changing this forces a new resource to be created.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this DevSpace Controller. Possible values are `S1`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "targetContainerHostCredentialsBase64": { "type": "string", "description": "Base64 encoding of `kube_config_raw` of Azure Kubernetes Service cluster. Changing this forces a new resource to be created.\n" }, "targetContainerHostResourceId": { "type": "string", "description": "The resource id of Azure Kubernetes Service cluster. Changing this forces a new resource to be created.\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`azure.devtest.Schedule` resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"eastus\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n networkInterfaceIds: [exampleNetworkInterface.id],\n size: \"Standard_B2s\",\n sourceImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.04-LTS\",\n version: \"latest\",\n },\n osDisk: {\n name: `myosdisk-%d`,\n caching: \"ReadWrite\",\n managedDiskType: \"Standard_LRS\",\n },\n adminUsername: \"testadmin\",\n adminPassword: \"Password1234!\",\n disablePasswordAuthentication: false,\n});\nconst exampleGlobalVMShutdownSchedule = new azure.devtest.GlobalVMShutdownSchedule(\"exampleGlobalVMShutdownSchedule\", {\n virtualMachineId: azurerm_virtual_machine.example.id,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"testconfiguration1\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n network_interface_ids=[example_network_interface.id],\n size=\"Standard_B2s\",\n source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ),\n os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs(\n name=\"myosdisk-%d\",\n caching=\"ReadWrite\",\n managed_disk_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(\"exampleGlobalVMShutdownSchedule\",\n virtual_machine_id=azurerm_virtual_machine[\"example\"][\"id\"],\n location=example_resource_group.location,\n enabled=True,\n daily_recurrence_time=\"1100\",\n timezone=\"Pacific Standard Time\",\n notification_settings=azure.devtest.GlobalVMShutdownScheduleNotificationSettingsArgs(\n enabled=True,\n time_in_minutes=60,\n webhook_url=\"https://sample-webhook-url.example.com\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", new Azure.Compute.LinuxVirtualMachineArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n NetworkInterfaceIds = \n {\n exampleNetworkInterface.Id,\n },\n Size = \"Standard_B2s\",\n SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs\n {\n Publisher = \"Canonical\",\n Offer = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n Version = \"latest\",\n },\n OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs\n {\n Name = \"myosdisk-%d\",\n Caching = \"ReadWrite\",\n ManagedDiskType = \"Standard_LRS\",\n },\n AdminUsername = \"testadmin\",\n AdminPassword = \"Password1234!\",\n DisablePasswordAuthentication = false,\n });\n var exampleGlobalVMShutdownSchedule = new Azure.DevTest.GlobalVMShutdownSchedule(\"exampleGlobalVMShutdownSchedule\", new Azure.DevTest.GlobalVMShutdownScheduleArgs\n {\n VirtualMachineId = azurerm_virtual_machine.Example.Id,\n Location = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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(\"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.NewLinuxVirtualMachine(ctx, \"exampleLinuxVirtualMachine\", \u0026compute.LinuxVirtualMachineArgs{\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\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(\"UbuntuServer\"),\n\t\t\t\tSku: pulumi.String(\"16.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(fmt.Sprintf(\"%v%v%v\", \"myosdisk-\", \"%\", \"d\")),\n\t\t\t\tCaching: pulumi.String(\"ReadWrite\"),\n\t\t\t\tManagedDiskType: 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, \"exampleGlobalVMShutdownSchedule\", \u0026devtest.GlobalVMShutdownScheduleArgs{\n\t\t\tVirtualMachineId: pulumi.Any(azurerm_virtual_machine.Example.Id),\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `true` and `false`. Defaults to `true`.\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" }, "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 `true` and `false`. Defaults to `true`.\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" }, "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" } }, "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 `true` and `false`. Defaults to `true`.\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" }, "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" } }, "type": "object" } }, "azure:devtest/lab:Lab": { "description": "Manages a Dev Test Lab.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleLab = new azure.devtest.Lab(\"exampleLab\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n Sydney: \"Australia\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_lab = azure.devtest.Lab(\"exampleLab\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"Sydney\": \"Australia\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleLab = new Azure.DevTest.Lab(\"exampleLab\", new Azure.DevTest.LabArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"Sydney\", \"Australia\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = devtest.NewLab(ctx, \"exampleLab\", \u0026devtest.LabArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "storageType": { "type": "string", "description": "The type of storage used by the Dev Test Lab. Possible values are `Standard` and `Premium`. Defaults to `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 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" }, "name": { "type": "string", "description": "Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.\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" }, "storageType": { "type": "string", "description": "The type of storage used by the Dev Test Lab. Possible values are `Standard` and `Premium`. Defaults to `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" } }, "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" }, "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" }, "storageType": { "type": "string", "description": "The type of storage used by the Dev Test Lab. Possible values are `Standard` and `Premium`. Defaults to `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 Dev Test Lab.\n" } }, "type": "object" } }, "azure:devtest/linuxVirtualMachine:LinuxVirtualMachine": { "description": "Manages a Linux Virtual Machine within a Dev Test Lab.\n", "properties": { "allowClaim": { "type": "boolean", "description": "Can this Virtual Machine be claimed by users? Defaults to `true`.\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 `gallery_image_reference` block as defined below.\n" }, "inboundNatRules": { "type": "array", "items": { "$ref": "#/types/azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule" }, "description": "One or more `inbound_nat_rule` blocks as defined below. Changing this forces a new resource to be created.\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" }, "notes": { "type": "string", "description": "Any notes about the Virtual Machine.\n" }, "password": { "type": "string", "description": "The Password associated with the `username` used to login to this Virtual Machine. 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" }, "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 `username` used to login to this Virtual Machine. 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`.\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 `true`.\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" }, "galleryImageReference": { "$ref": "#/types/azure:devtest/LinuxVirtualMachineGalleryImageReference:LinuxVirtualMachineGalleryImageReference", "description": "A `gallery_image_reference` block as defined below.\n" }, "inboundNatRules": { "type": "array", "items": { "$ref": "#/types/azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule" }, "description": "One or more `inbound_nat_rule` blocks as defined below. Changing this forces a new resource to be created.\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" }, "notes": { "type": "string", "description": "Any notes about the Virtual Machine.\n" }, "password": { "type": "string", "description": "The Password associated with the `username` used to login to this Virtual Machine. 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" }, "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 `username` used to login to this Virtual Machine. 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`.\n" }, "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" } }, "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 `true`.\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 `gallery_image_reference` block as defined below.\n" }, "inboundNatRules": { "type": "array", "items": { "$ref": "#/types/azure:devtest/LinuxVirtualMachineInboundNatRule:LinuxVirtualMachineInboundNatRule" }, "description": "One or more `inbound_nat_rule` blocks as defined below. Changing this forces a new resource to be created.\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" }, "notes": { "type": "string", "description": "Any notes about the Virtual Machine.\n" }, "password": { "type": "string", "description": "The Password associated with the `username` used to login to this Virtual Machine. 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" }, "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 `username` used to login to this Virtual Machine. 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`.\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" } }, "type": "object" } }, "azure:devtest/policy:Policy": { "description": "Manages a Policy within a Dev Test Policy Set.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleLab = new azure.devtest.Lab(\"exampleLab\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n Sydney: \"Australia\",\n },\n});\nconst examplePolicy = new azure.devtest.Policy(\"examplePolicy\", {\n policySetName: \"default\",\n labName: exampleLab.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_lab = azure.devtest.Lab(\"exampleLab\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"Sydney\": \"Australia\",\n })\nexample_policy = azure.devtest.Policy(\"examplePolicy\",\n policy_set_name=\"default\",\n lab_name=example_lab.name,\n resource_group_name=example_resource_group.name,\n fact_data=\"\",\n threshold=\"999\",\n evaluator_type=\"MaxValuePolicy\",\n tags={\n \"Acceptance\": \"Test\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleLab = new Azure.DevTest.Lab(\"exampleLab\", new Azure.DevTest.LabArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"Sydney\", \"Australia\" },\n },\n });\n var examplePolicy = new Azure.DevTest.Policy(\"examplePolicy\", new Azure.DevTest.PolicyArgs\n {\n PolicySetName = \"default\",\n LabName = exampleLab.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n FactData = \"\",\n Threshold = \"999\",\n EvaluatorType = \"MaxValuePolicy\",\n Tags = \n {\n { \"Acceptance\", \"Test\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleLab, err := devtest.NewLab(ctx, \"exampleLab\", \u0026devtest.LabArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"examplePolicy\", \u0026devtest.PolicyArgs{\n\t\t\tPolicySetName: pulumi.String(\"default\"),\n\t\t\tLabName: exampleLab.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:devtest/schedule:Schedule": { "description": "Manages automated startup and shutdown schedules for Azure Dev Test Lab.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleLab = new azure.devtest.Lab(\"exampleLab\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSchedule = new azure.devtest.Schedule(\"exampleSchedule\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n labName: exampleLab.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_lab = azure.devtest.Lab(\"exampleLab\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_schedule = azure.devtest.Schedule(\"exampleSchedule\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n lab_name=example_lab.name,\n weekly_recurrence=azure.devtest.ScheduleWeeklyRecurrenceArgs(\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=azure.devtest.ScheduleNotificationSettingsArgs(),\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleLab = new Azure.DevTest.Lab(\"exampleLab\", new Azure.DevTest.LabArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSchedule = new Azure.DevTest.Schedule(\"exampleSchedule\", new Azure.DevTest.ScheduleArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n LabName = exampleLab.Name,\n WeeklyRecurrence = new Azure.DevTest.Inputs.ScheduleWeeklyRecurrenceArgs\n {\n Time = \"1100\",\n WeekDays = \n {\n \"Monday\",\n \"Tuesday\",\n },\n },\n TimeZoneId = \"Pacific Standard Time\",\n TaskType = \"LabVmsStartupTask\",\n NotificationSettings = ,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleLab, err := devtest.NewLab(ctx, \"exampleLab\", \u0026devtest.LabArgs{\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 = devtest.NewSchedule(ctx, \"exampleSchedule\", \u0026devtest.ScheduleArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLabName: exampleLab.Name,\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: nil,\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{{% /example %}}\n{{% /examples %}}", "properties": { "dailyRecurrence": { "$ref": "#/types/azure:devtest/ScheduleDailyRecurrence:ScheduleDailyRecurrence" }, "hourlyRecurrence": { "$ref": "#/types/azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence" }, "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 `task_type`. For instance for task_type `LabVmsStartupTask` the name needs to be `LabVmAutoStart`.\n" }, "notificationSettings": { "$ref": "#/types/azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings" }, "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" } }, "required": [ "labName", "location", "name", "notificationSettings", "resourceGroupName", "taskType", "timeZoneId" ], "inputProperties": { "dailyRecurrence": { "$ref": "#/types/azure:devtest/ScheduleDailyRecurrence:ScheduleDailyRecurrence" }, "hourlyRecurrence": { "$ref": "#/types/azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence" }, "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 `task_type`. For instance for task_type `LabVmsStartupTask` the name needs to be `LabVmAutoStart`.\n" }, "notificationSettings": { "$ref": "#/types/azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings" }, "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" } }, "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" }, "hourlyRecurrence": { "$ref": "#/types/azure:devtest/ScheduleHourlyRecurrence:ScheduleHourlyRecurrence" }, "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 `task_type`. For instance for task_type `LabVmsStartupTask` the name needs to be `LabVmAutoStart`.\n" }, "notificationSettings": { "$ref": "#/types/azure:devtest/ScheduleNotificationSettings:ScheduleNotificationSettings" }, "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" } }, "type": "object" } }, "azure:devtest/virtualNetwork:VirtualNetwork": { "description": "Manages a Virtual Network within a DevTest Lab.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleLab = new azure.devtest.Lab(\"exampleLab\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n Sydney: \"Australia\",\n },\n});\nconst exampleVirtualNetwork = new azure.devtest.VirtualNetwork(\"exampleVirtualNetwork\", {\n labName: exampleLab.name,\n resourceGroupName: exampleResourceGroup.name,\n subnet: {\n usePublicIpAddress: \"Allow\",\n useInVirtualMachineCreation: \"Allow\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_lab = azure.devtest.Lab(\"exampleLab\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"Sydney\": \"Australia\",\n })\nexample_virtual_network = azure.devtest.VirtualNetwork(\"exampleVirtualNetwork\",\n lab_name=example_lab.name,\n resource_group_name=example_resource_group.name,\n subnet=azure.devtest.VirtualNetworkSubnetArgs(\n use_public_ip_address=\"Allow\",\n use_in_virtual_machine_creation=\"Allow\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleLab = new Azure.DevTest.Lab(\"exampleLab\", new Azure.DevTest.LabArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"Sydney\", \"Australia\" },\n },\n });\n var exampleVirtualNetwork = new Azure.DevTest.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.DevTest.VirtualNetworkArgs\n {\n LabName = exampleLab.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Subnet = new Azure.DevTest.Inputs.VirtualNetworkSubnetArgs\n {\n UsePublicIpAddress = \"Allow\",\n UseInVirtualMachineCreation = \"Allow\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleLab, err := devtest.NewLab(ctx, \"exampleLab\", \u0026devtest.LabArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleVirtualNetwork\", \u0026devtest.VirtualNetworkArgs{\n\t\t\tLabName: exampleLab.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `subnet` 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" }, "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 `subnet` 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" }, "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 `subnet` 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", "properties": { "allowClaim": { "type": "boolean", "description": "Can this Virtual Machine be claimed by users? Defaults to `true`.\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 `gallery_image_reference` block as defined below.\n" }, "inboundNatRules": { "type": "array", "items": { "$ref": "#/types/azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule" }, "description": "One or more `inbound_nat_rule` blocks as defined below. Changing this forces a new resource to be created.\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" }, "notes": { "type": "string", "description": "Any notes about the Virtual Machine.\n" }, "password": { "type": "string", "description": "The Password associated with the `username` used to login to this Virtual Machine. 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" }, "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`.\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 `true`.\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" }, "galleryImageReference": { "$ref": "#/types/azure:devtest/WindowsVirtualMachineGalleryImageReference:WindowsVirtualMachineGalleryImageReference", "description": "A `gallery_image_reference` block as defined below.\n" }, "inboundNatRules": { "type": "array", "items": { "$ref": "#/types/azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule" }, "description": "One or more `inbound_nat_rule` blocks as defined below. Changing this forces a new resource to be created.\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" }, "notes": { "type": "string", "description": "Any notes about the Virtual Machine.\n" }, "password": { "type": "string", "description": "The Password associated with the `username` used to login to this Virtual Machine. 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" }, "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`.\n" }, "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" } }, "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 `true`.\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 `gallery_image_reference` block as defined below.\n" }, "inboundNatRules": { "type": "array", "items": { "$ref": "#/types/azure:devtest/WindowsVirtualMachineInboundNatRule:WindowsVirtualMachineInboundNatRule" }, "description": "One or more `inbound_nat_rule` blocks as defined below. Changing this forces a new resource to be created.\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" }, "notes": { "type": "string", "description": "Any notes about the Virtual Machine.\n" }, "password": { "type": "string", "description": "The Password associated with the `username` used to login to this Virtual Machine. 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" }, "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`.\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" } }, "type": "object" } }, "azure:dns/aRecord:ARecord": { "description": "Enables you to manage DNS A Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleARecord = new azure.dns.ARecord(\"exampleARecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n records: [\"10.0.180.17\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_a_record = azure.dns.ARecord(\"exampleARecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\"10.0.180.17\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleARecord = new Azure.Dns.ARecord(\"exampleARecord\", new Azure.Dns.ARecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \n {\n \"10.0.180.17\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewARecord(ctx, \"exampleARecord\", \u0026dns.ARecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### Alias Record)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Dynamic\",\n ipVersion: \"IPv4\",\n});\nconst exampleARecord = new azure.dns.ARecord(\"exampleARecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n targetResourceId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Dynamic\",\n ip_version=\"IPv4\")\nexample_a_record = azure.dns.ARecord(\"exampleARecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n target_resource_id=example_public_ip.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n IpVersion = \"IPv4\",\n });\n var exampleARecord = new Azure.Dns.ARecord(\"exampleARecord\", new Azure.Dns.ARecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n TargetResourceId = examplePublicIp.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleARecord\", \u0026dns.ARecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS A Record.\n" }, "name": { "type": "string", "description": "The name of the DNS A Record.\n" }, "records": { "type": "array", "items": { "type": "string" }, "description": "List of IPv4 Addresses. Conflicts with `target_resource_id`.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "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 A Record.\n" }, "records": { "type": "array", "items": { "type": "string" }, "description": "List of IPv4 Addresses. Conflicts with `target_resource_id`.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "zoneName": { "type": "string", "description": "Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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.\n" }, "records": { "type": "array", "items": { "type": "string" }, "description": "List of IPv4 Addresses. Conflicts with `target_resource_id`.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "zoneName": { "type": "string", "description": "Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/aaaaRecord:AaaaRecord": { "description": "Enables you to manage DNS AAAA Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleAaaaRecord = new azure.dns.AaaaRecord(\"exampleAaaaRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_aaaa_record = azure.dns.AaaaRecord(\"exampleAaaaRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleAaaaRecord = new Azure.Dns.AaaaRecord(\"exampleAaaaRecord\", new Azure.Dns.AaaaRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewAaaaRecord(ctx, \"exampleAaaaRecord\", \u0026dns.AaaaRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tTtl: 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\n{{% /example %}}\n{{% example %}}\n### Alias Record)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Dynamic\",\n ipVersion: \"IPv6\",\n});\nconst exampleAaaaRecord = new azure.dns.AaaaRecord(\"exampleAaaaRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n targetResourceId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Dynamic\",\n ip_version=\"IPv6\")\nexample_aaaa_record = azure.dns.AaaaRecord(\"exampleAaaaRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n target_resource_id=example_public_ip.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n IpVersion = \"IPv6\",\n });\n var exampleAaaaRecord = new Azure.Dns.AaaaRecord(\"exampleAaaaRecord\", new Azure.Dns.AaaaRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n TargetResourceId = examplePublicIp.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleAaaaRecord\", \u0026dns.AaaaRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS AAAA Record.\n" }, "name": { "type": "string", "description": "The name of the DNS AAAA Record.\n" }, "records": { "type": "array", "items": { "type": "string" }, "description": "List of IPv4 Addresses. Conflicts with `target_resource_id`.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "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.\n" }, "records": { "type": "array", "items": { "type": "string" }, "description": "List of IPv4 Addresses. Conflicts with `target_resource_id`.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "zoneName": { "type": "string", "description": "Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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.\n" }, "records": { "type": "array", "items": { "type": "string" }, "description": "List of IPv4 Addresses. Conflicts with `target_resource_id`.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "zoneName": { "type": "string", "description": "Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/cNameRecord:CNameRecord": { "description": "Enables you to manage DNS CNAME Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"exampleCNameRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n record: \"contoso.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_c_name_record = azure.dns.CNameRecord(\"exampleCNameRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n record=\"contoso.com\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleCNameRecord = new Azure.Dns.CNameRecord(\"exampleCNameRecord\", new Azure.Dns.CNameRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Record = \"contoso.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewCNameRecord(ctx, \"exampleCNameRecord\", \u0026dns.CNameRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### Alias Record)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst target = new azure.dns.CNameRecord(\"target\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n record: \"contoso.com\",\n});\nconst exampleCNameRecord = new azure.dns.CNameRecord(\"exampleCNameRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n targetResourceId: target.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\ntarget = azure.dns.CNameRecord(\"target\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n record=\"contoso.com\")\nexample_c_name_record = azure.dns.CNameRecord(\"exampleCNameRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n target_resource_id=target.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var target = new Azure.Dns.CNameRecord(\"target\", new Azure.Dns.CNameRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Record = \"contoso.com\",\n });\n var exampleCNameRecord = new Azure.Dns.CNameRecord(\"exampleCNameRecord\", new Azure.Dns.CNameRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n TargetResourceId = target.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleCNameRecord\", \u0026dns.CNameRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS CName Record.\n" }, "name": { "type": "string", "description": "The name of the DNS CNAME Record.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "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.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "zoneName": { "type": "string", "description": "Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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.\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" }, "targetResourceId": { "type": "string", "description": "The Azure resource id of the target object. Conflicts with `records`\n" }, "ttl": { "type": "integer" }, "zoneName": { "type": "string", "description": "Specifies the DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/caaRecord:CaaRecord": { "description": "Enables you to manage DNS CAA Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleCaaRecord = new azure.dns.CaaRecord(\"exampleCaaRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_caa_record = azure.dns.CaaRecord(\"exampleCaaRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\n azure.dns.CaaRecordRecordArgs(\n flags=0,\n tag=\"issue\",\n value=\"example.com\",\n ),\n azure.dns.CaaRecordRecordArgs(\n flags=0,\n tag=\"issue\",\n value=\"example.net\",\n ),\n azure.dns.CaaRecordRecordArgs(\n flags=0,\n tag=\"issuewild\",\n value=\";\",\n ),\n azure.dns.CaaRecordRecordArgs(\n flags=0,\n tag=\"iodef\",\n value=\"mailto:user@nonexisting.tld\",\n ),\n ],\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleCaaRecord = new Azure.Dns.CaaRecord(\"exampleCaaRecord\", new Azure.Dns.CaaRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewCaaRecord(ctx, \"exampleCaaRecord\", \u0026dns.CaaRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/CaaRecordRecord:CaaRecordRecord" }, "description": "A list of values that make up the CAA record. Each `record` 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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/CaaRecordRecord:CaaRecordRecord" }, "description": "A list of values that make up the CAA record. Each `record` 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" } }, "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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/CaaRecordRecord:CaaRecordRecord" }, "description": "A list of values that make up the CAA record. Each `record` 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" } }, "type": "object" } }, "azure:dns/mxRecord:MxRecord": { "description": "Enables you to manage DNS MX Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleMxRecord = new azure.dns.MxRecord(\"exampleMxRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_mx_record = azure.dns.MxRecord(\"exampleMxRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\n azure.dns.MxRecordRecordArgs(\n preference=\"10\",\n exchange=\"mail1.contoso.com\",\n ),\n azure.dns.MxRecordRecordArgs(\n preference=\"20\",\n exchange=\"mail2.contoso.com\",\n ),\n ],\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleMxRecord = new Azure.Dns.MxRecord(\"exampleMxRecord\", new Azure.Dns.MxRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewMxRecord(ctx, \"exampleMxRecord\", \u0026dns.MxRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent 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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/MxRecordRecord:MxRecordRecord" }, "description": "A list of values that make up the MX record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/MxRecordRecord:MxRecordRecord" }, "description": "A list of values that make up the MX record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/nsRecord:NsRecord": { "description": "Enables you to manage DNS NS Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleNsRecord = new azure.dns.NsRecord(\"exampleNsRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_ns_record = azure.dns.NsRecord(\"exampleNsRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleNsRecord = new Azure.Dns.NsRecord(\"exampleNsRecord\", new Azure.Dns.NsRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \n {\n \"ns1.contoso.com\",\n \"ns2.contoso.com\",\n },\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewNsRecord(ctx, \"exampleNsRecord\", \u0026dns.NsRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS NS Record.\n" }, "name": { "type": "string", "description": "The name of the DNS NS Record.\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 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 DNS Zone (parent 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.\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 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 DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "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.\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 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 DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/ptrRecord:PtrRecord": { "description": "Enables you to manage DNS PTR Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst examplePtrRecord = new azure.dns.PtrRecord(\"examplePtrRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n records: [\"yourdomain.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_ptr_record = azure.dns.PtrRecord(\"examplePtrRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\"yourdomain.com\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePtrRecord = new Azure.Dns.PtrRecord(\"examplePtrRecord\", new Azure.Dns.PtrRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \n {\n \"yourdomain.com\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewPtrRecord(ctx, \"examplePtrRecord\", \u0026dns.PtrRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS PTR Record.\n" }, "name": { "type": "string", "description": "The name of the DNS PTR Record.\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 DNS Zone where the DNS Zone (parent 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.\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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "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.\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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/srvRecord:SrvRecord": { "description": "Enables you to manage DNS SRV Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleSrvRecord = new azure.dns.SrvRecord(\"exampleSrvRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_srv_record = azure.dns.SrvRecord(\"exampleSrvRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[azure.dns.SrvRecordRecordArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSrvRecord = new Azure.Dns.SrvRecord(\"exampleSrvRecord\", new Azure.Dns.SrvRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewSrvRecord(ctx, \"exampleSrvRecord\", \u0026dns.SrvRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS SRV Record.\n" }, "name": { "type": "string", "description": "The name of the DNS SRV Record.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/SrvRecordRecord:SrvRecordRecord" }, "description": "A list of values that make up the SRV record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent 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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/SrvRecordRecord:SrvRecordRecord" }, "description": "A list of values that make up the SRV record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/SrvRecordRecord:SrvRecordRecord" }, "description": "A list of values that make up the SRV record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:dns/txtRecord:TxtRecord": { "description": "Enables you to manage DNS TXT Records within Azure DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.dns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleTxtRecord = new azure.dns.TxtRecord(\"exampleTxtRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.dns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_txt_record = azure.dns.TxtRecord(\"exampleTxtRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\n azure.dns.TxtRecordRecordArgs(\n value=\"google-site-authenticator\",\n ),\n azure.dns.TxtRecordRecordArgs(\n value=\"more site information here\",\n ),\n ],\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.Dns.Zone(\"exampleZone\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleTxtRecord = new Azure.Dns.TxtRecord(\"exampleTxtRecord\", new Azure.Dns.TxtRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := dns.NewZone(ctx, \"exampleZone\", \u0026dns.ZoneArgs{\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 = dns.NewTxtRecord(ctx, \"exampleTxtRecord\", \u0026dns.TxtRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS TXT Record.\n" }, "name": { "type": "string", "description": "The name of the DNS TXT Record.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/TxtRecordRecord:TxtRecordRecord" }, "description": "A list of values that make up the txt record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent 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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/TxtRecordRecord:TxtRecordRecord" }, "description": "A list of values that make up the txt record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "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.\n" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:dns/TxtRecordRecord:TxtRecordRecord" }, "description": "A list of values that make up the txt record. Each `record` block supports fields documented 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 DNS Zone where the DNS Zone (parent resource) exists. Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US\"});\nconst example_public = new azure.dns.Zone(\"example-public\", {resourceGroupName: example.name});\nconst example_private = new azure.privatedns.Zone(\"example-private\", {resourceGroupName: example.name});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\", location=\"West US\")\nexample_public = azure.dns.Zone(\"example-public\", resource_group_name=example.name)\nexample_private = azure.privatedns.Zone(\"example-private\", resource_group_name=example.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var example_public = new Azure.Dns.Zone(\"example-public\", new Azure.Dns.ZoneArgs\n {\n ResourceGroupName = example.Name,\n });\n var example_private = new Azure.PrivateDns.Zone(\"example-private\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = example.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\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 = dns.NewZone(ctx, \"example_public\", \u0026dns.ZoneArgs{\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.NewZone(ctx, \"example_private\", \u0026privatedns.ZoneArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "maxNumberOfRecordSets": { "type": "integer", "description": "(Optional) Maximum number of Records in the zone. Defaults to `1000`.\n" }, "name": { "type": "string", "description": "The name of the DNS Zone. Must be a valid domain name.\n" }, "nameServers": { "type": "array", "items": { "type": "string" }, "description": "(Optional) A list of values that make up the NS record for the zone.\n" }, "numberOfRecordSets": { "type": "integer", "description": "(Optional) 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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "maxNumberOfRecordSets", "name", "nameServers", "numberOfRecordSets", "resourceGroupName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the DNS Zone. Must be a valid domain name.\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" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Zone resources.\n", "properties": { "maxNumberOfRecordSets": { "type": "integer", "description": "(Optional) Maximum number of Records in the zone. Defaults to `1000`.\n" }, "name": { "type": "string", "description": "The name of the DNS Zone. Must be a valid domain name.\n" }, "nameServers": { "type": "array", "items": { "type": "string" }, "description": "(Optional) A list of values that make up the NS record for the zone.\n" }, "numberOfRecordSets": { "type": "integer", "description": "(Optional) 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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:eventgrid/domain:Domain": { "description": "Manages an EventGrid Domain\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleDomain = new azure.eventgrid.Domain(\"exampleDomain\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_domain = azure.eventgrid.Domain(\"exampleDomain\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleDomain = new Azure.EventGrid.Domain(\"exampleDomain\", new Azure.EventGrid.DomainArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = eventgrid.NewDomain(ctx, \"exampleDomain\", \u0026eventgrid.DomainArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Domain.\n" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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": { "inputMappingDefaultValues": { "$ref": "#/types/azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Domain.\n" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventgrid/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventgrid/DomainInputMappingFields:DomainInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleDomain = new azure.eventgrid.Domain(\"exampleDomain\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleDomainTopic = new azure.eventgrid.DomainTopic(\"exampleDomainTopic\", {\n domainName: exampleDomain.name,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_domain = azure.eventgrid.Domain(\"exampleDomain\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\nexample_domain_topic = azure.eventgrid.DomainTopic(\"exampleDomainTopic\",\n domain_name=example_domain.name,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleDomain = new Azure.EventGrid.Domain(\"exampleDomain\", new Azure.EventGrid.DomainArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleDomainTopic = new Azure.EventGrid.DomainTopic(\"exampleDomainTopic\", new Azure.EventGrid.DomainTopicArgs\n {\n DomainName = exampleDomain.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleDomain, err := eventgrid.NewDomain(ctx, \"exampleDomain\", \u0026eventgrid.DomainArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleDomainTopic\", \u0026eventgrid.DomainTopicArgs{\n\t\t\tDomainName: exampleDomain.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:eventgrid/eventSubscription:EventSubscription": { "description": "Manages an EventGrid Event Subscription\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst defaultResourceGroup = new azure.core.ResourceGroup(\"defaultResourceGroup\", {location: \"West US 2\"});\nconst defaultAccount = new azure.storage.Account(\"defaultAccount\", {\n resourceGroupName: defaultResourceGroup.name,\n location: defaultResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst defaultQueue = new azure.storage.Queue(\"defaultQueue\", {storageAccountName: defaultAccount.name});\nconst defaultEventSubscription = new azure.eventgrid.EventSubscription(\"defaultEventSubscription\", {\n scope: defaultResourceGroup.id,\n storageQueueEndpoint: {\n storageAccountId: defaultAccount.id,\n queueName: defaultQueue.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ndefault_resource_group = azure.core.ResourceGroup(\"defaultResourceGroup\", location=\"West US 2\")\ndefault_account = azure.storage.Account(\"defaultAccount\",\n resource_group_name=default_resource_group.name,\n location=default_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\ndefault_queue = azure.storage.Queue(\"defaultQueue\", storage_account_name=default_account.name)\ndefault_event_subscription = azure.eventgrid.EventSubscription(\"defaultEventSubscription\",\n scope=default_resource_group.id,\n storage_queue_endpoint=azure.eventgrid.EventSubscriptionStorageQueueEndpointArgs(\n storage_account_id=default_account.id,\n queue_name=default_queue.name,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var defaultResourceGroup = new Azure.Core.ResourceGroup(\"defaultResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var defaultAccount = new Azure.Storage.Account(\"defaultAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = defaultResourceGroup.Name,\n Location = defaultResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var defaultQueue = new Azure.Storage.Queue(\"defaultQueue\", new Azure.Storage.QueueArgs\n {\n StorageAccountName = defaultAccount.Name,\n });\n var defaultEventSubscription = new Azure.EventGrid.EventSubscription(\"defaultEventSubscription\", new Azure.EventGrid.EventSubscriptionArgs\n {\n Scope = defaultResourceGroup.Id,\n StorageQueueEndpoint = new Azure.EventGrid.Inputs.EventSubscriptionStorageQueueEndpointArgs\n {\n StorageAccountId = defaultAccount.Id,\n QueueName = defaultQueue.Name,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultResourceGroup, err := core.NewResourceGroup(ctx, \"defaultResourceGroup\", \u0026core.ResourceGroupArgs{\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\tdefaultAccount, err := storage.NewAccount(ctx, \"defaultAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: defaultResourceGroup.Name,\n\t\t\tLocation: defaultResourceGroup.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\tdefaultQueue, err := storage.NewQueue(ctx, \"defaultQueue\", \u0026storage.QueueArgs{\n\t\t\tStorageAccountName: defaultAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewEventSubscription(ctx, \"defaultEventSubscription\", \u0026eventgrid.EventSubscriptionArgs{\n\t\t\tScope: defaultResourceGroup.ID(),\n\t\t\tStorageQueueEndpoint: \u0026eventgrid.EventSubscriptionStorageQueueEndpointArgs{\n\t\t\t\tStorageAccountId: defaultAccount.ID(),\n\t\t\t\tQueueName: defaultQueue.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{{% /example %}}\n{{% /examples %}}", "properties": { "advancedFilter": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter", "description": "A `advanced_filter` block as defined below.\n" }, "azureFunctionEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint", "description": "An `azure_function_endpoint` block 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" }, "eventhubEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint", "description": "A `eventhub_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `eventhub_endpoint_id`" }, "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" }, "hybridConnectionEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint", "description": "A `hybrid_connection_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `hybrid_connection_endpoint_id`" }, "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 `retry_policy` 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 `storage_blob_dead_letter_destination` block as defined below.\n" }, "storageQueueEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint", "description": "A `storage_queue_endpoint` block as defined below.\n" }, "subjectFilter": { "$ref": "#/types/azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter", "description": "A `subject_filter` block as defined below.\n" }, "topicName": { "type": "string", "description": "(Optional/ **Deprecated) Specifies the name of the topic to associate with the event subscription.\n", "deprecationMessage": "This field has been updated to readonly field since Apr 25, 2019 so no longer has any affect and will be removed in version 3.0 of the provider." }, "webhookEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint", "description": "A `webhook_endpoint` block as defined below.\n" } }, "required": [ "eventhubEndpoint", "eventhubEndpointId", "hybridConnectionEndpoint", "hybridConnectionEndpointId", "includedEventTypes", "name", "retryPolicy", "scope", "topicName" ], "inputProperties": { "advancedFilter": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter", "description": "A `advanced_filter` block as defined below.\n" }, "azureFunctionEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint", "description": "An `azure_function_endpoint` block 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" }, "eventhubEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint", "description": "A `eventhub_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `eventhub_endpoint_id`" }, "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" }, "hybridConnectionEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint", "description": "A `hybrid_connection_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `hybrid_connection_endpoint_id`" }, "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 `retry_policy` 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 `storage_blob_dead_letter_destination` block as defined below.\n" }, "storageQueueEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint", "description": "A `storage_queue_endpoint` block as defined below.\n" }, "subjectFilter": { "$ref": "#/types/azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter", "description": "A `subject_filter` block as defined below.\n" }, "topicName": { "type": "string", "description": "(Optional/ **Deprecated) Specifies the name of the topic to associate with the event subscription.\n", "deprecationMessage": "This field has been updated to readonly field since Apr 25, 2019 so no longer has any affect and will be removed in version 3.0 of the provider." }, "webhookEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint", "description": "A `webhook_endpoint` block as defined below.\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 `advanced_filter` block as defined below.\n" }, "azureFunctionEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint", "description": "An `azure_function_endpoint` block 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" }, "eventhubEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint", "description": "A `eventhub_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `eventhub_endpoint_id`" }, "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" }, "hybridConnectionEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint", "description": "A `hybrid_connection_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `hybrid_connection_endpoint_id`" }, "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 `retry_policy` 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 `storage_blob_dead_letter_destination` block as defined below.\n" }, "storageQueueEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint", "description": "A `storage_queue_endpoint` block as defined below.\n" }, "subjectFilter": { "$ref": "#/types/azure:eventgrid/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter", "description": "A `subject_filter` block as defined below.\n" }, "topicName": { "type": "string", "description": "(Optional/ **Deprecated) Specifies the name of the topic to associate with the event subscription.\n", "deprecationMessage": "This field has been updated to readonly field since Apr 25, 2019 so no longer has any affect and will be removed in version 3.0 of the provider." }, "webhookEndpoint": { "$ref": "#/types/azure:eventgrid/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint", "description": "A `webhook_endpoint` block as defined below.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/eventSubscription:EventSubscription" } ] }, "azure:eventgrid/topic:Topic": { "description": "Manages an EventGrid Topic\n\n\u003e **Note:** at this time EventGrid Topic's are only available in a limited number of regions.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleTopic = new azure.eventgrid.Topic(\"exampleTopic\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_topic = azure.eventgrid.Topic(\"exampleTopic\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleTopic = new Azure.EventGrid.Topic(\"exampleTopic\", new Azure.EventGrid.TopicArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = eventgrid.NewTopic(ctx, \"exampleTopic\", \u0026eventgrid.TopicArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Topic.\n" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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": { "inputMappingDefaultValues": { "$ref": "#/types/azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventgrid/TopicInputMappingDefaultValues:TopicInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventgrid/TopicInputMappingFields:TopicInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Basic\",\n capacity: 2,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n partitionCount: 2,\n messageRetention: 2,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\", {\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: false,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n sku=\"Basic\",\n capacity=2,\n tags={\n \"environment\": \"Production\",\n })\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\n namespace_name=example_event_hub_namespace.name,\n resource_group_name=example_resource_group.name,\n partition_count=2,\n message_retention=2)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\",\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=False,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Basic\",\n Capacity = 2,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PartitionCount = 2,\n MessageRetention = 2,\n });\n var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"exampleAuthorizationRule\", new Azure.EventHub.AuthorizationRuleArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = false,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\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(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewAuthorizationRule(ctx, \"exampleAuthorizationRule\", \u0026eventhub.AuthorizationRuleArgs{\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(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{{% /example %}}\n{{% /examples %}}", "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 `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Event Hubs authorization Rule.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Event Hubs Authorization Rule.\n" }, "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" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Event Hubs Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to `false`.\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" }, "listen": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to `false`.\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" }, "listen": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Event Hubs authorization Rule.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Event Hubs Authorization Rule.\n" }, "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" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Event Hubs Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to `false`.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/eventHubAuthorizationRule:EventHubAuthorizationRule" } ] }, "azure:eventhub/cluster:Cluster": { "description": "Manages an EventHub Cluster\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US 2\"});\nconst test = new azure.eventhub.Cluster(\"test\", {\n resourceGroupName: azurerm_resource_group.test.name,\n location: azurerm_resource_group.test.location,\n skuName: \"Dedicated_1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\", location=\"West US 2\")\ntest = azure.eventhub.Cluster(\"test\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n location=azurerm_resource_group[\"test\"][\"location\"],\n sku_name=\"Dedicated_1\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var test = new Azure.EventHub.Cluster(\"test\", new Azure.EventHub.ClusterArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n Location = azurerm_resource_group.Test.Location,\n SkuName = \"Dedicated_1\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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 = eventhub.NewCluster(ctx, \"test\", \u0026eventhub.ClusterArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Test.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:eventhub/consumerGroup:ConsumerGroup": { "description": "Manages a Event Hubs Consumer Group as a nested resource within an Event Hub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Basic\",\n capacity: 2,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n partitionCount: 2,\n messageRetention: 2,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"exampleConsumerGroup\", {\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n resourceGroupName: exampleResourceGroup.name,\n userMetadata: \"some-meta-data\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n sku=\"Basic\",\n capacity=2,\n tags={\n \"environment\": \"Production\",\n })\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\n namespace_name=example_event_hub_namespace.name,\n resource_group_name=example_resource_group.name,\n partition_count=2,\n message_retention=2)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"exampleConsumerGroup\",\n namespace_name=example_event_hub_namespace.name,\n eventhub_name=example_event_hub.name,\n resource_group_name=example_resource_group.name,\n user_metadata=\"some-meta-data\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Basic\",\n Capacity = 2,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PartitionCount = 2,\n MessageRetention = 2,\n });\n var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"exampleConsumerGroup\", new Azure.EventHub.ConsumerGroupArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n UserMetadata = \"some-meta-data\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\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(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewConsumerGroup(ctx, \"exampleConsumerGroup\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tEventhubName: exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/eventHubConsumerGroup:EventHubConsumerGroup" } ] }, "azure:eventhub/domain:Domain": { "description": "Manages an EventGrid Domain\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleDomain = new azure.eventgrid.Domain(\"exampleDomain\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_domain = azure.eventgrid.Domain(\"exampleDomain\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleDomain = new Azure.EventGrid.Domain(\"exampleDomain\", new Azure.EventGrid.DomainArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = eventgrid.NewDomain(ctx, \"exampleDomain\", \u0026eventgrid.DomainArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Domain.\n" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventhub/DomainInputMappingFields:DomainInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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": { "inputMappingDefaultValues": { "$ref": "#/types/azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventhub/DomainInputMappingFields:DomainInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Domain.\n" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventhub/DomainInputMappingDefaultValues:DomainInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventhub/DomainInputMappingFields:DomainInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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 Topic's are only available in a limited number of regions.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleTopic = new azure.eventgrid.Topic(\"exampleTopic\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_topic = azure.eventgrid.Topic(\"exampleTopic\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleTopic = new Azure.EventGrid.Topic(\"exampleTopic\", new Azure.EventGrid.TopicArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = eventgrid.NewTopic(ctx, \"exampleTopic\", \u0026eventgrid.TopicArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Topic.\n" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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": { "inputMappingDefaultValues": { "$ref": "#/types/azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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" }, "inputMappingDefaultValues": { "$ref": "#/types/azure:eventhub/EventGridTopicInputMappingDefaultValues:EventGridTopicInputMappingDefaultValues", "description": "A `input_mapping_default_values` block as defined below.\n" }, "inputMappingFields": { "$ref": "#/types/azure:eventhub/EventGridTopicInputMappingFields:EventGridTopicInputMappingFields", "description": "A `input_mapping_fields` block as defined below.\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" }, "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" }, "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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n capacity: 1,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n partitionCount: 2,\n messageRetention: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n capacity=1,\n tags={\n \"environment\": \"Production\",\n })\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\n namespace_name=example_event_hub_namespace.name,\n resource_group_name=example_resource_group.name,\n partition_count=2,\n message_retention=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Capacity = 1,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PartitionCount = 2,\n MessageRetention = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\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\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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "captureDescription": { "$ref": "#/types/azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription", "description": "A `capture_description` block as defined below.\n" }, "messageRetention": { "type": "integer", "description": "Specifies the number of days to retain the events for this Event Hub.\n" }, "name": { "type": "string", "description": "Specifies the name of the EventHub resource. 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" }, "partitionCount": { "type": "integer", "description": "Specifies the current number of shards on the Event Hub. Changing this forces a new resource to be created.\n" }, "partitionIds": { "type": "array", "items": { "type": "string" }, "description": "The identifiers for partitions created for Event Hubs.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the EventHub's parent Namespace exists. Changing this forces a new resource to be created.\n" } }, "required": [ "messageRetention", "name", "namespaceName", "partitionCount", "partitionIds", "resourceGroupName" ], "inputProperties": { "captureDescription": { "$ref": "#/types/azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription", "description": "A `capture_description` block as defined below.\n" }, "messageRetention": { "type": "integer", "description": "Specifies the number of days to retain the events for this Event Hub.\n" }, "name": { "type": "string", "description": "Specifies the name of the EventHub resource. 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" }, "partitionCount": { "type": "integer", "description": "Specifies the current number of shards on the Event Hub. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the EventHub's parent Namespace exists. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "messageRetention", "namespaceName", "partitionCount", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering EventHub resources.\n", "properties": { "captureDescription": { "$ref": "#/types/azure:eventhub/EventHubCaptureDescription:EventHubCaptureDescription", "description": "A `capture_description` block as defined below.\n" }, "messageRetention": { "type": "integer", "description": "Specifies the number of days to retain the events for this Event Hub.\n" }, "name": { "type": "string", "description": "Specifies the name of the EventHub resource. 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" }, "partitionCount": { "type": "integer", "description": "Specifies the current number of shards on the Event Hub. Changing this forces a new resource to be created.\n" }, "partitionIds": { "type": "array", "items": { "type": "string" }, "description": "The identifiers for partitions created for Event Hubs.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the EventHub's parent Namespace exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:eventhub/eventHubAuthorizationRule:EventHubAuthorizationRule": { "description": "Manages a Event Hubs authorization Rule within an Event Hub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Basic\",\n capacity: 2,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n partitionCount: 2,\n messageRetention: 2,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\", {\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: false,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n sku=\"Basic\",\n capacity=2,\n tags={\n \"environment\": \"Production\",\n })\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\n namespace_name=example_event_hub_namespace.name,\n resource_group_name=example_resource_group.name,\n partition_count=2,\n message_retention=2)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\",\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=False,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Basic\",\n Capacity = 2,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PartitionCount = 2,\n MessageRetention = 2,\n });\n var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"exampleAuthorizationRule\", new Azure.EventHub.AuthorizationRuleArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = false,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\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(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewAuthorizationRule(ctx, \"exampleAuthorizationRule\", \u0026eventhub.AuthorizationRuleArgs{\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(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{{% /example %}}\n{{% /examples %}}", "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 `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Event Hubs authorization Rule.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Event Hubs Authorization Rule.\n" }, "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" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Event Hubs Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to `false`.\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" }, "listen": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to `false`.\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" }, "listen": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Listen to the Event Hub? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Event Hubs authorization Rule.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Event Hubs Authorization Rule.\n" }, "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" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Event Hubs Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub? Defaults to `false`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Basic\",\n capacity: 2,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n partitionCount: 2,\n messageRetention: 2,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"exampleConsumerGroup\", {\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n resourceGroupName: exampleResourceGroup.name,\n userMetadata: \"some-meta-data\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n sku=\"Basic\",\n capacity=2,\n tags={\n \"environment\": \"Production\",\n })\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\n namespace_name=example_event_hub_namespace.name,\n resource_group_name=example_resource_group.name,\n partition_count=2,\n message_retention=2)\nexample_consumer_group = azure.eventhub.ConsumerGroup(\"exampleConsumerGroup\",\n namespace_name=example_event_hub_namespace.name,\n eventhub_name=example_event_hub.name,\n resource_group_name=example_resource_group.name,\n user_metadata=\"some-meta-data\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Basic\",\n Capacity = 2,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PartitionCount = 2,\n MessageRetention = 2,\n });\n var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"exampleConsumerGroup\", new Azure.EventHub.ConsumerGroupArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n UserMetadata = \"some-meta-data\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\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(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventhub.NewConsumerGroup(ctx, \"exampleConsumerGroup\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tEventhubName: exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n capacity=2,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Capacity = 2,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\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(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{{% /example %}}\n{{% /examples %}}", "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. Valid values range from `1` - `20`.\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\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryConnectionStringAlias": { "type": "string", "description": "The alias of the primary connection string for the authorization\nrule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionStringAlias": { "type": "string", "description": "The alias of the secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "identity": { "$ref": "#/types/azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity", "description": "An `identity` 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" }, "maximumThroughputUnits": { "type": "integer", "description": "Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from `1` - `20`.\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 `network_rulesets` block as defined below.\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` and `Standard`.\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 EventHub Namespace should be Zone Redundant (created across Availability Zones). Changing this forces a new resource to be created.\n" } }, "required": [ "defaultPrimaryConnectionString", "defaultPrimaryConnectionStringAlias", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryConnectionStringAlias", "defaultSecondaryKey", "location", "maximumThroughputUnits", "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. Valid values range from `1` - `20`.\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" }, "identity": { "$ref": "#/types/azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity", "description": "An `identity` 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" }, "maximumThroughputUnits": { "type": "integer", "description": "Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from `1` - `20`.\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 `network_rulesets` block as defined below.\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` and `Standard`.\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 EventHub Namespace should be Zone Redundant (created across Availability Zones). Changing this forces a new resource to be created.\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. Valid values range from `1` - `20`.\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\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryConnectionStringAlias": { "type": "string", "description": "The alias of the primary connection string for the authorization\nrule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionStringAlias": { "type": "string", "description": "The alias of the secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`, which is generated when disaster recovery is enabled.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "identity": { "$ref": "#/types/azure:eventhub/EventHubNamespaceIdentity:EventHubNamespaceIdentity", "description": "An `identity` 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" }, "maximumThroughputUnits": { "type": "integer", "description": "Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from `1` - `20`.\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 `network_rulesets` block as defined below.\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` and `Standard`.\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 EventHub Namespace should be Zone Redundant (created across Availability Zones). Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:eventhub/eventHubNamespaceAuthorizationRule:EventHubNamespaceAuthorizationRule": { "description": "Manages an Authorization Rule for an Event Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Basic\",\n capacity: 2,\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleEventHubNamespaceAuthorizationRule = new azure.eventhub.EventHubNamespaceAuthorizationRule(\"exampleEventHubNamespaceAuthorizationRule\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: false,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Basic\",\n capacity=2,\n tags={\n \"environment\": \"Production\",\n })\nexample_event_hub_namespace_authorization_rule = azure.eventhub.EventHubNamespaceAuthorizationRule(\"exampleEventHubNamespaceAuthorizationRule\",\n namespace_name=example_event_hub_namespace.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=False,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Basic\",\n Capacity = 2,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleEventHubNamespaceAuthorizationRule = new Azure.EventHub.EventHubNamespaceAuthorizationRule(\"exampleEventHubNamespaceAuthorizationRule\", new Azure.EventHub.EventHubNamespaceAuthorizationRuleArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = false,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleEventHubNamespaceAuthorizationRule\", \u0026eventhub.EventHubNamespaceAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "primaryConnectionStringAlias": { "type": "string", "description": "The alias of the Primary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Authorization Rule.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Authorization Rule.\n" }, "secondaryConnectionStringAlias": { "type": "string", "description": "The alias of the Secondary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\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 `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "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" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\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 `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "primaryConnectionStringAlias": { "type": "string", "description": "The alias of the Primary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Authorization Rule.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Authorization Rule.\n" }, "secondaryConnectionStringAlias": { "type": "string", "description": "The alias of the Secondary Connection String for the Authorization Rule, which is generated when disaster recovery is enabled.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" } }, "type": "object" } }, "azure:eventhub/eventSubscription:EventSubscription": { "description": "Manages an EventGrid Event Subscription\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst defaultResourceGroup = new azure.core.ResourceGroup(\"defaultResourceGroup\", {location: \"West US 2\"});\nconst defaultAccount = new azure.storage.Account(\"defaultAccount\", {\n resourceGroupName: defaultResourceGroup.name,\n location: defaultResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst defaultQueue = new azure.storage.Queue(\"defaultQueue\", {storageAccountName: defaultAccount.name});\nconst defaultEventSubscription = new azure.eventgrid.EventSubscription(\"defaultEventSubscription\", {\n scope: defaultResourceGroup.id,\n storageQueueEndpoint: {\n storageAccountId: defaultAccount.id,\n queueName: defaultQueue.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ndefault_resource_group = azure.core.ResourceGroup(\"defaultResourceGroup\", location=\"West US 2\")\ndefault_account = azure.storage.Account(\"defaultAccount\",\n resource_group_name=default_resource_group.name,\n location=default_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\ndefault_queue = azure.storage.Queue(\"defaultQueue\", storage_account_name=default_account.name)\ndefault_event_subscription = azure.eventgrid.EventSubscription(\"defaultEventSubscription\",\n scope=default_resource_group.id,\n storage_queue_endpoint=azure.eventgrid.EventSubscriptionStorageQueueEndpointArgs(\n storage_account_id=default_account.id,\n queue_name=default_queue.name,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var defaultResourceGroup = new Azure.Core.ResourceGroup(\"defaultResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var defaultAccount = new Azure.Storage.Account(\"defaultAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = defaultResourceGroup.Name,\n Location = defaultResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var defaultQueue = new Azure.Storage.Queue(\"defaultQueue\", new Azure.Storage.QueueArgs\n {\n StorageAccountName = defaultAccount.Name,\n });\n var defaultEventSubscription = new Azure.EventGrid.EventSubscription(\"defaultEventSubscription\", new Azure.EventGrid.EventSubscriptionArgs\n {\n Scope = defaultResourceGroup.Id,\n StorageQueueEndpoint = new Azure.EventGrid.Inputs.EventSubscriptionStorageQueueEndpointArgs\n {\n StorageAccountId = defaultAccount.Id,\n QueueName = defaultQueue.Name,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultResourceGroup, err := core.NewResourceGroup(ctx, \"defaultResourceGroup\", \u0026core.ResourceGroupArgs{\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\tdefaultAccount, err := storage.NewAccount(ctx, \"defaultAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: defaultResourceGroup.Name,\n\t\t\tLocation: defaultResourceGroup.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\tdefaultQueue, err := storage.NewQueue(ctx, \"defaultQueue\", \u0026storage.QueueArgs{\n\t\t\tStorageAccountName: defaultAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventgrid.NewEventSubscription(ctx, \"defaultEventSubscription\", \u0026eventgrid.EventSubscriptionArgs{\n\t\t\tScope: defaultResourceGroup.ID(),\n\t\t\tStorageQueueEndpoint: \u0026eventgrid.EventSubscriptionStorageQueueEndpointArgs{\n\t\t\t\tStorageAccountId: defaultAccount.ID(),\n\t\t\t\tQueueName: defaultQueue.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{{% /example %}}\n{{% /examples %}}", "properties": { "advancedFilter": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter", "description": "A `advanced_filter` block as defined below.\n" }, "azureFunctionEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint", "description": "An `azure_function_endpoint` block 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" }, "eventhubEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint", "description": "A `eventhub_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `eventhub_endpoint_id`" }, "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" }, "hybridConnectionEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint", "description": "A `hybrid_connection_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `hybrid_connection_endpoint_id`" }, "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 `retry_policy` 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 `storage_blob_dead_letter_destination` block as defined below.\n" }, "storageQueueEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint", "description": "A `storage_queue_endpoint` block as defined below.\n" }, "subjectFilter": { "$ref": "#/types/azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter", "description": "A `subject_filter` block as defined below.\n" }, "topicName": { "type": "string", "description": "(Optional/ **Deprecated) Specifies the name of the topic to associate with the event subscription.\n", "deprecationMessage": "This field has been updated to readonly field since Apr 25, 2019 so no longer has any affect and will be removed in version 3.0 of the provider." }, "webhookEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint", "description": "A `webhook_endpoint` block as defined below.\n" } }, "required": [ "eventhubEndpoint", "eventhubEndpointId", "hybridConnectionEndpoint", "hybridConnectionEndpointId", "includedEventTypes", "name", "retryPolicy", "scope", "topicName" ], "inputProperties": { "advancedFilter": { "$ref": "#/types/azure:eventhub/EventSubscriptionAdvancedFilter:EventSubscriptionAdvancedFilter", "description": "A `advanced_filter` block as defined below.\n" }, "azureFunctionEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint", "description": "An `azure_function_endpoint` block 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" }, "eventhubEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint", "description": "A `eventhub_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `eventhub_endpoint_id`" }, "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" }, "hybridConnectionEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint", "description": "A `hybrid_connection_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `hybrid_connection_endpoint_id`" }, "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 `retry_policy` 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 `storage_blob_dead_letter_destination` block as defined below.\n" }, "storageQueueEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint", "description": "A `storage_queue_endpoint` block as defined below.\n" }, "subjectFilter": { "$ref": "#/types/azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter", "description": "A `subject_filter` block as defined below.\n" }, "topicName": { "type": "string", "description": "(Optional/ **Deprecated) Specifies the name of the topic to associate with the event subscription.\n", "deprecationMessage": "This field has been updated to readonly field since Apr 25, 2019 so no longer has any affect and will be removed in version 3.0 of the provider." }, "webhookEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint", "description": "A `webhook_endpoint` block as defined below.\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 `advanced_filter` block as defined below.\n" }, "azureFunctionEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionAzureFunctionEndpoint:EventSubscriptionAzureFunctionEndpoint", "description": "An `azure_function_endpoint` block 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" }, "eventhubEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionEventhubEndpoint:EventSubscriptionEventhubEndpoint", "description": "A `eventhub_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `eventhub_endpoint_id`" }, "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" }, "hybridConnectionEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionHybridConnectionEndpoint:EventSubscriptionHybridConnectionEndpoint", "description": "A `hybrid_connection_endpoint` block as defined below.\n", "deprecationMessage": "Deprecated in favour of `hybrid_connection_endpoint_id`" }, "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 `retry_policy` 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 `storage_blob_dead_letter_destination` block as defined below.\n" }, "storageQueueEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionStorageQueueEndpoint:EventSubscriptionStorageQueueEndpoint", "description": "A `storage_queue_endpoint` block as defined below.\n" }, "subjectFilter": { "$ref": "#/types/azure:eventhub/EventSubscriptionSubjectFilter:EventSubscriptionSubjectFilter", "description": "A `subject_filter` block as defined below.\n" }, "topicName": { "type": "string", "description": "(Optional/ **Deprecated) Specifies the name of the topic to associate with the event subscription.\n", "deprecationMessage": "This field has been updated to readonly field since Apr 25, 2019 so no longer has any affect and will be removed in version 3.0 of the provider." }, "webhookEndpoint": { "$ref": "#/types/azure:eventhub/EventSubscriptionWebhookEndpoint:EventSubscriptionWebhookEndpoint", "description": "A `webhook_endpoint` block as defined below.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst primary = new azure.eventhub.EventHubNamespace(\"primary\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n});\nconst secondary = new azure.eventhub.EventHubNamespace(\"secondary\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n});\nconst exampleEventhubNamespaceDisasterRecoveryConfig = new azure.eventhub.EventhubNamespaceDisasterRecoveryConfig(\"exampleEventhubNamespaceDisasterRecoveryConfig\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: primary.name,\n partnerNamespaceId: secondary.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nprimary = azure.eventhub.EventHubNamespace(\"primary\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nsecondary = azure.eventhub.EventHubNamespace(\"secondary\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_eventhub_namespace_disaster_recovery_config = azure.eventhub.EventhubNamespaceDisasterRecoveryConfig(\"exampleEventhubNamespaceDisasterRecoveryConfig\",\n resource_group_name=example_resource_group.name,\n namespace_name=primary.name,\n partner_namespace_id=secondary.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var primary = new Azure.EventHub.EventHubNamespace(\"primary\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n });\n var secondary = new Azure.EventHub.EventHubNamespace(\"secondary\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n });\n var exampleEventhubNamespaceDisasterRecoveryConfig = new Azure.EventHub.EventhubNamespaceDisasterRecoveryConfig(\"exampleEventhubNamespaceDisasterRecoveryConfig\", new Azure.EventHub.EventhubNamespaceDisasterRecoveryConfigArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = primary.Name,\n PartnerNamespaceId = secondary.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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\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\tsecondary, err := eventhub.NewEventHubNamespace(ctx, \"secondary\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\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\t_, err = eventhub.NewEventhubNamespaceDisasterRecoveryConfig(ctx, \"exampleEventhubNamespaceDisasterRecoveryConfig\", \u0026eventhub.EventhubNamespaceDisasterRecoveryConfigArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "alternateName": { "type": "string", "description": "An alternate name to use when the Disaster Recovery Config's name is the same as the replicated namespace's name.\n" }, "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": { "alternateName": { "type": "string", "description": "An alternate name to use when the Disaster Recovery Config's name is the same as the replicated namespace's name.\n" }, "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" } }, "requiredInputs": [ "namespaceName", "partnerNamespaceId", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering EventhubNamespaceDisasterRecoveryConfig resources.\n", "properties": { "alternateName": { "type": "string", "description": "An alternate name to use when the Disaster Recovery Config's name is the same as the replicated namespace's name.\n" }, "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" } }, "type": "object" } }, "azure:eventhub/namespace:Namespace": { "description": "Manages a ServiceBus Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "capacity": { "type": "integer", "description": "Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4` or `8`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\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 ServiceBus Namespace resource . Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace.\n" }, "sku": { "type": "string", "description": "Defines which tier to use. Options are basic, standard or 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" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Defaults to `false`.\n" } }, "required": [ "defaultPrimaryConnectionString", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryKey", "location", "name", "resourceGroupName", "sku" ], "inputProperties": { "capacity": { "type": "integer", "description": "Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4` or `8`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.\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 ServiceBus Namespace resource . Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace.\n" }, "sku": { "type": "string", "description": "Defines which tier to use. Options are basic, standard or 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" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Defaults to `false`.\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 `sku` is `Premium`, capacity can be `1`, `2`, `4` or `8`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\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 ServiceBus Namespace resource . Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace.\n" }, "sku": { "type": "string", "description": "Defines which tier to use. Options are basic, standard or 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" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Defaults to `false`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleNamespaceAuthorizationRule = new azure.servicebus.NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: true,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_namespace_authorization_rule = azure.servicebus.NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\",\n namespace_name=example_namespace.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=True,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleNamespaceAuthorizationRule = new Azure.ServiceBus.NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", new Azure.ServiceBus.NamespaceAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = true,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleNamespaceAuthorizationRule\", \u0026servicebus.NamespaceAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.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(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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Namespace authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Namespace authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" } }, "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey" ], "inputProperties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\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 this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Namespace authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Namespace authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" } }, "type": "object" }, "deprecationMessage": "azure.eventhub.NamespaceAuthorizationRule has been deprecated in favor of azure.servicebus.NamespaceAuthorizationRule" }, "azure:eventhub/queue:Queue": { "description": "Manages a ServiceBus Queue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"exampleQueue\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_queue = azure.servicebus.Queue(\"exampleQueue\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleQueue = new Azure.ServiceBus.Queue(\"exampleQueue\", new Azure.ServiceBus.QueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleQueue\", \u0026servicebus.QueueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: 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{{% /example %}}\n{{% /examples %}}", "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" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.\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 10 minutes (`PT10M`).\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.\n" }, "enableExpress": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `false`.\n" }, "enablePartitioning": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `true`.\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/en-us/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 1 minute (`PT1M`).\n" }, "maxDeliveryCount": { "type": "integer", "description": "Integer value which controls when a message is automatically dead lettered. Defaults to `10`.\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/en-us/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\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 `false`.\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 `false`.\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" }, "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", "duplicateDetectionHistoryTimeWindow", "lockDuration", "maxSizeInMegabytes", "name", "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" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.\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 10 minutes (`PT10M`).\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.\n" }, "enableExpress": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `false`.\n" }, "enablePartitioning": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `true`.\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/en-us/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 1 minute (`PT1M`).\n" }, "maxDeliveryCount": { "type": "integer", "description": "Integer value which controls when a message is automatically dead lettered. Defaults to `10`.\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/en-us/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\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 `false`.\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 `false`.\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" }, "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": [ "namespaceName", "resourceGroupName" ], "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" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.\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 10 minutes (`PT10M`).\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.\n" }, "enableExpress": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `false`.\n" }, "enablePartitioning": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `true`.\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/en-us/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 1 minute (`PT1M`).\n" }, "maxDeliveryCount": { "type": "integer", "description": "Integer value which controls when a message is automatically dead lettered. Defaults to `10`.\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/en-us/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\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 `false`.\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 `false`.\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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"exampleQueue\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n queueName: exampleQueue.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: true,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_queue = azure.servicebus.Queue(\"exampleQueue\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\",\n namespace_name=example_namespace.name,\n queue_name=example_queue.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=True,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleQueue = new Azure.ServiceBus.Queue(\"exampleQueue\", new Azure.ServiceBus.QueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", new Azure.ServiceBus.QueueAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n QueueName = exampleQueue.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = true,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleQueue\", \u0026servicebus.QueueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewQueueAuthorizationRule(ctx, \"exampleQueueAuthorizationRule\", \u0026servicebus.QueueAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tQueueName: exampleQueue.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(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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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 ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the Authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Authorization Rule.\n" }, "queueName": { "type": "string", "description": "Specifies the name of the ServiceBus Queue. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.\n" } }, "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "queueName", "resourceGroupName", "secondaryConnectionString", "secondaryKey" ], "inputProperties": { "listen": { "type": "boolean", "description": "Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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 ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.\n" }, "queueName": { "type": "string", "description": "Specifies the name of the ServiceBus Queue. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.\n" } }, "requiredInputs": [ "namespaceName", "queueName", "resourceGroupName" ], "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 `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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 ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the Authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Authorization Rule.\n" }, "queueName": { "type": "string", "description": "Specifies the name of the ServiceBus Queue. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"exampleSubscription\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n maxDeliveryCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"exampleSubscription\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n max_delivery_count=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleSubscription = new Azure.ServiceBus.Subscription(\"exampleSubscription\", new Azure.ServiceBus.SubscriptionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n MaxDeliveryCount = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: 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, \"exampleSubscription\", \u0026servicebus.SubscriptionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\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{{% /example %}}\n{{% /examples %}}", "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 `5` minutes or `P5M`.\n" }, "deadLetteringOnFilterEvaluationError": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.\n" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to `false`.\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 default value used when TimeToLive is not set on a message itself.\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription supports batched operations. Defaults to `false`.\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). The default value is `1` minute or `P1M`.\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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this Subscription in. 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. Defaults to `false`. 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 namespace. 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" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n" } }, "required": [ "autoDeleteOnIdle", "defaultMessageTtl", "lockDuration", "maxDeliveryCount", "name", "namespaceName", "resourceGroupName", "topicName" ], "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 `5` minutes or `P5M`.\n" }, "deadLetteringOnFilterEvaluationError": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.\n" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to `false`.\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 default value used when TimeToLive is not set on a message itself.\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription supports batched operations. Defaults to `false`.\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). The default value is `1` minute or `P1M`.\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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this Subscription in. 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. Defaults to `false`. 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 namespace. 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" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "maxDeliveryCount", "namespaceName", "resourceGroupName", "topicName" ], "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 `5` minutes or `P5M`.\n" }, "deadLetteringOnFilterEvaluationError": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.\n" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to `false`.\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 default value used when TimeToLive is not set on a message itself.\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription supports batched operations. Defaults to `false`.\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). The default value is `1` minute or `P1M`.\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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this Subscription in. 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. Defaults to `false`. 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 namespace. 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" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### SQL Filter)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"exampleSubscription\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n subscriptionName: exampleSubscription.name,\n filterType: \"SqlFilter\",\n sqlFilter: \"colour = 'red'\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"exampleSubscription\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n subscription_name=example_subscription.name,\n filter_type=\"SqlFilter\",\n sql_filter=\"colour = 'red'\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleSubscription = new Azure.ServiceBus.Subscription(\"exampleSubscription\", new Azure.ServiceBus.SubscriptionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n MaxDeliveryCount = 1,\n });\n var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"exampleSubscriptionRule\", new Azure.ServiceBus.SubscriptionRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n SubscriptionName = exampleSubscription.Name,\n FilterType = \"SqlFilter\",\n SqlFilter = \"colour = 'red'\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"exampleSubscription\", \u0026servicebus.SubscriptionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\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, \"exampleSubscriptionRule\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tSubscriptionName: exampleSubscription.Name,\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\n{{% /example %}}\n{{% example %}}\n### Correlation Filter)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"exampleSubscription\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n subscriptionName: exampleSubscription.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"exampleSubscription\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n subscription_name=example_subscription.name,\n filter_type=\"CorrelationFilter\",\n correlation_filter=azure.servicebus.SubscriptionRuleCorrelationFilterArgs(\n correlation_id=\"high\",\n label=\"red\",\n properties={\n \"customProperty\": \"value\",\n },\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleSubscription = new Azure.ServiceBus.Subscription(\"exampleSubscription\", new Azure.ServiceBus.SubscriptionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n MaxDeliveryCount = 1,\n });\n var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"exampleSubscriptionRule\", new Azure.ServiceBus.SubscriptionRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n SubscriptionName = exampleSubscription.Name,\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"exampleSubscription\", \u0026servicebus.SubscriptionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\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, \"exampleSubscriptionRule\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tSubscriptionName: exampleSubscription.Name,\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{{% /example %}}\n{{% /examples %}}", "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 `correlation_filter` block as documented below to be evaluated against a BrokeredMessage. Required when `filter_type` 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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in the ServiceBus Namespace exists. 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 `filter_type` is set to `SqlFilter`.\n" }, "subscriptionName": { "type": "string", "description": "The name of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.\n" } }, "required": [ "filterType", "name", "namespaceName", "resourceGroupName", "subscriptionName", "topicName" ], "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 `correlation_filter` block as documented below to be evaluated against a BrokeredMessage. Required when `filter_type` 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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in the ServiceBus Namespace exists. 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 `filter_type` is set to `SqlFilter`.\n" }, "subscriptionName": { "type": "string", "description": "The name of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "filterType", "namespaceName", "resourceGroupName", "subscriptionName", "topicName" ], "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 `correlation_filter` block as documented below to be evaluated against a BrokeredMessage. Required when `filter_type` 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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in the ServiceBus Namespace exists. 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 `filter_type` is set to `SqlFilter`.\n" }, "subscriptionName": { "type": "string", "description": "The name of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.\n" } }, "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**Note** Topics can only be created in Namespaces with an SKU of `standard` or higher.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: 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{{% /example %}}\n{{% /examples %}}", "properties": { "autoDeleteOnIdle": { "type": "string", "description": "The ISO 8601 timespan duration of the idle interval after which the\nTopic is automatically deleted, minimum of 5 minutes.\n" }, "defaultMessageTtl": { "type": "string", "description": "The ISO 8601 timespan duration of TTL of messages sent to this topic if no\nTTL value is set on the message itself.\n" }, "duplicateDetectionHistoryTimeWindow": { "type": "string", "description": "The ISO 8601 timespan duration during which\nduplicates can be detected. Defaults to 10 minutes. (`PT10M`)\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls if server-side\nbatched operations are enabled. Defaults to false.\n" }, "enableExpress": { "type": "boolean", "description": "Boolean flag which controls whether Express Entities\nare enabled. An express topic holds a message in memory temporarily before writing\nit to persistent storage. Defaults to false.\n" }, "enablePartitioning": { "type": "boolean", "description": "Boolean flag which controls whether to enable\nthe topic to be partitioned across multiple message brokers. Defaults to false.\nChanging this forces a new resource to be created.\n" }, "maxSizeInMegabytes": { "type": "integer", "description": "Integer value which controls the size of\nmemory allocated for the topic. For supported values see the \"Queue/topic size\"\nsection of [this document](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas).\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Topic resource. Changing this forces a\nnew resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create\nthis topic in. Changing this forces a new resource to be created.\n" }, "requiresDuplicateDetection": { "type": "boolean", "description": "Boolean flag which controls whether\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace. Changing this forces a new resource to be created.\n" }, "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\nsupports ordering. Defaults to false.\n" } }, "required": [ "autoDeleteOnIdle", "defaultMessageTtl", "duplicateDetectionHistoryTimeWindow", "maxSizeInMegabytes", "name", "namespaceName", "resourceGroupName" ], "inputProperties": { "autoDeleteOnIdle": { "type": "string", "description": "The ISO 8601 timespan duration of the idle interval after which the\nTopic is automatically deleted, minimum of 5 minutes.\n" }, "defaultMessageTtl": { "type": "string", "description": "The ISO 8601 timespan duration of TTL of messages sent to this topic if no\nTTL value is set on the message itself.\n" }, "duplicateDetectionHistoryTimeWindow": { "type": "string", "description": "The ISO 8601 timespan duration during which\nduplicates can be detected. Defaults to 10 minutes. (`PT10M`)\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls if server-side\nbatched operations are enabled. Defaults to false.\n" }, "enableExpress": { "type": "boolean", "description": "Boolean flag which controls whether Express Entities\nare enabled. An express topic holds a message in memory temporarily before writing\nit to persistent storage. Defaults to false.\n" }, "enablePartitioning": { "type": "boolean", "description": "Boolean flag which controls whether to enable\nthe topic to be partitioned across multiple message brokers. Defaults to false.\nChanging this forces a new resource to be created.\n" }, "maxSizeInMegabytes": { "type": "integer", "description": "Integer value which controls the size of\nmemory allocated for the topic. For supported values see the \"Queue/topic size\"\nsection of [this document](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas).\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Topic resource. Changing this forces a\nnew resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create\nthis topic in. Changing this forces a new resource to be created.\n" }, "requiresDuplicateDetection": { "type": "boolean", "description": "Boolean flag which controls whether\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace. Changing this forces a new resource to be created.\n" }, "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\nsupports ordering. Defaults to false.\n" } }, "requiredInputs": [ "namespaceName", "resourceGroupName" ], "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\nTopic is automatically deleted, minimum of 5 minutes.\n" }, "defaultMessageTtl": { "type": "string", "description": "The ISO 8601 timespan duration of TTL of messages sent to this topic if no\nTTL value is set on the message itself.\n" }, "duplicateDetectionHistoryTimeWindow": { "type": "string", "description": "The ISO 8601 timespan duration during which\nduplicates can be detected. Defaults to 10 minutes. (`PT10M`)\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls if server-side\nbatched operations are enabled. Defaults to false.\n" }, "enableExpress": { "type": "boolean", "description": "Boolean flag which controls whether Express Entities\nare enabled. An express topic holds a message in memory temporarily before writing\nit to persistent storage. Defaults to false.\n" }, "enablePartitioning": { "type": "boolean", "description": "Boolean flag which controls whether to enable\nthe topic to be partitioned across multiple message brokers. Defaults to false.\nChanging this forces a new resource to be created.\n" }, "maxSizeInMegabytes": { "type": "integer", "description": "Integer value which controls the size of\nmemory allocated for the topic. For supported values see the \"Queue/topic size\"\nsection of [this document](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas).\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Topic resource. Changing this forces a\nnew resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create\nthis topic in. Changing this forces a new resource to be created.\n" }, "requiresDuplicateDetection": { "type": "boolean", "description": "Boolean flag which controls whether\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace. Changing this forces a new resource to be created.\n" }, "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\nsupports ordering. Defaults to false.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: false,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\",\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=False,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n });\n var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", new Azure.ServiceBus.TopicAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = false,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewTopicAuthorizationRule(ctx, \"exampleTopicAuthorizationRule\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. 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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Topic authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Topic authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Topic authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" }, "topicName": { "type": "string", "description": "Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "topicName" ], "inputProperties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" }, "topicName": { "type": "string", "description": "Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "namespaceName", "resourceGroupName", "topicName" ], "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 `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. 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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Topic authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Topic authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Topic authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" }, "topicName": { "type": "string", "description": "Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.\n" } }, "type": "object" }, "deprecationMessage": "azure.eventhub.TopicAuthorizationRule has been deprecated in favor of azure.servicebus.TopicAuthorizationRule" }, "azure:frontdoor/customHttpsConfiguration:CustomHttpsConfiguration": { "description": "Manages the Custom Https Configuration for an Azure Front Door Frontend Endpoint..\n\n\u003e **NOTE:** Custom https configurations for a Front Door Frontend Endpoint can be defined both within the `azure.frontdoor.Frontdoor` resource via the `custom_https_configuration` block and by using a separate resource, as described in the following sections.\n\n\u003e **NOTE:** Defining custom https configurations using a separate `azure.frontdoor.CustomHttpsConfiguration` resource allows for parallel creation/update.\n \n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"EastUS2\"});\nconst vault = azure.keyvault.getKeyVault({\n name: \"example-vault\",\n resourceGroupName: \"example-vault-rg\",\n});\nconst exampleFrontdoor = new azure.frontdoor.Frontdoor(\"exampleFrontdoor\", {\n resourceGroupName: exampleResourceGroup.name,\n enforceBackendPoolsCertificateNameCheck: false,\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(\"exampleCustomHttps0\", {\n frontendEndpointId: exampleFrontdoor.frontendEndpoints.apply(frontendEndpoints =\u003e frontendEndpoints[0].id),\n customHttpsProvisioningEnabled: false,\n});\nconst exampleCustomHttps1 = new azure.frontdoor.CustomHttpsConfiguration(\"exampleCustomHttps1\", {\n frontendEndpointId: exampleFrontdoor.frontendEndpoints.apply(frontendEndpoints =\u003e frontendEndpoints[1].id),\n customHttpsProvisioningEnabled: true,\n customHttpsConfiguration: {\n certificateSource: \"AzureKeyVault\",\n azureKeyVaultCertificateSecretName: \"examplefd1\",\n azureKeyVaultCertificateSecretVersion: \"ec8d0737e0df4f4gb52ecea858e97a73\",\n azureKeyVaultCertificateVaultId: vault.then(vault =\u003e vault.id),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"EastUS2\")\nvault = azure.keyvault.get_key_vault(name=\"example-vault\",\n resource_group_name=\"example-vault-rg\")\nexample_frontdoor = azure.frontdoor.Frontdoor(\"exampleFrontdoor\",\n resource_group_name=example_resource_group.name,\n enforce_backend_pools_certificate_name_check=False,\n routing_rules=[azure.frontdoor.FrontdoorRoutingRuleArgs(\n name=\"exampleRoutingRule1\",\n accepted_protocols=[\n \"Http\",\n \"Https\",\n ],\n patterns_to_matches=[\"/*\"],\n frontend_endpoints=[\"exampleFrontendEndpoint1\"],\n forwarding_configuration=azure.frontdoor.FrontdoorRoutingRuleForwardingConfigurationArgs(\n forwarding_protocol=\"MatchRequest\",\n backend_pool_name=\"exampleBackendBing\",\n ),\n )],\n backend_pool_load_balancings=[azure.frontdoor.FrontdoorBackendPoolLoadBalancingArgs(\n name=\"exampleLoadBalancingSettings1\",\n )],\n backend_pool_health_probes=[azure.frontdoor.FrontdoorBackendPoolHealthProbeArgs(\n name=\"exampleHealthProbeSetting1\",\n )],\n backend_pools=[azure.frontdoor.FrontdoorBackendPoolArgs(\n name=\"exampleBackendBing\",\n backends=[azure.frontdoor.FrontdoorBackendPoolBackendArgs(\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 azure.frontdoor.FrontdoorFrontendEndpointArgs(\n name=\"exampleFrontendEndpoint1\",\n host_name=\"example-FrontDoor.azurefd.net\",\n ),\n azure.frontdoor.FrontdoorFrontendEndpointArgs(\n name=\"exampleFrontendEndpoint2\",\n host_name=\"examplefd1.examplefd.net\",\n ),\n ])\nexample_custom_https0 = azure.frontdoor.CustomHttpsConfiguration(\"exampleCustomHttps0\",\n frontend_endpoint_id=example_frontdoor.frontend_endpoints[0].id,\n custom_https_provisioning_enabled=False)\nexample_custom_https1 = azure.frontdoor.CustomHttpsConfiguration(\"exampleCustomHttps1\",\n frontend_endpoint_id=example_frontdoor.frontend_endpoints[1].id,\n custom_https_provisioning_enabled=True,\n custom_https_configuration=azure.frontdoor.CustomHttpsConfigurationCustomHttpsConfigurationArgs(\n certificate_source=\"AzureKeyVault\",\n azure_key_vault_certificate_secret_name=\"examplefd1\",\n azure_key_vault_certificate_secret_version=\"ec8d0737e0df4f4gb52ecea858e97a73\",\n azure_key_vault_certificate_vault_id=vault.id,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"EastUS2\",\n });\n var vault = Output.Create(Azure.KeyVault.GetKeyVault.InvokeAsync(new Azure.KeyVault.GetKeyVaultArgs\n {\n Name = \"example-vault\",\n ResourceGroupName = \"example-vault-rg\",\n }));\n var exampleFrontdoor = new Azure.FrontDoor.Frontdoor(\"exampleFrontdoor\", new Azure.FrontDoor.FrontdoorArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n EnforceBackendPoolsCertificateNameCheck = false,\n RoutingRules = \n {\n new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleArgs\n {\n Name = \"exampleRoutingRule1\",\n AcceptedProtocols = \n {\n \"Http\",\n \"Https\",\n },\n PatternsToMatches = \n {\n \"/*\",\n },\n FrontendEndpoints = \n {\n \"exampleFrontendEndpoint1\",\n },\n ForwardingConfiguration = new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleForwardingConfigurationArgs\n {\n ForwardingProtocol = \"MatchRequest\",\n BackendPoolName = \"exampleBackendBing\",\n },\n },\n },\n BackendPoolLoadBalancings = \n {\n new Azure.FrontDoor.Inputs.FrontdoorBackendPoolLoadBalancingArgs\n {\n Name = \"exampleLoadBalancingSettings1\",\n },\n },\n BackendPoolHealthProbes = \n {\n new Azure.FrontDoor.Inputs.FrontdoorBackendPoolHealthProbeArgs\n {\n Name = \"exampleHealthProbeSetting1\",\n },\n },\n BackendPools = \n {\n new Azure.FrontDoor.Inputs.FrontdoorBackendPoolArgs\n {\n Name = \"exampleBackendBing\",\n Backends = \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 = \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 var exampleCustomHttps0 = new Azure.FrontDoor.CustomHttpsConfiguration(\"exampleCustomHttps0\", new Azure.FrontDoor.CustomHttpsConfigurationArgs\n {\n FrontendEndpointId = exampleFrontdoor.FrontendEndpoints.Apply(frontendEndpoints =\u003e frontendEndpoints[0].Id),\n CustomHttpsProvisioningEnabled = false,\n });\n var exampleCustomHttps1 = new Azure.FrontDoor.CustomHttpsConfiguration(\"exampleCustomHttps1\", new Azure.FrontDoor.CustomHttpsConfigurationArgs\n {\n FrontendEndpointId = exampleFrontdoor.FrontendEndpoints.Apply(frontendEndpoints =\u003e frontendEndpoints[1].Id),\n CustomHttpsProvisioningEnabled = true,\n CustomHttpsConfiguration = new Azure.FrontDoor.Inputs.CustomHttpsConfigurationCustomHttpsConfigurationArgs\n {\n CertificateSource = \"AzureKeyVault\",\n AzureKeyVaultCertificateSecretName = \"examplefd1\",\n AzureKeyVaultCertificateSecretVersion = \"ec8d0737e0df4f4gb52ecea858e97a73\",\n AzureKeyVaultCertificateVaultId = vault.Apply(vault =\u003e vault.Id),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"EastUS2\"),\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, \"exampleFrontdoor\", \u0026frontdoor.FrontdoorArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tEnforceBackendPoolsCertificateNameCheck: pulumi.Bool(false),\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, \"exampleCustomHttps0\", \u0026frontdoor.CustomHttpsConfigurationArgs{\n\t\t\tFrontendEndpointId: pulumi.String(exampleFrontdoor.FrontendEndpoints.ApplyT(func(frontendEndpoints []frontdoor.FrontdoorFrontendEndpoint) (string, error) {\n\t\t\t\treturn frontendEndpoints[0].Id, 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, \"exampleCustomHttps1\", \u0026frontdoor.CustomHttpsConfigurationArgs{\n\t\t\tFrontendEndpointId: pulumi.String(exampleFrontdoor.FrontendEndpoints.ApplyT(func(frontendEndpoints []frontdoor.FrontdoorFrontendEndpoint) (string, error) {\n\t\t\t\treturn frontendEndpoints[1].Id, 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\tAzureKeyVaultCertificateSecretVersion: pulumi.String(\"ec8d0737e0df4f4gb52ecea858e97a73\"),\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", "properties": { "customHttpsConfiguration": { "$ref": "#/types/azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration", "description": "A `custom_https_configuration` block as defined below.\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 FrontDoor Frontend Endpoint which this configuration refers to.\n" }, "resourceGroupName": { "type": "string", "deprecationMessage": "This field is no longer used and will be removed in the next major version of the Azure Provider" } }, "required": [ "customHttpsProvisioningEnabled", "frontendEndpointId" ], "inputProperties": { "customHttpsConfiguration": { "$ref": "#/types/azure:frontdoor/CustomHttpsConfigurationCustomHttpsConfiguration:CustomHttpsConfigurationCustomHttpsConfiguration", "description": "A `custom_https_configuration` block as defined below.\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 FrontDoor Frontend Endpoint which this configuration refers to.\n" }, "resourceGroupName": { "type": "string", "deprecationMessage": "This field is no longer used and will be removed in the next major version of the Azure Provider" } }, "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 `custom_https_configuration` block as defined below.\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 FrontDoor Frontend Endpoint which this configuration refers to.\n" }, "resourceGroupName": { "type": "string", "deprecationMessage": "This field is no longer used and will be removed in the next major version of the Azure Provider" } }, "type": "object" } }, "azure:frontdoor/firewallPolicy:FirewallPolicy": { "description": "Manages an Azure Front Door Web Application Firewall Policy instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleFirewallPolicy = new azure.frontdoor.FirewallPolicy(\"exampleFirewallPolicy\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_firewall_policy = azure.frontdoor.FirewallPolicy(\"exampleFirewallPolicy\",\n resource_group_name=example_resource_group.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 azure.frontdoor.FirewallPolicyCustomRuleArgs(\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=[azure.frontdoor.FirewallPolicyCustomRuleMatchConditionArgs(\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 azure.frontdoor.FirewallPolicyCustomRuleArgs(\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 azure.frontdoor.FirewallPolicyCustomRuleMatchConditionArgs(\n match_variable=\"RemoteAddr\",\n operator=\"IPMatch\",\n negation_condition=False,\n match_values=[\"192.168.1.0/24\"],\n ),\n azure.frontdoor.FirewallPolicyCustomRuleMatchConditionArgs(\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 azure.frontdoor.FirewallPolicyManagedRuleArgs(\n type=\"DefaultRuleSet\",\n version=\"1.0\",\n exclusions=[azure.frontdoor.FirewallPolicyManagedRuleExclusionArgs(\n match_variable=\"QueryStringArgNames\",\n operator=\"Equals\",\n selector=\"not_suspicious\",\n )],\n overrides=[\n azure.frontdoor.FirewallPolicyManagedRuleOverrideArgs(\n rule_group_name=\"PHP\",\n rules=[azure.frontdoor.FirewallPolicyManagedRuleOverrideRuleArgs(\n rule_id=\"933100\",\n enabled=False,\n action=\"Block\",\n )],\n ),\n azure.frontdoor.FirewallPolicyManagedRuleOverrideArgs(\n rule_group_name=\"SQLI\",\n exclusions=[azure.frontdoor.FirewallPolicyManagedRuleOverrideExclusionArgs(\n match_variable=\"QueryStringArgNames\",\n operator=\"Equals\",\n selector=\"really_not_suspicious\",\n )],\n rules=[azure.frontdoor.FirewallPolicyManagedRuleOverrideRuleArgs(\n rule_id=\"942200\",\n action=\"Block\",\n exclusions=[azure.frontdoor.FirewallPolicyManagedRuleOverrideRuleExclusionArgs(\n match_variable=\"QueryStringArgNames\",\n operator=\"Equals\",\n selector=\"innocent\",\n )],\n )],\n ),\n ],\n ),\n azure.frontdoor.FirewallPolicyManagedRuleArgs(\n type=\"Microsoft_BotManagerRuleSet\",\n version=\"1.0\",\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleFirewallPolicy = new Azure.FrontDoor.FirewallPolicy(\"exampleFirewallPolicy\", new Azure.FrontDoor.FirewallPolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.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 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 = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleMatchConditionArgs\n {\n MatchVariable = \"RemoteAddr\",\n Operator = \"IPMatch\",\n NegationCondition = false,\n MatchValues = \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 = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyCustomRuleMatchConditionArgs\n {\n MatchVariable = \"RemoteAddr\",\n Operator = \"IPMatch\",\n NegationCondition = false,\n MatchValues = \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 = \n {\n \"windows\",\n },\n Transforms = \n {\n \"Lowercase\",\n \"Trim\",\n },\n },\n },\n },\n },\n ManagedRules = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleArgs\n {\n Type = \"DefaultRuleSet\",\n Version = \"1.0\",\n Exclusions = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleExclusionArgs\n {\n MatchVariable = \"QueryStringArgNames\",\n Operator = \"Equals\",\n Selector = \"not_suspicious\",\n },\n },\n Overrides = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideArgs\n {\n RuleGroupName = \"PHP\",\n Rules = \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 = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideExclusionArgs\n {\n MatchVariable = \"QueryStringArgNames\",\n Operator = \"Equals\",\n Selector = \"really_not_suspicious\",\n },\n },\n Rules = \n {\n new Azure.FrontDoor.Inputs.FirewallPolicyManagedRuleOverrideRuleArgs\n {\n RuleId = \"942200\",\n Action = \"Block\",\n Exclusions = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = frontdoor.NewFirewallPolicy(ctx, \"exampleFirewallPolicy\", \u0026frontdoor.FirewallPolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "customBlockResponseBody": { "type": "string", "description": "If a `custom_rule` block's action type is `block`, this is the response body. The body must be specified in base64 encoding.\n" }, "customBlockResponseStatusCode": { "type": "integer", "description": "If a `custom_rule` block's action type is `block`, this is the response status code. Possible values are `200`, `403`, `405`, `406`, or `429`.\n" }, "customRules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule" }, "description": "One or more `custom_rule` blocks as defined below.\n" }, "enabled": { "type": "boolean", "description": "Is the policy a enabled state or disabled state. Defaults to `true`.\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 FrontDoor Firewall Policy exists.\n" }, "managedRules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule" }, "description": "One or more `managed_rule` blocks as defined below.\n" }, "mode": { "type": "string", "description": "The firewall policy mode. Possible values are `Detection`, `Prevention` and 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 `custom_rule` block's action type is `block`, this is the response body. The body must be specified in base64 encoding.\n" }, "customBlockResponseStatusCode": { "type": "integer", "description": "If a `custom_rule` block's action type is `block`, this is the response status code. Possible values are `200`, `403`, `405`, `406`, or `429`.\n" }, "customRules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule" }, "description": "One or more `custom_rule` blocks as defined below.\n" }, "enabled": { "type": "boolean", "description": "Is the policy a enabled state or disabled state. Defaults to `true`.\n" }, "managedRules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule" }, "description": "One or more `managed_rule` blocks as defined below.\n" }, "mode": { "type": "string", "description": "The firewall policy mode. Possible values are `Detection`, `Prevention` and 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" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering FirewallPolicy resources.\n", "properties": { "customBlockResponseBody": { "type": "string", "description": "If a `custom_rule` block's action type is `block`, this is the response body. The body must be specified in base64 encoding.\n" }, "customBlockResponseStatusCode": { "type": "integer", "description": "If a `custom_rule` block's action type is `block`, this is the response status code. Possible values are `200`, `403`, `405`, `406`, or `429`.\n" }, "customRules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyCustomRule:FirewallPolicyCustomRule" }, "description": "One or more `custom_rule` blocks as defined below.\n" }, "enabled": { "type": "boolean", "description": "Is the policy a enabled state or disabled state. Defaults to `true`.\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 FrontDoor Firewall Policy exists.\n" }, "managedRules": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FirewallPolicyManagedRule:FirewallPolicyManagedRule" }, "description": "One or more `managed_rule` blocks as defined below.\n" }, "mode": { "type": "string", "description": "The firewall policy mode. Possible values are `Detection`, `Prevention` and 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" } }, "type": "object" } }, "azure:frontdoor/frontdoor:Frontdoor": { "description": "Manages an Azure Front Door 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* 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"EastUS2\"});\nconst exampleFrontdoor = new azure.frontdoor.Frontdoor(\"exampleFrontdoor\", {\n location: \"EastUS2\",\n resourceGroupName: exampleResourceGroup.name,\n enforceBackendPoolsCertificateNameCheck: false,\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 customHttpsProvisioningEnabled: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"EastUS2\")\nexample_frontdoor = azure.frontdoor.Frontdoor(\"exampleFrontdoor\",\n location=\"EastUS2\",\n resource_group_name=example_resource_group.name,\n enforce_backend_pools_certificate_name_check=False,\n routing_rules=[azure.frontdoor.FrontdoorRoutingRuleArgs(\n name=\"exampleRoutingRule1\",\n accepted_protocols=[\n \"Http\",\n \"Https\",\n ],\n patterns_to_matches=[\"/*\"],\n frontend_endpoints=[\"exampleFrontendEndpoint1\"],\n forwarding_configuration=azure.frontdoor.FrontdoorRoutingRuleForwardingConfigurationArgs(\n forwarding_protocol=\"MatchRequest\",\n backend_pool_name=\"exampleBackendBing\",\n ),\n )],\n backend_pool_load_balancings=[azure.frontdoor.FrontdoorBackendPoolLoadBalancingArgs(\n name=\"exampleLoadBalancingSettings1\",\n )],\n backend_pool_health_probes=[azure.frontdoor.FrontdoorBackendPoolHealthProbeArgs(\n name=\"exampleHealthProbeSetting1\",\n )],\n backend_pools=[azure.frontdoor.FrontdoorBackendPoolArgs(\n name=\"exampleBackendBing\",\n backends=[azure.frontdoor.FrontdoorBackendPoolBackendArgs(\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=[azure.frontdoor.FrontdoorFrontendEndpointArgs(\n name=\"exampleFrontendEndpoint1\",\n host_name=\"example-FrontDoor.azurefd.net\",\n custom_https_provisioning_enabled=False,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"EastUS2\",\n });\n var exampleFrontdoor = new Azure.FrontDoor.Frontdoor(\"exampleFrontdoor\", new Azure.FrontDoor.FrontdoorArgs\n {\n Location = \"EastUS2\",\n ResourceGroupName = exampleResourceGroup.Name,\n EnforceBackendPoolsCertificateNameCheck = false,\n RoutingRules = \n {\n new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleArgs\n {\n Name = \"exampleRoutingRule1\",\n AcceptedProtocols = \n {\n \"Http\",\n \"Https\",\n },\n PatternsToMatches = \n {\n \"/*\",\n },\n FrontendEndpoints = \n {\n \"exampleFrontendEndpoint1\",\n },\n ForwardingConfiguration = new Azure.FrontDoor.Inputs.FrontdoorRoutingRuleForwardingConfigurationArgs\n {\n ForwardingProtocol = \"MatchRequest\",\n BackendPoolName = \"exampleBackendBing\",\n },\n },\n },\n BackendPoolLoadBalancings = \n {\n new Azure.FrontDoor.Inputs.FrontdoorBackendPoolLoadBalancingArgs\n {\n Name = \"exampleLoadBalancingSettings1\",\n },\n },\n BackendPoolHealthProbes = \n {\n new Azure.FrontDoor.Inputs.FrontdoorBackendPoolHealthProbeArgs\n {\n Name = \"exampleHealthProbeSetting1\",\n },\n },\n BackendPools = \n {\n new Azure.FrontDoor.Inputs.FrontdoorBackendPoolArgs\n {\n Name = \"exampleBackendBing\",\n Backends = \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 = \n {\n new Azure.FrontDoor.Inputs.FrontdoorFrontendEndpointArgs\n {\n Name = \"exampleFrontendEndpoint1\",\n HostName = \"example-FrontDoor.azurefd.net\",\n CustomHttpsProvisioningEnabled = false,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/frontdoor\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"EastUS2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = frontdoor.NewFrontdoor(ctx, \"exampleFrontdoor\", \u0026frontdoor.FrontdoorArgs{\n\t\t\tLocation: pulumi.String(\"EastUS2\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tEnforceBackendPoolsCertificateNameCheck: pulumi.Bool(false),\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\tCustomHttpsProvisioningEnabled: 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{{% /example %}}\n{{% /examples %}}", "properties": { "backendPoolHealthProbes": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe" }, "description": "A `backend_pool_health_probe` block as defined below.\n" }, "backendPoolLoadBalancings": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing" }, "description": "A `backend_pool_load_balancing` block as defined below.\n" }, "backendPools": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool" }, "description": "A `backend_pool` block as defined below.\n" }, "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 `0` - `240`. Defaults to `60`.\n" }, "cname": { "type": "string", "description": "The host that each frontendEndpoint must CNAME to.\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 `true` or `false`.\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 `frontend_endpoint` block as defined below.\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 `true`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created\n", "deprecationMessage": "Due to the service's API changing 'location' must now always be set to 'Global' for new resources, however if the Front Door service was created prior 2020/03/10 it may continue to exist in a specific current location" }, "name": { "type": "string", "description": "Specifies the name of the Front Door service. 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 `routing_rule` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "backendPools", "backendPoolHealthProbes", "backendPoolLoadBalancings", "cname", "enforceBackendPoolsCertificateNameCheck", "frontendEndpoints", "headerFrontdoorId", "location", "name", "resourceGroupName", "routingRules" ], "inputProperties": { "backendPoolHealthProbes": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPoolHealthProbe:FrontdoorBackendPoolHealthProbe" }, "description": "A `backend_pool_health_probe` block as defined below.\n" }, "backendPoolLoadBalancings": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing" }, "description": "A `backend_pool_load_balancing` block as defined below.\n" }, "backendPools": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool" }, "description": "A `backend_pool` block as defined below.\n" }, "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 `0` - `240`. Defaults to `60`.\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 `true` or `false`.\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 `frontend_endpoint` block as defined below.\n" }, "loadBalancerEnabled": { "type": "boolean", "description": "Should the Front Door Load Balancer be Enabled? Defaults to `true`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created\n", "deprecationMessage": "Due to the service's API changing 'location' must now always be set to 'Global' for new resources, however if the Front Door service was created prior 2020/03/10 it may continue to exist in a specific current location" }, "name": { "type": "string", "description": "Specifies the name of the Front Door service. 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 `routing_rule` 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", "enforceBackendPoolsCertificateNameCheck", "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 `backend_pool_health_probe` block as defined below.\n" }, "backendPoolLoadBalancings": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPoolLoadBalancing:FrontdoorBackendPoolLoadBalancing" }, "description": "A `backend_pool_load_balancing` block as defined below.\n" }, "backendPools": { "type": "array", "items": { "$ref": "#/types/azure:frontdoor/FrontdoorBackendPool:FrontdoorBackendPool" }, "description": "A `backend_pool` block as defined below.\n" }, "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 `0` - `240`. Defaults to `60`.\n" }, "cname": { "type": "string", "description": "The host that each frontendEndpoint must CNAME to.\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 `true` or `false`.\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 `frontend_endpoint` block as defined below.\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 `true`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created\n", "deprecationMessage": "Due to the service's API changing 'location' must now always be set to 'Global' for new resources, however if the Front Door service was created prior 2020/03/10 it may continue to exist in a specific current location" }, "name": { "type": "string", "description": "Specifies the name of the Front Door service. 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 `routing_rule` 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:hdinsight/hBaseCluster:HBaseCluster": { "description": "Manages a HDInsight HBase Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleHBaseCluster = new azure.hdinsight.HBaseCluster(\"exampleHBaseCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n componentVersion: {\n hbase: \"1.1\",\n },\n gateway: {\n enabled: true,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_h_base_cluster = azure.hdinsight.HBaseCluster(\"exampleHBaseCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n component_version=azure.hdinsight.HBaseClusterComponentVersionArgs(\n hbase=\"1.1\",\n ),\n gateway=azure.hdinsight.HBaseClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password123!\",\n ),\n storage_accounts=[azure.hdinsight.HBaseClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.HBaseClusterRolesArgs(\n head_node=azure.hdinsight.HBaseClusterRolesHeadNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.HBaseClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.HBaseClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleHBaseCluster = new Azure.HDInsight.HBaseCluster(\"exampleHBaseCluster\", new Azure.HDInsight.HBaseClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password123!\",\n },\n StorageAccounts = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleHBaseCluster\", \u0026hdinsight.HBaseClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\tEnabled: pulumi.Bool(true),\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{{% /example %}}\n{{% /examples %}}", "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 `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight HBase Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/HBaseClusterComponentVersion:HBaseClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway", "description": "A `gateway` 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" }, "metastores": { "$ref": "#/types/azure:hdinsight/HBaseClusterMetastores:HBaseClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/HBaseClusterComponentVersion:HBaseClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/HBaseClusterGateway:HBaseClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/HBaseClusterMonitor:HBaseClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight HBase Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/HBaseClusterStorageAccountGen2:HBaseClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HBaseClusterStorageAccount:HBaseClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "type": "object" } }, "azure:hdinsight/hadoopCluster:HadoopCluster": { "description": "Manages a HDInsight Hadoop Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleHadoopCluster = new azure.hdinsight.HadoopCluster(\"exampleHadoopCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n componentVersion: {\n hadoop: \"2.7\",\n },\n gateway: {\n enabled: true,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_hadoop_cluster = azure.hdinsight.HadoopCluster(\"exampleHadoopCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n component_version=azure.hdinsight.HadoopClusterComponentVersionArgs(\n hadoop=\"2.7\",\n ),\n gateway=azure.hdinsight.HadoopClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"PAssword123!\",\n ),\n storage_accounts=[azure.hdinsight.HadoopClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.HadoopClusterRolesArgs(\n head_node=azure.hdinsight.HadoopClusterRolesHeadNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.HadoopClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_D4_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.HadoopClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleHadoopCluster = new Azure.HDInsight.HadoopCluster(\"exampleHadoopCluster\", new Azure.HDInsight.HadoopClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"PAssword123!\",\n },\n StorageAccounts = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleHadoopCluster\", \u0026hdinsight.HadoopClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\tEnabled: pulumi.Bool(true),\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{{% /example %}}\n{{% /examples %}}", "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 `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Hadoop Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/HadoopClusterComponentVersion:HadoopClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway", "description": "A `gateway` 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" }, "metastores": { "$ref": "#/types/azure:hdinsight/HadoopClusterMetastores:HadoopClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/HadoopClusterComponentVersion:HadoopClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/HadoopClusterGateway:HadoopClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/HadoopClusterMonitor:HadoopClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Hadoop Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/HadoopClusterStorageAccountGen2:HadoopClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/HadoopClusterStorageAccount:HadoopClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "type": "object" } }, "azure:hdinsight/interactiveQueryCluster:InteractiveQueryCluster": { "description": "Manages a HDInsight Interactive Query Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleInteractiveQueryCluster = new azure.hdinsight.InteractiveQueryCluster(\"exampleInteractiveQueryCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n componentVersion: {\n interactiveHive: \"2.1\",\n },\n gateway: {\n enabled: true,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_interactive_query_cluster = azure.hdinsight.InteractiveQueryCluster(\"exampleInteractiveQueryCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n component_version=azure.hdinsight.InteractiveQueryClusterComponentVersionArgs(\n interactive_hive=\"2.1\",\n ),\n gateway=azure.hdinsight.InteractiveQueryClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password!\",\n ),\n storage_accounts=[azure.hdinsight.InteractiveQueryClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.InteractiveQueryClusterRolesArgs(\n head_node=azure.hdinsight.InteractiveQueryClusterRolesHeadNodeArgs(\n vm_size=\"Standard_D13_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.InteractiveQueryClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_D14_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.InteractiveQueryClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_A4_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleInteractiveQueryCluster = new Azure.HDInsight.InteractiveQueryCluster(\"exampleInteractiveQueryCluster\", new Azure.HDInsight.InteractiveQueryClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password!\",\n },\n StorageAccounts = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleInteractiveQueryCluster\", \u0026hdinsight.InteractiveQueryClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\tEnabled: pulumi.Bool(true),\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{{% /example %}}\n{{% /examples %}}", "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 `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\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 `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway", "description": "A `gateway` 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" }, "metastores": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMetastores:InteractiveQueryClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterStorageAccountGen2:InteractiveQueryClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterComponentVersion:InteractiveQueryClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterGateway:InteractiveQueryClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterMonitor:InteractiveQueryClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\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 `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/InteractiveQueryClusterStorageAccount:InteractiveQueryClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "type": "object" } }, "azure:hdinsight/kafkaCluster:KafkaCluster": { "description": "Manages a HDInsight Kafka Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleKafkaCluster = new azure.hdinsight.KafkaCluster(\"exampleKafkaCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"4.0\",\n tier: \"Standard\",\n componentVersion: {\n kafka: \"2.1\",\n },\n gateway: {\n enabled: true,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_kafka_cluster = azure.hdinsight.KafkaCluster(\"exampleKafkaCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"4.0\",\n tier=\"Standard\",\n component_version=azure.hdinsight.KafkaClusterComponentVersionArgs(\n kafka=\"2.1\",\n ),\n gateway=azure.hdinsight.KafkaClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password123!\",\n ),\n storage_accounts=[azure.hdinsight.KafkaClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.KafkaClusterRolesArgs(\n head_node=azure.hdinsight.KafkaClusterRolesHeadNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.KafkaClusterRolesWorkerNodeArgs(\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=azure.hdinsight.KafkaClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleKafkaCluster = new Azure.HDInsight.KafkaCluster(\"exampleKafkaCluster\", new Azure.HDInsight.KafkaClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password123!\",\n },\n StorageAccounts = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleKafkaCluster\", \u0026hdinsight.KafkaClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\tEnabled: pulumi.Bool(true),\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{{% /example %}}\n{{% /examples %}}", "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 `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor", "description": "A `monitor` 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" }, "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" }, "roles": { "$ref": "#/types/azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles", "description": "A `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Kafka Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/KafkaClusterComponentVersion:KafkaClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway", "description": "A `gateway` 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" }, "metastores": { "$ref": "#/types/azure:hdinsight/KafkaClusterMetastores:KafkaClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor", "description": "A `monitor` 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" }, "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" }, "roles": { "$ref": "#/types/azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles", "description": "A `roles` block as defined below.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/KafkaClusterComponentVersion:KafkaClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/KafkaClusterGateway:KafkaClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/KafkaClusterMonitor:KafkaClusterMonitor", "description": "A `monitor` 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" }, "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" }, "roles": { "$ref": "#/types/azure:hdinsight/KafkaClusterRoles:KafkaClusterRoles", "description": "A `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Kafka Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/KafkaClusterStorageAccountGen2:KafkaClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/KafkaClusterStorageAccount:KafkaClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "type": "object" } }, "azure:hdinsight/mLServicesCluster:MLServicesCluster": { "description": "Manages a HDInsight ML Services Cluster.\n\n!\u003e **Note:** [HDInsight 3.6 is deprecated and will be retired on 2020-12-31 - HDInsight 4.0 no longer supports ML Services Clusters](https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-component-versioning#available-versions) - as such this resource is deprecated and will be removed in the next major version of the Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleMLServicesCluster = new azure.hdinsight.MLServicesCluster(\"exampleMLServicesCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n rstudio: true,\n gateway: {\n enabled: true,\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 edgeNode: {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_ml_services_cluster = azure.hdinsight.MLServicesCluster(\"exampleMLServicesCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n rstudio=True,\n gateway=azure.hdinsight.MLServicesClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password123!\",\n ),\n storage_accounts=[azure.hdinsight.MLServicesClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.MLServicesClusterRolesArgs(\n head_node=azure.hdinsight.MLServicesClusterRolesHeadNodeArgs(\n vm_size=\"Standard_D3_v2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.MLServicesClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_D4_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.MLServicesClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_D3_v2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n edge_node=azure.hdinsight.MLServicesClusterRolesEdgeNodeArgs(\n vm_size=\"Standard_D3_v2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleMLServicesCluster = new Azure.HDInsight.MLServicesCluster(\"exampleMLServicesCluster\", new Azure.HDInsight.MLServicesClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ClusterVersion = \"3.6\",\n Tier = \"Standard\",\n Rstudio = true,\n Gateway = new Azure.HDInsight.Inputs.MLServicesClusterGatewayArgs\n {\n Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password123!\",\n },\n StorageAccounts = \n {\n new Azure.HDInsight.Inputs.MLServicesClusterStorageAccountArgs\n {\n StorageContainerId = exampleContainer.Id,\n StorageAccountKey = exampleAccount.PrimaryAccessKey,\n IsDefault = true,\n },\n },\n Roles = new Azure.HDInsight.Inputs.MLServicesClusterRolesArgs\n {\n HeadNode = new Azure.HDInsight.Inputs.MLServicesClusterRolesHeadNodeArgs\n {\n VmSize = \"Standard_D3_v2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n WorkerNode = new Azure.HDInsight.Inputs.MLServicesClusterRolesWorkerNodeArgs\n {\n VmSize = \"Standard_D4_V2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n TargetInstanceCount = 3,\n },\n ZookeeperNode = new Azure.HDInsight.Inputs.MLServicesClusterRolesZookeeperNodeArgs\n {\n VmSize = \"Standard_D3_v2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n EdgeNode = new Azure.HDInsight.Inputs.MLServicesClusterRolesEdgeNodeArgs\n {\n VmSize = \"Standard_D3_v2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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.NewMLServicesCluster(ctx, \"exampleMLServicesCluster\", \u0026hdinsight.MLServicesClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tClusterVersion: pulumi.String(\"3.6\"),\n\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\tRstudio: pulumi.Bool(true),\n\t\t\tGateway: \u0026hdinsight.MLServicesClusterGatewayArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\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.MLServicesClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.MLServicesClusterStorageAccountArgs{\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.MLServicesClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.MLServicesClusterRolesHeadNodeArgs{\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.MLServicesClusterRolesWorkerNodeArgs{\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.MLServicesClusterRolesZookeeperNodeArgs{\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\tEdgeNode: \u0026hdinsight.MLServicesClusterRolesEdgeNodeArgs{\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{{% /example %}}\n{{% /examples %}}", "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" }, "edgeSshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for the Edge Node of the HDInsight ML Cluster.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/MLServicesClusterGateway:MLServicesClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity Endpoint for this HDInsight ML Services Cluster.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight ML Services Cluster should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight ML Services Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight ML Services Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRoles:MLServicesClusterRoles", "description": "A `roles` block as defined below.\n" }, "rstudio": { "type": "boolean", "description": "Should R Studio community edition for ML Services be installed? Changing this forces a new resource to be created.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight ML Services Cluster.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/MLServicesClusterStorageAccount:MLServicesClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight ML Services Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight ML Services Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "required": [ "clusterVersion", "edgeSshEndpoint", "gateway", "httpsEndpoint", "location", "name", "resourceGroupName", "roles", "rstudio", "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" }, "gateway": { "$ref": "#/types/azure:hdinsight/MLServicesClusterGateway:MLServicesClusterGateway", "description": "A `gateway` block as defined below.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight ML Services Cluster should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight ML Services Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight ML Services Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRoles:MLServicesClusterRoles", "description": "A `roles` block as defined below.\n" }, "rstudio": { "type": "boolean", "description": "Should R Studio community edition for ML Services be installed? Changing this forces a new resource to be created.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/MLServicesClusterStorageAccount:MLServicesClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight ML Services Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight ML Services Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "requiredInputs": [ "clusterVersion", "gateway", "resourceGroupName", "roles", "rstudio", "tier" ], "stateInputs": { "description": "Input properties used for looking up and filtering MLServicesCluster 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" }, "edgeSshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for the Edge Node of the HDInsight ML Cluster.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/MLServicesClusterGateway:MLServicesClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity Endpoint for this HDInsight ML Services Cluster.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight ML Services Cluster should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight ML Services Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight ML Services Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/MLServicesClusterRoles:MLServicesClusterRoles", "description": "A `roles` block as defined below.\n" }, "rstudio": { "type": "boolean", "description": "Should R Studio community edition for ML Services be installed? Changing this forces a new resource to be created.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight ML Services Cluster.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/MLServicesClusterStorageAccount:MLServicesClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight ML Services Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight ML Services Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "type": "object" } }, "azure:hdinsight/rServerCluster:RServerCluster": { "description": "Manages a HDInsight RServer Cluster.\n\n!\u003e **Note:** [HDInsight 3.6 is deprecated and will be retired on 2020-12-31 - HDInsight 4.0 no longer supports RServer Clusters](https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-component-versioning#available-versions) - as such this resource is deprecated and will be removed in the next major version of the Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleRServerCluster = new azure.hdinsight.RServerCluster(\"exampleRServerCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n rstudio: true,\n gateway: {\n enabled: true,\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 edgeNode: {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_r_server_cluster = azure.hdinsight.RServerCluster(\"exampleRServerCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n rstudio=True,\n gateway=azure.hdinsight.RServerClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password123!\",\n ),\n storage_accounts=[azure.hdinsight.RServerClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.RServerClusterRolesArgs(\n head_node=azure.hdinsight.RServerClusterRolesHeadNodeArgs(\n vm_size=\"Standard_D3_v2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.RServerClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_D4_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.RServerClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_D3_v2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n edge_node=azure.hdinsight.RServerClusterRolesEdgeNodeArgs(\n vm_size=\"Standard_D3_v2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleRServerCluster = new Azure.HDInsight.RServerCluster(\"exampleRServerCluster\", new Azure.HDInsight.RServerClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ClusterVersion = \"3.6\",\n Tier = \"Standard\",\n Rstudio = true,\n Gateway = new Azure.HDInsight.Inputs.RServerClusterGatewayArgs\n {\n Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password123!\",\n },\n StorageAccounts = \n {\n new Azure.HDInsight.Inputs.RServerClusterStorageAccountArgs\n {\n StorageContainerId = exampleContainer.Id,\n StorageAccountKey = exampleAccount.PrimaryAccessKey,\n IsDefault = true,\n },\n },\n Roles = new Azure.HDInsight.Inputs.RServerClusterRolesArgs\n {\n HeadNode = new Azure.HDInsight.Inputs.RServerClusterRolesHeadNodeArgs\n {\n VmSize = \"Standard_D3_v2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n WorkerNode = new Azure.HDInsight.Inputs.RServerClusterRolesWorkerNodeArgs\n {\n VmSize = \"Standard_D4_V2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n TargetInstanceCount = 3,\n },\n ZookeeperNode = new Azure.HDInsight.Inputs.RServerClusterRolesZookeeperNodeArgs\n {\n VmSize = \"Standard_D3_v2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n EdgeNode = new Azure.HDInsight.Inputs.RServerClusterRolesEdgeNodeArgs\n {\n VmSize = \"Standard_D3_v2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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.NewRServerCluster(ctx, \"exampleRServerCluster\", \u0026hdinsight.RServerClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tClusterVersion: pulumi.String(\"3.6\"),\n\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\tRstudio: pulumi.Bool(true),\n\t\t\tGateway: \u0026hdinsight.RServerClusterGatewayArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\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.RServerClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.RServerClusterStorageAccountArgs{\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.RServerClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.RServerClusterRolesHeadNodeArgs{\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.RServerClusterRolesWorkerNodeArgs{\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.RServerClusterRolesZookeeperNodeArgs{\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\tEdgeNode: \u0026hdinsight.RServerClusterRolesEdgeNodeArgs{\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{{% /example %}}\n{{% /examples %}}", "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" }, "edgeSshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for the Edge Node of the HDInsight RServer Cluster.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/RServerClusterGateway:RServerClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity Endpoint for this HDInsight RServer Cluster.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight RServer Cluster should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight RServer Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight RServer Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/RServerClusterRoles:RServerClusterRoles", "description": "A `roles` block as defined below.\n" }, "rstudio": { "type": "boolean", "description": "Should R Studio community edition for RServer be installed? Changing this forces a new resource to be created.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight RServer Cluster.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/RServerClusterStorageAccount:RServerClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight RServer Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight RServer Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "required": [ "clusterVersion", "edgeSshEndpoint", "gateway", "httpsEndpoint", "location", "name", "resourceGroupName", "roles", "rstudio", "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" }, "gateway": { "$ref": "#/types/azure:hdinsight/RServerClusterGateway:RServerClusterGateway", "description": "A `gateway` block as defined below.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight RServer Cluster should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight RServer Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight RServer Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/RServerClusterRoles:RServerClusterRoles", "description": "A `roles` block as defined below.\n" }, "rstudio": { "type": "boolean", "description": "Should R Studio community edition for RServer be installed? Changing this forces a new resource to be created.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/RServerClusterStorageAccount:RServerClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight RServer Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight RServer Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "requiredInputs": [ "clusterVersion", "gateway", "resourceGroupName", "roles", "rstudio", "tier" ], "stateInputs": { "description": "Input properties used for looking up and filtering RServerCluster 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" }, "edgeSshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for the Edge Node of the HDInsight RServer Cluster.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/RServerClusterGateway:RServerClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity Endpoint for this HDInsight RServer Cluster.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight RServer Cluster should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight RServer Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight RServer Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/RServerClusterRoles:RServerClusterRoles", "description": "A `roles` block as defined below.\n" }, "rstudio": { "type": "boolean", "description": "Should R Studio community edition for RServer be installed? Changing this forces a new resource to be created.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight RServer Cluster.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/RServerClusterStorageAccount:RServerClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight RServer Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight RServer Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "type": "object" } }, "azure:hdinsight/sparkCluster:SparkCluster": { "description": "Manages a HDInsight Spark Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleSparkCluster = new azure.hdinsight.SparkCluster(\"exampleSparkCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n componentVersion: {\n spark: \"2.3\",\n },\n gateway: {\n enabled: true,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_spark_cluster = azure.hdinsight.SparkCluster(\"exampleSparkCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n component_version=azure.hdinsight.SparkClusterComponentVersionArgs(\n spark=\"2.3\",\n ),\n gateway=azure.hdinsight.SparkClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password123!\",\n ),\n storage_accounts=[azure.hdinsight.SparkClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.SparkClusterRolesArgs(\n head_node=azure.hdinsight.SparkClusterRolesHeadNodeArgs(\n vm_size=\"Standard_A3\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.SparkClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_A3\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.SparkClusterRolesZookeeperNodeArgs(\n vm_size=\"Medium\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleSparkCluster = new Azure.HDInsight.SparkCluster(\"exampleSparkCluster\", new Azure.HDInsight.SparkClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password123!\",\n },\n StorageAccounts = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleSparkCluster\", \u0026hdinsight.SparkClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\tEnabled: pulumi.Bool(true),\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{{% /example %}}\n{{% /examples %}}", "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 `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/SparkClusterGateway:SparkClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Spark Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/SparkClusterComponentVersion:SparkClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/SparkClusterGateway:SparkClusterGateway", "description": "A `gateway` 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" }, "metastores": { "$ref": "#/types/azure:hdinsight/SparkClusterMetastores:SparkClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/SparkClusterComponentVersion:SparkClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/SparkClusterGateway:SparkClusterGateway", "description": "A `gateway` 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 `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/SparkClusterMonitor:SparkClusterMonitor", "description": "A `monitor` 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" }, "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 `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Spark Cluster.\n" }, "storageAccountGen2": { "$ref": "#/types/azure:hdinsight/SparkClusterStorageAccountGen2:SparkClusterStorageAccountGen2", "description": "A `storage_account_gen2` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/SparkClusterStorageAccount:SparkClusterStorageAccount" }, "description": "One or more `storage_account` 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" } }, "type": "object" } }, "azure:hdinsight/stormCluster:StormCluster": { "description": "Manages a HDInsight Storm Cluster.\n\n!\u003e **Note:** [HDInsight 3.6 is deprecated and will be retired on 2020-12-31 - HDInsight 4.0 no longer supports Storm Clusters](https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-component-versioning#available-versions) - as such this resource is deprecated and will be removed in the next major version of the Provider.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleStormCluster = new azure.hdinsight.StormCluster(\"exampleStormCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n clusterVersion: \"3.6\",\n tier: \"Standard\",\n componentVersion: {\n storm: \"1.1\",\n },\n gateway: {\n enabled: true,\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_D3_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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_storm_cluster = azure.hdinsight.StormCluster(\"exampleStormCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cluster_version=\"3.6\",\n tier=\"Standard\",\n component_version=azure.hdinsight.StormClusterComponentVersionArgs(\n storm=\"1.1\",\n ),\n gateway=azure.hdinsight.StormClusterGatewayArgs(\n enabled=True,\n username=\"acctestusrgw\",\n password=\"Password123!\",\n ),\n storage_accounts=[azure.hdinsight.StormClusterStorageAccountArgs(\n storage_container_id=example_container.id,\n storage_account_key=example_account.primary_access_key,\n is_default=True,\n )],\n roles=azure.hdinsight.StormClusterRolesArgs(\n head_node=azure.hdinsight.StormClusterRolesHeadNodeArgs(\n vm_size=\"Standard_A3\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n worker_node=azure.hdinsight.StormClusterRolesWorkerNodeArgs(\n vm_size=\"Standard_D3_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n target_instance_count=3,\n ),\n zookeeper_node=azure.hdinsight.StormClusterRolesZookeeperNodeArgs(\n vm_size=\"Standard_A4_V2\",\n username=\"acctestusrvm\",\n password=\"AccTestvdSC4daf986!\",\n ),\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleStormCluster = new Azure.HDInsight.StormCluster(\"exampleStormCluster\", new Azure.HDInsight.StormClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ClusterVersion = \"3.6\",\n Tier = \"Standard\",\n ComponentVersion = new Azure.HDInsight.Inputs.StormClusterComponentVersionArgs\n {\n Storm = \"1.1\",\n },\n Gateway = new Azure.HDInsight.Inputs.StormClusterGatewayArgs\n {\n Enabled = true,\n Username = \"acctestusrgw\",\n Password = \"Password123!\",\n },\n StorageAccounts = \n {\n new Azure.HDInsight.Inputs.StormClusterStorageAccountArgs\n {\n StorageContainerId = exampleContainer.Id,\n StorageAccountKey = exampleAccount.PrimaryAccessKey,\n IsDefault = true,\n },\n },\n Roles = new Azure.HDInsight.Inputs.StormClusterRolesArgs\n {\n HeadNode = new Azure.HDInsight.Inputs.StormClusterRolesHeadNodeArgs\n {\n VmSize = \"Standard_A3\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n WorkerNode = new Azure.HDInsight.Inputs.StormClusterRolesWorkerNodeArgs\n {\n VmSize = \"Standard_D3_V2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n TargetInstanceCount = 3,\n },\n ZookeeperNode = new Azure.HDInsight.Inputs.StormClusterRolesZookeeperNodeArgs\n {\n VmSize = \"Standard_A4_V2\",\n Username = \"acctestusrvm\",\n Password = \"AccTestvdSC4daf986!\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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.NewStormCluster(ctx, \"exampleStormCluster\", \u0026hdinsight.StormClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tClusterVersion: pulumi.String(\"3.6\"),\n\t\t\tTier: pulumi.String(\"Standard\"),\n\t\t\tComponentVersion: \u0026hdinsight.StormClusterComponentVersionArgs{\n\t\t\t\tStorm: pulumi.String(\"1.1\"),\n\t\t\t},\n\t\t\tGateway: \u0026hdinsight.StormClusterGatewayArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\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.StormClusterStorageAccountArray{\n\t\t\t\t\u0026hdinsight.StormClusterStorageAccountArgs{\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.StormClusterRolesArgs{\n\t\t\t\tHeadNode: \u0026hdinsight.StormClusterRolesHeadNodeArgs{\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.StormClusterRolesWorkerNodeArgs{\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.StormClusterRolesZookeeperNodeArgs{\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{{% /example %}}\n{{% /examples %}}", "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/StormClusterComponentVersion:StormClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/StormClusterGateway:StormClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity Endpoint for this HDInsight Storm Cluster.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight Storm Cluster should exist. Changing this forces a new resource to be created.\n" }, "metastores": { "$ref": "#/types/azure:hdinsight/StormClusterMetastores:StormClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/StormClusterMonitor:StormClusterMonitor", "description": "A `monitor` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight Storm Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight Storm Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/StormClusterRoles:StormClusterRoles", "description": "A `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Storm Cluster.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/StormClusterStorageAccount:StormClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight Storm Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight Storm Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/StormClusterComponentVersion:StormClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/StormClusterGateway:StormClusterGateway", "description": "A `gateway` block as defined below.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight Storm Cluster should exist. Changing this forces a new resource to be created.\n" }, "metastores": { "$ref": "#/types/azure:hdinsight/StormClusterMetastores:StormClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/StormClusterMonitor:StormClusterMonitor", "description": "A `monitor` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight Storm Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight Storm Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/StormClusterRoles:StormClusterRoles", "description": "A `roles` block as defined below.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/StormClusterStorageAccount:StormClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight Storm Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight Storm Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "requiredInputs": [ "clusterVersion", "componentVersion", "gateway", "resourceGroupName", "roles", "tier" ], "stateInputs": { "description": "Input properties used for looking up and filtering StormCluster 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" }, "componentVersion": { "$ref": "#/types/azure:hdinsight/StormClusterComponentVersion:StormClusterComponentVersion", "description": "A `component_version` block as defined below.\n" }, "gateway": { "$ref": "#/types/azure:hdinsight/StormClusterGateway:StormClusterGateway", "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Connectivity Endpoint for this HDInsight Storm Cluster.\n" }, "location": { "type": "string", "description": "Specifies the Azure Region which this HDInsight Storm Cluster should exist. Changing this forces a new resource to be created.\n" }, "metastores": { "$ref": "#/types/azure:hdinsight/StormClusterMetastores:StormClusterMetastores", "description": "A `metastores` block as defined below.\n" }, "monitor": { "$ref": "#/types/azure:hdinsight/StormClusterMonitor:StormClusterMonitor", "description": "A `monitor` block as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name for this HDInsight Storm Cluster. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group in which this HDInsight Storm Cluster should exist. Changing this forces a new resource to be created.\n" }, "roles": { "$ref": "#/types/azure:hdinsight/StormClusterRoles:StormClusterRoles", "description": "A `roles` block as defined below.\n" }, "sshEndpoint": { "type": "string", "description": "The SSH Connectivity Endpoint for this HDInsight Storm Cluster.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/StormClusterStorageAccount:StormClusterStorageAccount" }, "description": "One or more `storage_account` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Tags which should be assigned to this HDInsight Storm Cluster.\n" }, "tier": { "type": "string", "description": "Specifies the Tier which should be used for this HDInsight Storm Cluster. Possible values are `Standard` or `Premium`. Changing this forces a new resource to be created.\n" }, "tlsMinVersion": { "type": "string" } }, "type": "object" } }, "azure:healthcare/service:Service": { "description": "Manages a Healthcare Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.healthcare.Service(\"example\", {\n accessPolicyObjectIds: [\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"],\n authenticationConfiguration: {\n audience: \"https://azurehealthcareapis.com/\",\n authority: \"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\",\n smartProxyEnabled: true,\n },\n corsConfiguration: {\n allowCredentials: true,\n allowedHeaders: [\n \"x-tempo-*\",\n \"x-tempo2-*\",\n ],\n allowedMethods: [\n \"GET\",\n \"PUT\",\n ],\n allowedOrigins: [\n \"http://www.example.com\",\n \"http://www.example2.com\",\n ],\n maxAgeInSeconds: 500,\n },\n cosmosdbThroughput: 2000,\n kind: \"fhir-R4\",\n location: \"westus2\",\n resourceGroupName: \"sample-resource-group\",\n tags: {\n environment: \"testenv\",\n purpose: \"AcceptanceTests\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.healthcare.Service(\"example\",\n access_policy_object_ids=[\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"],\n authentication_configuration=azure.healthcare.ServiceAuthenticationConfigurationArgs(\n audience=\"https://azurehealthcareapis.com/\",\n authority=\"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\",\n smart_proxy_enabled=True,\n ),\n cors_configuration=azure.healthcare.ServiceCorsConfigurationArgs(\n allow_credentials=True,\n allowed_headers=[\n \"x-tempo-*\",\n \"x-tempo2-*\",\n ],\n allowed_methods=[\n \"GET\",\n \"PUT\",\n ],\n allowed_origins=[\n \"http://www.example.com\",\n \"http://www.example2.com\",\n ],\n max_age_in_seconds=500,\n ),\n cosmosdb_throughput=2000,\n kind=\"fhir-R4\",\n location=\"westus2\",\n resource_group_name=\"sample-resource-group\",\n tags={\n \"environment\": \"testenv\",\n \"purpose\": \"AcceptanceTests\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Healthcare.Service(\"example\", new Azure.Healthcare.ServiceArgs\n {\n AccessPolicyObjectIds = \n {\n \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n },\n AuthenticationConfiguration = new Azure.Healthcare.Inputs.ServiceAuthenticationConfigurationArgs\n {\n Audience = \"https://azurehealthcareapis.com/\",\n Authority = \"https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D\",\n SmartProxyEnabled = true,\n },\n CorsConfiguration = new Azure.Healthcare.Inputs.ServiceCorsConfigurationArgs\n {\n AllowCredentials = true,\n AllowedHeaders = \n {\n \"x-tempo-*\",\n \"x-tempo2-*\",\n },\n AllowedMethods = \n {\n \"GET\",\n \"PUT\",\n },\n AllowedOrigins = \n {\n \"http://www.example.com\",\n \"http://www.example2.com\",\n },\n MaxAgeInSeconds = 500,\n },\n CosmosdbThroughput = 2000,\n Kind = \"fhir-R4\",\n Location = \"westus2\",\n ResourceGroupName = \"sample-resource-group\",\n Tags = \n {\n { \"environment\", \"testenv\" },\n { \"purpose\", \"AcceptanceTests\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := healthcare.NewService(ctx, \"example\", \u0026healthcare.ServiceArgs{\n\t\t\tAccessPolicyObjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"),\n\t\t\t},\n\t\t\tAuthenticationConfiguration: \u0026healthcare.ServiceAuthenticationConfigurationArgs{\n\t\t\t\tAudience: pulumi.String(\"https://azurehealthcareapis.com/\"),\n\t\t\t\tAuthority: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v\", \"https://login.microsoftonline.com/\", \"$\", \"%\", \"7Bdata.azurerm_client_config.current.tenant_id\", \"%\", \"7D\")),\n\t\t\t\tSmartProxyEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tCorsConfiguration: \u0026healthcare.ServiceCorsConfigurationArgs{\n\t\t\t\tAllowCredentials: pulumi.Bool(true),\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\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\tMaxAgeInSeconds: pulumi.Int(500),\n\t\t\t},\n\t\t\tCosmosdbThroughput: pulumi.Int(2000),\n\t\t\tKind: pulumi.String(\"fhir-R4\"),\n\t\t\tLocation: pulumi.String(\"westus2\"),\n\t\t\tResourceGroupName: pulumi.String(\"sample-resource-group\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accessPolicyObjectIds": { "type": "array", "items": { "type": "string" } }, "authenticationConfiguration": { "$ref": "#/types/azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration", "description": "An `authentication_configuration` block as defined below.\n" }, "corsConfiguration": { "$ref": "#/types/azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration", "description": "A `cors_configuration` block as defined below.\n" }, "cosmosdbThroughput": { "type": "integer", "description": "The provisioned throughput for the backing database. Range of `400`-`1000`. Defaults to `400`.\n" }, "kind": { "type": "string", "description": "The type of the service. Values at time of publication are: `fhir`, `fhir-Stu3` and `fhir-R4`. Default value is `fhir`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure Region where the Service should be created.\n" }, "name": { "type": "string", "description": "The name of the service instance. Used for service endpoint, must be unique within the audience.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which to create the Service.\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" } }, "authenticationConfiguration": { "$ref": "#/types/azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration", "description": "An `authentication_configuration` block as defined below.\n" }, "corsConfiguration": { "$ref": "#/types/azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration", "description": "A `cors_configuration` block as defined below.\n" }, "cosmosdbThroughput": { "type": "integer", "description": "The provisioned throughput for the backing database. Range of `400`-`1000`. Defaults to `400`.\n" }, "kind": { "type": "string", "description": "The type of the service. Values at time of publication are: `fhir`, `fhir-Stu3` and `fhir-R4`. Default value is `fhir`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure Region where the Service should be created.\n" }, "name": { "type": "string", "description": "The name of the service instance. Used for service endpoint, must be unique within the audience.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which to create the Service.\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 Service resources.\n", "properties": { "accessPolicyObjectIds": { "type": "array", "items": { "type": "string" } }, "authenticationConfiguration": { "$ref": "#/types/azure:healthcare/ServiceAuthenticationConfiguration:ServiceAuthenticationConfiguration", "description": "An `authentication_configuration` block as defined below.\n" }, "corsConfiguration": { "$ref": "#/types/azure:healthcare/ServiceCorsConfiguration:ServiceCorsConfiguration", "description": "A `cors_configuration` block as defined below.\n" }, "cosmosdbThroughput": { "type": "integer", "description": "The provisioned throughput for the backing database. Range of `400`-`1000`. Defaults to `400`.\n" }, "kind": { "type": "string", "description": "The type of the service. Values at time of publication are: `fhir`, `fhir-Stu3` and `fhir-R4`. Default value is `fhir`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure Region where the Service should be created.\n" }, "name": { "type": "string", "description": "The name of the service instance. Used for service endpoint, must be unique within the audience.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which to create the Service.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:hpc/cache:Cache": { "description": "Manages a HPC Cache.\n\n\u003e **Note**: During the first several months of the GA release, a request must be made to the Azure HPC Cache team to add your subscription to the access list before it can be used to create a cache instance. Fill out [this form](https://aka.ms/onboard-hpc-cache) to request access.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleCache = new azure.hpc.Cache(\"exampleCache\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_cache = azure.hpc.Cache(\"exampleCache\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cache_size_in_gb=3072,\n subnet_id=example_subnet.id,\n sku_name=\"Standard_2G\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleCache = new Azure.Hpc.Cache(\"exampleCache\", new Azure.Hpc.CacheArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n CacheSizeInGb = 3072,\n SubnetId = exampleSubnet.Id,\n SkuName = \"Standard_2G\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hpc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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 = hpc.NewCache(ctx, \"exampleCache\", \u0026hpc.CacheArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "cacheSizeInGb": { "type": "integer", "description": "The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `24576`, and `49152`. Changing this forces a new resource to be created.\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 1500.\n" }, "name": { "type": "string", "description": "The name of the HPC Cache. 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 HPC Cache. Changing this forces a new resource to be created.\n" }, "rootSquashEnabled": { "type": "boolean", "description": "Whether root squash property is enabled for this HPC Cache.\n" }, "skuName": { "type": "string", "description": "The SKU of HPC Cache to use. Possible values are `Standard_2G`, `Standard_4G` and `Standard_8G`. Changing this forces a new resource to be created.\n" }, "subnetId": { "type": "string", "description": "The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.\n" } }, "required": [ "cacheSizeInGb", "location", "mountAddresses", "name", "resourceGroupName", "rootSquashEnabled", "skuName", "subnetId" ], "inputProperties": { "cacheSizeInGb": { "type": "integer", "description": "The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `24576`, and `49152`. Changing this forces a new resource to be created.\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" }, "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 1500.\n" }, "name": { "type": "string", "description": "The name of the HPC Cache. 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 HPC Cache. Changing this forces a new resource to be created.\n" }, "rootSquashEnabled": { "type": "boolean", "description": "Whether root squash property is enabled for this HPC Cache.\n" }, "skuName": { "type": "string", "description": "The SKU of HPC Cache to use. Possible values are `Standard_2G`, `Standard_4G` and `Standard_8G`. Changing this forces a new resource to be created.\n" }, "subnetId": { "type": "string", "description": "The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "cacheSizeInGb", "resourceGroupName", "skuName", "subnetId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Cache resources.\n", "properties": { "cacheSizeInGb": { "type": "integer", "description": "The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `24576`, and `49152`. Changing this forces a new resource to be created.\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 1500.\n" }, "name": { "type": "string", "description": "The name of the HPC Cache. 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 HPC Cache. Changing this forces a new resource to be created.\n" }, "rootSquashEnabled": { "type": "boolean", "description": "Whether root squash property is enabled for this HPC Cache.\n" }, "skuName": { "type": "string", "description": "The SKU of HPC Cache to use. Possible values are `Standard_2G`, `Standard_4G` and `Standard_8G`. Changing this forces a new resource to be created.\n" }, "subnetId": { "type": "string", "description": "The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:hpc/cacheBlobTarget:CacheBlobTarget": { "description": "Manages a Blob Target within a HPC Cache.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleCache = new azure.hpc.Cache(\"exampleCache\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n cacheSizeInGb: 3072,\n subnetId: exampleSubnet.id,\n skuName: \"Standard_2G\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {storageAccountName: exampleAccount.name});\nconst exampleServicePrincipal = azuread.getServicePrincipal({\n displayName: \"HPC Cache Resource Provider\",\n});\nconst exampleStorageAccountContrib = new azure.authorization.Assignment(\"exampleStorageAccountContrib\", {\n scope: exampleAccount.id,\n roleDefinitionName: \"Storage Account Contributor\",\n principalId: exampleServicePrincipal.then(exampleServicePrincipal =\u003e exampleServicePrincipal.objectId),\n});\nconst exampleStorageBlobDataContrib = new azure.authorization.Assignment(\"exampleStorageBlobDataContrib\", {\n scope: exampleAccount.id,\n roleDefinitionName: \"Storage Blob Data Contributor\",\n principalId: exampleServicePrincipal.then(exampleServicePrincipal =\u003e exampleServicePrincipal.objectId),\n});\nconst exampleCacheBlobTarget = new azure.hpc.CacheBlobTarget(\"exampleCacheBlobTarget\", {\n resourceGroupName: exampleResourceGroup.name,\n cacheName: exampleCache.name,\n storageContainerId: exampleContainer.resourceManagerId,\n namespacePath: \"/blob_storage\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_azuread as azuread\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_cache = azure.hpc.Cache(\"exampleCache\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n cache_size_in_gb=3072,\n subnet_id=example_subnet.id,\n sku_name=\"Standard_2G\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\", storage_account_name=example_account.name)\nexample_service_principal = azuread.get_service_principal(display_name=\"HPC Cache Resource Provider\")\nexample_storage_account_contrib = azure.authorization.Assignment(\"exampleStorageAccountContrib\",\n scope=example_account.id,\n role_definition_name=\"Storage Account Contributor\",\n principal_id=example_service_principal.object_id)\nexample_storage_blob_data_contrib = azure.authorization.Assignment(\"exampleStorageBlobDataContrib\",\n scope=example_account.id,\n role_definition_name=\"Storage Blob Data Contributor\",\n principal_id=example_service_principal.object_id)\nexample_cache_blob_target = azure.hpc.CacheBlobTarget(\"exampleCacheBlobTarget\",\n resource_group_name=example_resource_group.name,\n cache_name=example_cache.name,\n storage_container_id=example_container.resource_manager_id,\n namespace_path=\"/blob_storage\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleCache = new Azure.Hpc.Cache(\"exampleCache\", new Azure.Hpc.CacheArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n CacheSizeInGb = 3072,\n SubnetId = exampleSubnet.Id,\n SkuName = \"Standard_2G\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n });\n var exampleServicePrincipal = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = \"HPC Cache Resource Provider\",\n }));\n var exampleStorageAccountContrib = new Azure.Authorization.Assignment(\"exampleStorageAccountContrib\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleAccount.Id,\n RoleDefinitionName = \"Storage Account Contributor\",\n PrincipalId = exampleServicePrincipal.Apply(exampleServicePrincipal =\u003e exampleServicePrincipal.ObjectId),\n });\n var exampleStorageBlobDataContrib = new Azure.Authorization.Assignment(\"exampleStorageBlobDataContrib\", new Azure.Authorization.AssignmentArgs\n {\n Scope = exampleAccount.Id,\n RoleDefinitionName = \"Storage Blob Data Contributor\",\n PrincipalId = exampleServicePrincipal.Apply(exampleServicePrincipal =\u003e exampleServicePrincipal.ObjectId),\n });\n var exampleCacheBlobTarget = new Azure.Hpc.CacheBlobTarget(\"exampleCacheBlobTarget\", new Azure.Hpc.CacheBlobTargetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n CacheName = exampleCache.Name,\n StorageContainerId = exampleContainer.ResourceManagerId,\n NamespacePath = \"/blob_storage\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hpc\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azuread/sdk/v2/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleCache, err := hpc.NewCache(ctx, \"exampleCache\", \u0026hpc.CacheArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\topt0 := \"HPC Cache Resource Provider\"\n\t\texampleServicePrincipal, err := azuread.LookupServicePrincipal(ctx, \u0026azuread.LookupServicePrincipalArgs{\n\t\t\tDisplayName: \u0026opt0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"exampleStorageAccountContrib\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: exampleAccount.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Account Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleServicePrincipal.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"exampleStorageBlobDataContrib\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: exampleAccount.ID(),\n\t\t\tRoleDefinitionName: pulumi.String(\"Storage Blob Data Contributor\"),\n\t\t\tPrincipalId: pulumi.String(exampleServicePrincipal.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hpc.NewCacheBlobTarget(ctx, \"exampleCacheBlobTarget\", \u0026hpc.CacheBlobTargetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tCacheName: exampleCache.Name,\n\t\t\tStorageContainerId: exampleContainer.ResourceManagerId,\n\t\t\tNamespacePath: pulumi.String(\"/blob_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{{% /example %}}\n{{% /examples %}}", "properties": { "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" } }, "required": [ "cacheName", "name", "namespacePath", "resourceGroupName", "storageContainerId" ], "inputProperties": { "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" } }, "requiredInputs": [ "cacheName", "namespacePath", "resourceGroupName", "storageContainerId" ], "stateInputs": { "description": "Input properties used for looking up and filtering CacheBlobTarget resources.\n", "properties": { "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" } }, "type": "object" } }, "azure:hpc/cacheNfsTarget:CacheNfsTarget": { "description": "Manages a NFS Target within a HPC Cache.\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", "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 `namespace_junction`. Each `namespace_juntion` 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.\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" }, "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 `namespace_junction`. Each `namespace_juntion` 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.\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" }, "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 `namespace_junction`. Each `namespace_juntion` 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.\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 https://docs.microsoft.com/en-us/azure/dedicated-hsm/tutorial-deploy-hsm-cli#prerequisites.\n\n\u003e **Note**: If the quota is not enough in some region, please submit the quota request to service team.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.2.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.2.0.0/24\"],\n});\nconst example2 = new azure.network.Subnet(\"example2\", {\n resourceGroupName: exampleResourceGroup.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 resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.2.255.0/26\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Dynamic\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleModule\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"SafeNet Luna Network HSM A790\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.2.0.0/16\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.2.0.0/24\"])\nexample2 = azure.network.Subnet(\"example2\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.2.1.0/24\"],\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"first\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\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 resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.2.255.0/26\"])\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\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(\"exampleVirtualNetworkGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n type=\"ExpressRoute\",\n vpn_type=\"PolicyBased\",\n sku=\"Standard\",\n ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(\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(\"exampleModule\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"SafeNet Luna Network HSM A790\",\n network_profile=azure.hsm.ModuleNetworkProfileArgs(\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=ResourceOptions(depends_on=[example_virtual_network_gateway]))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.2.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.2.0.0/24\",\n },\n });\n var example2 = new Azure.Network.Subnet(\"example2\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.2.1.0/24\",\n },\n Delegations = \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 = \n {\n \"Microsoft.Network/networkinterfaces/*\",\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n var example3 = new Azure.Network.Subnet(\"example3\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.2.255.0/26\",\n },\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n });\n var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", new Azure.Network.VirtualNetworkGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Type = \"ExpressRoute\",\n VpnType = \"PolicyBased\",\n Sku = \"Standard\",\n IpConfigurations = \n {\n new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n {\n PublicIpAddressId = examplePublicIp.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n SubnetId = example3.Id,\n },\n },\n });\n var exampleModule = new Azure.Hsm.Module(\"exampleModule\", new Azure.Hsm.ModuleArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"SafeNet Luna Network HSM A790\",\n NetworkProfile = new Azure.Hsm.Inputs.ModuleNetworkProfileArgs\n {\n NetworkInterfacePrivateIpAddresses = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hsm\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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 = network.NewSubnet(ctx, \"exampleSubnet\", \u0026network.SubnetArgs{\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.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\tResourceGroupName: exampleResourceGroup.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\tResourceGroupName: exampleResourceGroup.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, \"examplePublicIp\", \u0026network.PublicIpArgs{\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, \"exampleVirtualNetworkGateway\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleModule\", \u0026hsm.ModuleArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"SafeNet Luna Network HSM A790\"),\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{{% /example %}}\n{{% /examples %}}", "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" }, "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 `network_profile` 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. 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 `stamp1` or `stamp2`. 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": "The Dedicated Hardware Security Module zones. Changing this forces a new Dedicated Hardware Security Module to be created.\n" } }, "required": [ "location", "name", "networkProfile", "resourceGroupName", "skuName", "stampId" ], "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" }, "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 `network_profile` 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. 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 `stamp1` or `stamp2`. 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": "The Dedicated Hardware Security Module zones. Changing this forces a new Dedicated Hardware Security Module to be created.\n" } }, "requiredInputs": [ "networkProfile", "resourceGroupName", "skuName", "stampId" ], "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" }, "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 `network_profile` 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. 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 `stamp1` or `stamp2`. 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": "The Dedicated Hardware Security Module zones. Changing this forces a new Dedicated Hardware Security Module to be created.\n" } }, "type": "object" } }, "azure:iot/consumerGroup:ConsumerGroup": { "description": "Manages a Consumer Group within an IotHub\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n tags: {\n purpose: \"testing\",\n },\n});\nconst exampleConsumerGroup = new azure.iot.ConsumerGroup(\"exampleConsumerGroup\", {\n iothubName: exampleIoTHub.name,\n eventhubEndpointName: \"events\",\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ),\n tags={\n \"purpose\": \"testing\",\n })\nexample_consumer_group = azure.iot.ConsumerGroup(\"exampleConsumerGroup\",\n iothub_name=example_io_t_hub.name,\n eventhub_endpoint_name=\"events\",\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 var exampleConsumerGroup = new Azure.Iot.ConsumerGroup(\"exampleConsumerGroup\", new Azure.Iot.ConsumerGroupArgs\n {\n IothubName = exampleIoTHub.Name,\n EventhubEndpointName = \"events\",\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleIoTHub, err := iot.NewIoTHub(ctx, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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\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, \"exampleConsumerGroup\", \u0026iot.ConsumerGroupArgs{\n\t\t\tIothubName: exampleIoTHub.Name,\n\t\t\tEventhubEndpointName: pulumi.String(\"events\"),\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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:iot/dpsSharedAccessPolicy:DpsSharedAccessPolicy": { "description": "Manages an IotHub Device Provisioning Service Shared Access Policy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"exampleIotHubDps\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n});\nconst exampleDpsSharedAccessPolicy = new azure.iot.DpsSharedAccessPolicy(\"exampleDpsSharedAccessPolicy\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubDpsName: exampleIotHubDps.name,\n enrollmentWrite: true,\n enrollmentRead: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"exampleIotHubDps\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IotHubDpsSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\nexample_dps_shared_access_policy = azure.iot.DpsSharedAccessPolicy(\"exampleDpsSharedAccessPolicy\",\n resource_group_name=example_resource_group.name,\n iothub_dps_name=example_iot_hub_dps.name,\n enrollment_write=True,\n enrollment_read=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleIotHubDps = new Azure.Iot.IotHubDps(\"exampleIotHubDps\", new Azure.Iot.IotHubDpsArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n {\n Name = \"S1\",\n Capacity = 1,\n },\n });\n var exampleDpsSharedAccessPolicy = new Azure.Iot.DpsSharedAccessPolicy(\"exampleDpsSharedAccessPolicy\", new Azure.Iot.DpsSharedAccessPolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubDpsName = exampleIotHubDps.Name,\n EnrollmentWrite = true,\n EnrollmentRead = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleIotHubDps\", \u0026iot.IotHubDpsArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleDpsSharedAccessPolicy\", \u0026iot.DpsSharedAccessPolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "enrollmentRead": { "type": "boolean", "description": "Adds `EnrollmentRead` permission to this Shared Access Account. It allows read access to enrollment data.\n" }, "enrollmentWrite": { "type": "boolean", "description": "Adds `EnrollmentWrite` permission to this Shared Access Account. It allows write access to enrollment data.\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" }, "primaryKey": { "type": "string", "description": "The primary key used to create the authentication token.\n" }, "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" }, "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" }, "secondaryKey": { "type": "string", "description": "The secondary key used to create the authentication token.\n" }, "serviceConfig": { "type": "boolean", "description": "Adds `ServiceConfig` permission to this Shared Access Account. It allows configuration of the Device Provisioning Service.\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" }, "enrollmentWrite": { "type": "boolean", "description": "Adds `EnrollmentWrite` permission to this Shared Access Account. It allows write access to enrollment data.\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" }, "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" }, "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" }, "serviceConfig": { "type": "boolean", "description": "Adds `ServiceConfig` permission to this Shared Access Account. It allows configuration of the Device Provisioning Service.\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" }, "enrollmentWrite": { "type": "boolean", "description": "Adds `EnrollmentWrite` permission to this Shared Access Account. It allows write access to enrollment data.\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" }, "primaryKey": { "type": "string", "description": "The primary key used to create the authentication token.\n" }, "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" }, "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" }, "secondaryKey": { "type": "string", "description": "The secondary key used to create the authentication token.\n" }, "serviceConfig": { "type": "boolean", "description": "Adds `ServiceConfig` permission to this Shared Access Account. It allows configuration of the Device Provisioning Service.\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 `azure.iot.IoTHub` 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 `azure.iot.IoTHub` resource is not supported.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Basic\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n partitionCount: 2,\n messageRetention: 1,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\", {\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: false,\n send: true,\n manage: false,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"B1\",\n tier: \"Basic\",\n capacity: \"1\",\n },\n tags: {\n purpose: \"example\",\n },\n});\nconst exampleEndpointEventhub = new azure.iot.EndpointEventhub(\"exampleEndpointEventhub\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\n connectionString: exampleAuthorizationRule.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Basic\")\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\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_authorization_rule = azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\",\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=False,\n send=True,\n manage=False)\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"B1\",\n tier=\"Basic\",\n capacity=1,\n ),\n tags={\n \"purpose\": \"example\",\n })\nexample_endpoint_eventhub = azure.iot.EndpointEventhub(\"exampleEndpointEventhub\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n connection_string=example_authorization_rule.primary_connection_string)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Basic\",\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PartitionCount = 2,\n MessageRetention = 1,\n });\n var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"exampleAuthorizationRule\", new Azure.EventHub.AuthorizationRuleArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = false,\n Send = true,\n Manage = false,\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"B1\",\n Tier = \"Basic\",\n Capacity = 1,\n },\n Tags = \n {\n { \"purpose\", \"example\" },\n },\n });\n var exampleEndpointEventhub = new Azure.Iot.EndpointEventhub(\"exampleEndpointEventhub\", new Azure.Iot.EndpointEventhubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n ConnectionString = exampleAuthorizationRule.PrimaryConnectionString,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\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\texampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, \"exampleAuthorizationRule\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tEventhubName: exampleEventHub.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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(\"B1\"),\n\t\t\t\tTier: pulumi.String(\"Basic\"),\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, \"exampleEndpointEventhub\", \u0026iot.EndpointEventhubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "required": [ "connectionString", "iothubName", "name", "resourceGroupName" ], "inputProperties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "requiredInputs": [ "connectionString", "iothubName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering EndpointEventhub resources.\n", "properties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "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 `azure.iot.IoTHub` 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 `azure.iot.IoTHub` resource is not supported.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n});\nconst exampleQueue = new azure.servicebus.Queue(\"exampleQueue\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n queueName: exampleQueue.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: false,\n send: true,\n manage: false,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"B1\",\n tier: \"Basic\",\n capacity: \"1\",\n },\n tags: {\n purpose: \"example\",\n },\n});\nconst exampleEndpointServicebusQueue = new azure.iot.EndpointServicebusQueue(\"exampleEndpointServicebusQueue\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\n connectionString: exampleQueueAuthorizationRule.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_queue = azure.servicebus.Queue(\"exampleQueue\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\",\n namespace_name=example_namespace.name,\n queue_name=example_queue.name,\n resource_group_name=example_resource_group.name,\n listen=False,\n send=True,\n manage=False)\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"B1\",\n tier=\"Basic\",\n capacity=1,\n ),\n tags={\n \"purpose\": \"example\",\n })\nexample_endpoint_servicebus_queue = azure.iot.EndpointServicebusQueue(\"exampleEndpointServicebusQueue\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n connection_string=example_queue_authorization_rule.primary_connection_string)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n });\n var exampleQueue = new Azure.ServiceBus.Queue(\"exampleQueue\", new Azure.ServiceBus.QueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", new Azure.ServiceBus.QueueAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n QueueName = exampleQueue.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = false,\n Send = true,\n Manage = false,\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"B1\",\n Tier = \"Basic\",\n Capacity = 1,\n },\n Tags = \n {\n { \"purpose\", \"example\" },\n },\n });\n var exampleEndpointServicebusQueue = new Azure.Iot.EndpointServicebusQueue(\"exampleEndpointServicebusQueue\", new Azure.Iot.EndpointServicebusQueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n ConnectionString = exampleQueueAuthorizationRule.PrimaryConnectionString,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleNamespace, err := servicebus.NewNamespace(ctx, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\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, \"exampleQueue\", \u0026servicebus.QueueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleQueueAuthorizationRule, err := servicebus.NewQueueAuthorizationRule(ctx, \"exampleQueueAuthorizationRule\", \u0026servicebus.QueueAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tQueueName: exampleQueue.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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(\"B1\"),\n\t\t\t\tTier: pulumi.String(\"Basic\"),\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, \"exampleEndpointServicebusQueue\", \u0026iot.EndpointServicebusQueueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "required": [ "connectionString", "iothubName", "name", "resourceGroupName" ], "inputProperties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "requiredInputs": [ "connectionString", "iothubName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering EndpointServicebusQueue resources.\n", "properties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "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 `azure.iot.IoTHub` 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 `azure.iot.IoTHub` resource is not supported.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: false,\n send: true,\n manage: false,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"B1\",\n tier: \"Basic\",\n capacity: \"1\",\n },\n tags: {\n purpose: \"example\",\n },\n});\nconst exampleEndpointServicebusTopic = new azure.iot.EndpointServicebusTopic(\"exampleEndpointServicebusTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\n connectionString: exampleTopicAuthorizationRule.primaryConnectionString,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\",\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n resource_group_name=example_resource_group.name,\n listen=False,\n send=True,\n manage=False)\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"B1\",\n tier=\"Basic\",\n capacity=1,\n ),\n tags={\n \"purpose\": \"example\",\n })\nexample_endpoint_servicebus_topic = azure.iot.EndpointServicebusTopic(\"exampleEndpointServicebusTopic\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n connection_string=example_topic_authorization_rule.primary_connection_string)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n });\n var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", new Azure.ServiceBus.TopicAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = false,\n Send = true,\n Manage = false,\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"B1\",\n Tier = \"Basic\",\n Capacity = 1,\n },\n Tags = \n {\n { \"purpose\", \"example\" },\n },\n });\n var exampleEndpointServicebusTopic = new Azure.Iot.EndpointServicebusTopic(\"exampleEndpointServicebusTopic\", new Azure.Iot.EndpointServicebusTopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n ConnectionString = exampleTopicAuthorizationRule.PrimaryConnectionString,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleNamespace, err := servicebus.NewNamespace(ctx, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopicAuthorizationRule, err := servicebus.NewTopicAuthorizationRule(ctx, \"exampleTopicAuthorizationRule\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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(\"B1\"),\n\t\t\t\tTier: pulumi.String(\"Basic\"),\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, \"exampleEndpointServicebusTopic\", \u0026iot.EndpointServicebusTopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "required": [ "connectionString", "iothubName", "name", "resourceGroupName" ], "inputProperties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "requiredInputs": [ "connectionString", "iothubName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering EndpointServicebusTopic resources.\n", "properties": { "connectionString": { "type": "string", "description": "The connection string for the endpoint.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string", "description": "The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\n" }, "resourceGroupName": { "type": "string" } }, "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 `azure.iot.IoTHub` 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 `azure.iot.IoTHub` resource is not supported.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\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 var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\", new Azure.Iot.EndpointStorageContainerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = storage.NewContainer(ctx, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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 = iot.NewEndpointStorageContainer(ctx, \"exampleEndpointStorageContainer\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "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.\n" }, "containerName": { "type": "string", "description": "The name of storage container in the storage account.\n*\n" }, "encoding": { "type": "string", "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro' and 'avrodeflate'. Default value is 'avro'.\n" }, "fileNameFormat": { "type": "string", "description": "File name format for the blob. Default format is ``{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}``. All parameters are mandatory but can be reordered.\n" }, "iothubName": { "type": "string", "description": "The name of the IoTHub to which this Storage Container Endpoint belongs. 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: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\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" } }, "required": [ "connectionString", "containerName", "iothubName", "name", "resourceGroupName" ], "inputProperties": { "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.\n" }, "containerName": { "type": "string", "description": "The name of storage container in the storage account.\n*\n" }, "encoding": { "type": "string", "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro' and 'avrodeflate'. Default value is 'avro'.\n" }, "fileNameFormat": { "type": "string", "description": "File name format for the blob. Default format is ``{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}``. All parameters are mandatory but can be reordered.\n" }, "iothubName": { "type": "string", "description": "The name of the IoTHub to which this Storage Container Endpoint belongs. 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: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\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" } }, "requiredInputs": [ "connectionString", "containerName", "iothubName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering EndpointStorageContainer resources.\n", "properties": { "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.\n" }, "containerName": { "type": "string", "description": "The name of storage container in the storage account.\n*\n" }, "encoding": { "type": "string", "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro' and 'avrodeflate'. Default value is 'avro'.\n" }, "fileNameFormat": { "type": "string", "description": "File name format for the blob. Default format is ``{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}``. All parameters are mandatory but can be reordered.\n" }, "iothubName": { "type": "string", "description": "The name of the IoTHub to which this Storage Container Endpoint belongs. 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: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.\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" } }, "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 `azure.iot.IoTHub` resource, or using the `azure.iot.FallbackRoute` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n tags: {\n purpose: \"testing\",\n },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\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(\"exampleFallbackRoute\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ),\n tags={\n \"purpose\": \"testing\",\n })\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\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(\"exampleFallbackRoute\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\", new Azure.Iot.EndpointStorageContainerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\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 var exampleFallbackRoute = new Azure.Iot.FallbackRoute(\"exampleFallbackRoute\", new Azure.Iot.FallbackRouteArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n Condition = \"true\",\n EndpointNames = \n {\n exampleEndpointStorageContainer.Name,\n },\n Enabled = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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\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, \"exampleEndpointStorageContainer\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\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, \"exampleFallbackRoute\", \u0026iot.FallbackRouteArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\n\t\t\tCondition: pulumi.String(\"true\"),\n\t\t\tEndpointNames: pulumi.String(pulumi.String{\n\t\t\t\texampleEndpointStorageContainer.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "condition": { "type": "string", "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to `true` by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\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" } }, "required": [ "enabled", "endpointNames", "iothubName", "resourceGroupName" ], "inputProperties": { "condition": { "type": "string", "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to `true` by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\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" } }, "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. If no condition is provided, it evaluates to `true` by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\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" } }, "type": "object" } }, "azure:iot/ioTHub:IoTHub": { "description": "Manages an IotHub\n\n\u003e **NOTE:** Endpoints can be defined either directly on the `azure.iot.IoTHub` 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 `azure.iot.IoTHub` resource is not supported.\n\n\u003e **NOTE:** Routes can be defined either directly on the `azure.iot.IoTHub` resource, or using the `azure.iot.Route` 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 `azure.iot.IoTHub` resource, or using the `azure.iot.FallbackRoute` resource - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Canada Central\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: \"Basic\",\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleEventHubNamespace.name,\n partitionCount: 2,\n messageRetention: 1,\n});\nconst exampleAuthorizationRule = new azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n send: true,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\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 tags: {\n purpose: \"testing\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Canada Central\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=\"Basic\")\nexample_event_hub = azure.eventhub.EventHub(\"exampleEventHub\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_event_hub_namespace.name,\n partition_count=2,\n message_retention=1)\nexample_authorization_rule = azure.eventhub.AuthorizationRule(\"exampleAuthorizationRule\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_event_hub_namespace.name,\n eventhub_name=example_event_hub.name,\n send=True)\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ),\n endpoints=[\n azure.iot.IoTHubEndpointArgs(\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 azure.iot.IoTHubEndpointArgs(\n type=\"AzureIotHub.EventHub\",\n connection_string=example_authorization_rule.primary_connection_string,\n name=\"export2\",\n ),\n ],\n routes=[\n azure.iot.IoTHubRouteArgs(\n name=\"export\",\n source=\"DeviceMessages\",\n condition=\"true\",\n endpoint_names=[\"export\"],\n enabled=True,\n ),\n azure.iot.IoTHubRouteArgs(\n name=\"export2\",\n source=\"DeviceMessages\",\n condition=\"true\",\n endpoint_names=[\"export2\"],\n enabled=True,\n ),\n ],\n tags={\n \"purpose\": \"testing\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Canada Central\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = \"Basic\",\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleEventHubNamespace.Name,\n PartitionCount = 2,\n MessageRetention = 1,\n });\n var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule(\"exampleAuthorizationRule\", new Azure.EventHub.AuthorizationRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n Send = true,\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"S1\",\n Capacity = 1,\n },\n Endpoints = \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 = \n {\n new Azure.Iot.Inputs.IoTHubRouteArgs\n {\n Name = \"export\",\n Source = \"DeviceMessages\",\n Condition = \"true\",\n EndpointNames = \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 = \n {\n \"export2\",\n },\n Enabled = true,\n },\n },\n Tags = \n {\n { \"purpose\", \"testing\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleAuthorizationRule\", \u0026eventhub.AuthorizationRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tEventhubName: exampleEventHub.Name,\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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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\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\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{{% /example %}}\n{{% /examples %}}", "properties": { "endpoints": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubEndpoint:IoTHubEndpoint" }, "description": "An `endpoint` block as defined below.\n" }, "eventHubEventsEndpoint": { "type": "string", "description": "The EventHub compatible endpoint 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 `2` and `128`.\n" }, "eventHubRetentionInDays": { "type": "integer", "description": "The event hub retention to use in days. Must be between `1` and `7`.\n" }, "fallbackRoute": { "$ref": "#/types/azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute", "description": "A `fallback_route` 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" }, "fileUpload": { "$ref": "#/types/azure:iot/IoTHubFileUpload:IoTHubFileUpload", "description": "A `file_upload` block as defined below.\n" }, "hostname": { "type": "string", "description": "The hostname of the IotHub Resource.\n" }, "ipFilterRules": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubIpFilterRule:IoTHubIpFilterRule" }, "description": "One or more `ip_filter_rule` blocks as defined below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource has to be createc. 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" }, "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" }, "description": "A `route` block as defined below.\n" }, "sharedAccessPolicies": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubSharedAccessPolicy:IoTHubSharedAccessPolicy" }, "description": "One or more `shared_access_policy` blocks as defined below.\n" }, "sku": { "$ref": "#/types/azure:iot/IoTHubSku:IoTHubSku", "description": "A `sku` block as defined below.\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 endpoint. Possible values are `AzureIotHub.StorageContainer`, `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.\n" } }, "required": [ "endpoints", "eventHubEventsEndpoint", "eventHubEventsPath", "eventHubOperationsEndpoint", "eventHubOperationsPath", "eventHubPartitionCount", "eventHubRetentionInDays", "fallbackRoute", "hostname", "location", "name", "resourceGroupName", "routes", "sharedAccessPolicies", "sku", "type" ], "inputProperties": { "endpoints": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubEndpoint:IoTHubEndpoint" }, "description": "An `endpoint` block as defined below.\n" }, "eventHubPartitionCount": { "type": "integer", "description": "The number of device-to-cloud partitions used by backing event hubs. Must be between `2` and `128`.\n" }, "eventHubRetentionInDays": { "type": "integer", "description": "The event hub retention to use in days. Must be between `1` and `7`.\n" }, "fallbackRoute": { "$ref": "#/types/azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute", "description": "A `fallback_route` 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" }, "fileUpload": { "$ref": "#/types/azure:iot/IoTHubFileUpload:IoTHubFileUpload", "description": "A `file_upload` block as defined below.\n" }, "ipFilterRules": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubIpFilterRule:IoTHubIpFilterRule" }, "description": "One or more `ip_filter_rule` blocks as defined below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource has to be createc. 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" }, "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" }, "description": "A `route` block as defined below.\n" }, "sku": { "$ref": "#/types/azure:iot/IoTHubSku:IoTHubSku", "description": "A `sku` 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 IoTHub resources.\n", "properties": { "endpoints": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubEndpoint:IoTHubEndpoint" }, "description": "An `endpoint` block as defined below.\n" }, "eventHubEventsEndpoint": { "type": "string", "description": "The EventHub compatible endpoint 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 `2` and `128`.\n" }, "eventHubRetentionInDays": { "type": "integer", "description": "The event hub retention to use in days. Must be between `1` and `7`.\n" }, "fallbackRoute": { "$ref": "#/types/azure:iot/IoTHubFallbackRoute:IoTHubFallbackRoute", "description": "A `fallback_route` 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" }, "fileUpload": { "$ref": "#/types/azure:iot/IoTHubFileUpload:IoTHubFileUpload", "description": "A `file_upload` block as defined below.\n" }, "hostname": { "type": "string", "description": "The hostname of the IotHub Resource.\n" }, "ipFilterRules": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubIpFilterRule:IoTHubIpFilterRule" }, "description": "One or more `ip_filter_rule` blocks as defined below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource has to be createc. 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" }, "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" }, "description": "A `route` block as defined below.\n" }, "sharedAccessPolicies": { "type": "array", "items": { "$ref": "#/types/azure:iot/IoTHubSharedAccessPolicy:IoTHubSharedAccessPolicy" }, "description": "One or more `shared_access_policy` blocks as defined below.\n" }, "sku": { "$ref": "#/types/azure:iot/IoTHubSku:IoTHubSku", "description": "A `sku` block as defined below.\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 endpoint. Possible values are `AzureIotHub.StorageContainer`, `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.\n" } }, "type": "object" } }, "azure:iot/iotHubCertificate:IotHubCertificate": { "description": "Manages an IotHub Device Provisioning Service Certificate. \n", "properties": { "certificateContent": { "type": "string", "description": "The Base-64 representation of the X509 leaf certificate .cer file or just a .pem file content.\n" }, "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" }, "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" }, "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" }, "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" } }, "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" }, "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" }, "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" } }, "type": "object" } }, "azure:iot/iotHubDps:IotHubDps": { "description": "Manages an IotHub Device Provisioning Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleIotHubDps = new azure.iot.IotHubDps(\"exampleIotHubDps\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_iot_hub_dps = azure.iot.IotHubDps(\"exampleIotHubDps\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IotHubDpsSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleIotHubDps = new Azure.Iot.IotHubDps(\"exampleIotHubDps\", new Azure.Iot.IotHubDpsArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Iot.Inputs.IotHubDpsSkuArgs\n {\n Name = \"S1\",\n Capacity = 1,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = iot.NewIotHubDps(ctx, \"exampleIotHubDps\", \u0026iot.IotHubDpsArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "allocationPolicy": { "type": "string", "description": "The allocation policy of the IoT Device Provisioning Service.\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" }, "linkedHubs": { "type": "array", "items": { "$ref": "#/types/azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub" }, "description": "A `linked_hub` block as defined below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource has to be createc. 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" }, "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 `sku` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "allocationPolicy", "deviceProvisioningHostName", "idScope", "location", "name", "resourceGroupName", "serviceOperationsHostName", "sku" ], "inputProperties": { "linkedHubs": { "type": "array", "items": { "$ref": "#/types/azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub" }, "description": "A `linked_hub` block as defined below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource has to be createc. 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" }, "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" }, "sku": { "$ref": "#/types/azure:iot/IotHubDpsSku:IotHubDpsSku", "description": "A `sku` 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.\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" }, "linkedHubs": { "type": "array", "items": { "$ref": "#/types/azure:iot/IotHubDpsLinkedHub:IotHubDpsLinkedHub" }, "description": "A `linked_hub` block as defined below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource has to be createc. 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" }, "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 `sku` 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 `azure.iot.IoTHub` resource, or using the `azure.iot.Route` resourcs - but the two cannot be used together. If both are used against the same IoTHub, spurious changes will occur.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n tags: {\n purpose: \"testing\",\n },\n});\nconst exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\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(\"exampleRoute\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ),\n tags={\n \"purpose\": \"testing\",\n })\nexample_endpoint_storage_container = azure.iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\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(\"exampleRoute\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n source=\"DeviceMessages\",\n condition=\"true\",\n endpoint_names=[example_endpoint_storage_container.name],\n enabled=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer(\"exampleEndpointStorageContainer\", new Azure.Iot.EndpointStorageContainerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\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 var exampleRoute = new Azure.Iot.Route(\"exampleRoute\", new Azure.Iot.RouteArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n Source = \"DeviceMessages\",\n Condition = \"true\",\n EndpointNames = \n {\n exampleEndpointStorageContainer.Name,\n },\n Enabled = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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\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, \"exampleEndpointStorageContainer\", \u0026iot.EndpointStorageContainerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\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, \"exampleRoute\", \u0026iot.RouteArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tIothubName: exampleIoTHub.Name,\n\t\t\tSource: pulumi.String(\"DeviceMessages\"),\n\t\t\tCondition: pulumi.String(\"true\"),\n\t\t\tEndpointNames: pulumi.String(pulumi.String{\n\t\t\t\texampleEndpointStorageContainer.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "condition": { "type": "string", "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to `true` by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\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.\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: `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `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. If no condition is provided, it evaluates to `true` by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\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.\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: `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `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. If no condition is provided, it evaluates to `true` by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language.\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.\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: `DeviceJobLifecycleEvents`, `DeviceLifecycleEvents`, `DeviceMessages`, `Invalid`, `TwinChangeEvents`.\n" } }, "type": "object" } }, "azure:iot/sharedAccessPolicy:SharedAccessPolicy": { "description": "Manages an IotHub Shared Access Policy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n});\nconst exampleSharedAccessPolicy = new azure.iot.SharedAccessPolicy(\"exampleSharedAccessPolicy\", {\n resourceGroupName: exampleResourceGroup.name,\n iothubName: exampleIoTHub.name,\n registryRead: true,\n registryWrite: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\nexample_shared_access_policy = azure.iot.SharedAccessPolicy(\"exampleSharedAccessPolicy\",\n resource_group_name=example_resource_group.name,\n iothub_name=example_io_t_hub.name,\n registry_read=True,\n registry_write=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\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 var exampleSharedAccessPolicy = new Azure.Iot.SharedAccessPolicy(\"exampleSharedAccessPolicy\", new Azure.Iot.SharedAccessPolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n IothubName = exampleIoTHub.Name,\n RegistryRead = true,\n RegistryWrite = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleIoTHub, err := iot.NewIoTHub(ctx, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\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 = iot.NewSharedAccessPolicy(ctx, \"exampleSharedAccessPolicy\", \u0026iot.SharedAccessPolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "deviceConnect": { "type": "boolean", "description": "Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.\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" }, "primaryKey": { "type": "string", "description": "The primary key used to create the authentication token.\n" }, "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" }, "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" }, "secondaryKey": { "type": "string", "description": "The secondary key used to create the authentication token.\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "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" }, "primaryKey": { "type": "string", "description": "The primary key used to create the authentication token.\n" }, "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" }, "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" }, "secondaryKey": { "type": "string", "description": "The secondary key used to create the authentication token.\n" }, "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:iot/timeSeriesInsightsAccessPolicy:TimeSeriesInsightsAccessPolicy": { "description": "Manages an Azure IoT Time Series Insights Access Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleTimeSeriesInsightsStandardEnvironment = new azure.iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"S1_1\",\n dataRetentionTime: \"P30D\",\n});\nconst exampleTimeSeriesInsightsAccessPolicy = new azure.iot.TimeSeriesInsightsAccessPolicy(\"exampleTimeSeriesInsightsAccessPolicy\", {\n timeSeriesInsightsEnvironmentId: exampleTimeSeriesInsightsStandardEnvironment.name,\n principalObjectId: \"aGUID\",\n roles: [\"Reader\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_time_series_insights_standard_environment = azure.iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"S1_1\",\n data_retention_time=\"P30D\")\nexample_time_series_insights_access_policy = azure.iot.TimeSeriesInsightsAccessPolicy(\"exampleTimeSeriesInsightsAccessPolicy\",\n time_series_insights_environment_id=example_time_series_insights_standard_environment.name,\n principal_object_id=\"aGUID\",\n roles=[\"Reader\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleTimeSeriesInsightsStandardEnvironment = new Azure.Iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\", new Azure.Iot.TimeSeriesInsightsStandardEnvironmentArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"S1_1\",\n DataRetentionTime = \"P30D\",\n });\n var exampleTimeSeriesInsightsAccessPolicy = new Azure.Iot.TimeSeriesInsightsAccessPolicy(\"exampleTimeSeriesInsightsAccessPolicy\", new Azure.Iot.TimeSeriesInsightsAccessPolicyArgs\n {\n TimeSeriesInsightsEnvironmentId = exampleTimeSeriesInsightsStandardEnvironment.Name,\n PrincipalObjectId = \"aGUID\",\n Roles = \n {\n \"Reader\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleTimeSeriesInsightsStandardEnvironment, err := iot.NewTimeSeriesInsightsStandardEnvironment(ctx, \"exampleTimeSeriesInsightsStandardEnvironment\", \u0026iot.TimeSeriesInsightsStandardEnvironmentArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"S1_1\"),\n\t\t\tDataRetentionTime: pulumi.String(\"P30D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewTimeSeriesInsightsAccessPolicy(ctx, \"exampleTimeSeriesInsightsAccessPolicy\", \u0026iot.TimeSeriesInsightsAccessPolicyArgs{\n\t\t\tTimeSeriesInsightsEnvironmentId: exampleTimeSeriesInsightsStandardEnvironment.Name,\n\t\t\tPrincipalObjectId: pulumi.String(\"aGUID\"),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Reader\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", "description": "The description of the Azure IoT Time Series Insights Access Policy.\n" }, "name": { "type": "string", "description": "Specifies the name of the Azure IoT Time Series Insights Access Policy. Changing this forces a new resource to be created. Must be globally unique.\n" }, "principalObjectId": { "type": "string", "description": "The id of the principal in Azure Active Directory.\n" }, "roles": { "type": "array", "items": { "type": "string" }, "description": "A list of roles to apply to the Access Policy. Valid values include `Contributor` and `Reader`.\n" }, "timeSeriesInsightsEnvironmentId": { "type": "string", "description": "The resource ID of the Azure IoT Time Series Insights Environment in which to create the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "principalObjectId", "roles", "timeSeriesInsightsEnvironmentId" ], "inputProperties": { "description": { "type": "string", "description": "The description of the Azure IoT Time Series Insights Access Policy.\n" }, "name": { "type": "string", "description": "Specifies the name of the Azure IoT Time Series Insights Access Policy. Changing this forces a new resource to be created. Must be globally unique.\n" }, "principalObjectId": { "type": "string", "description": "The id of the principal in Azure Active Directory.\n" }, "roles": { "type": "array", "items": { "type": "string" }, "description": "A list of roles to apply to the Access Policy. Valid values include `Contributor` and `Reader`.\n" }, "timeSeriesInsightsEnvironmentId": { "type": "string", "description": "The resource ID of the Azure IoT Time Series Insights Environment in which to create the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "principalObjectId", "roles", "timeSeriesInsightsEnvironmentId" ], "stateInputs": { "description": "Input properties used for looking up and filtering TimeSeriesInsightsAccessPolicy resources.\n", "properties": { "description": { "type": "string", "description": "The description of the Azure IoT Time Series Insights Access Policy.\n" }, "name": { "type": "string", "description": "Specifies the name of the Azure IoT Time Series Insights Access Policy. Changing this forces a new resource to be created. Must be globally unique.\n" }, "principalObjectId": { "type": "string", "description": "The id of the principal in Azure Active Directory.\n" }, "roles": { "type": "array", "items": { "type": "string" }, "description": "A list of roles to apply to the Access Policy. Valid values include `Contributor` and `Reader`.\n" }, "timeSeriesInsightsEnvironmentId": { "type": "string", "description": "The resource ID of the Azure IoT Time Series Insights Environment in which to create the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:iot/timeSeriesInsightsReferenceDataSet:TimeSeriesInsightsReferenceDataSet": { "description": "Manages an Azure IoT Time Series Insights Reference Data Set.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleTimeSeriesInsightsStandardEnvironment = new azure.iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"S1_1\",\n dataRetentionTime: \"P30D\",\n});\nconst exampleTimeSeriesInsightsReferenceDataSet = new azure.iot.TimeSeriesInsightsReferenceDataSet(\"exampleTimeSeriesInsightsReferenceDataSet\", {\n timeSeriesInsightsEnvironmentId: exampleTimeSeriesInsightsStandardEnvironment.id,\n location: exampleResourceGroup.location,\n keyProperties: [{\n name: \"keyProperty1\",\n type: \"String\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_time_series_insights_standard_environment = azure.iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"S1_1\",\n data_retention_time=\"P30D\")\nexample_time_series_insights_reference_data_set = azure.iot.TimeSeriesInsightsReferenceDataSet(\"exampleTimeSeriesInsightsReferenceDataSet\",\n time_series_insights_environment_id=example_time_series_insights_standard_environment.id,\n location=example_resource_group.location,\n key_properties=[azure.iot.TimeSeriesInsightsReferenceDataSetKeyPropertyArgs(\n name=\"keyProperty1\",\n type=\"String\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleTimeSeriesInsightsStandardEnvironment = new Azure.Iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\", new Azure.Iot.TimeSeriesInsightsStandardEnvironmentArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"S1_1\",\n DataRetentionTime = \"P30D\",\n });\n var exampleTimeSeriesInsightsReferenceDataSet = new Azure.Iot.TimeSeriesInsightsReferenceDataSet(\"exampleTimeSeriesInsightsReferenceDataSet\", new Azure.Iot.TimeSeriesInsightsReferenceDataSetArgs\n {\n TimeSeriesInsightsEnvironmentId = exampleTimeSeriesInsightsStandardEnvironment.Id,\n Location = exampleResourceGroup.Location,\n KeyProperties = \n {\n new Azure.Iot.Inputs.TimeSeriesInsightsReferenceDataSetKeyPropertyArgs\n {\n Name = \"keyProperty1\",\n Type = \"String\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleTimeSeriesInsightsStandardEnvironment, err := iot.NewTimeSeriesInsightsStandardEnvironment(ctx, \"exampleTimeSeriesInsightsStandardEnvironment\", \u0026iot.TimeSeriesInsightsStandardEnvironmentArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"S1_1\"),\n\t\t\tDataRetentionTime: pulumi.String(\"P30D\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewTimeSeriesInsightsReferenceDataSet(ctx, \"exampleTimeSeriesInsightsReferenceDataSet\", \u0026iot.TimeSeriesInsightsReferenceDataSetArgs{\n\t\t\tTimeSeriesInsightsEnvironmentId: exampleTimeSeriesInsightsStandardEnvironment.ID(),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tKeyProperties: iot.TimeSeriesInsightsReferenceDataSetKeyPropertyArray{\n\t\t\t\t\u0026iot.TimeSeriesInsightsReferenceDataSetKeyPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"keyProperty1\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "dataStringComparisonBehavior": { "type": "string", "description": "The comparison behavior that will be used to compare keys. Valid values include `Ordinal` and `OrdinalIgnoreCase`. Defaults to `Ordinal`.\n" }, "keyProperties": { "type": "array", "items": { "$ref": "#/types/azure:iot/TimeSeriesInsightsReferenceDataSetKeyProperty:TimeSeriesInsightsReferenceDataSetKeyProperty" }, "description": "A `key_property` 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" }, "name": { "type": "string", "description": "Specifies the name of the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created. Must be globally unique.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "timeSeriesInsightsEnvironmentId": { "type": "string", "description": "The resource ID of the Azure IoT Time Series Insights Environment in which to create the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created.\n" } }, "required": [ "keyProperties", "location", "name", "timeSeriesInsightsEnvironmentId" ], "inputProperties": { "dataStringComparisonBehavior": { "type": "string", "description": "The comparison behavior that will be used to compare keys. Valid values include `Ordinal` and `OrdinalIgnoreCase`. Defaults to `Ordinal`.\n" }, "keyProperties": { "type": "array", "items": { "$ref": "#/types/azure:iot/TimeSeriesInsightsReferenceDataSetKeyProperty:TimeSeriesInsightsReferenceDataSetKeyProperty" }, "description": "A `key_property` 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" }, "name": { "type": "string", "description": "Specifies the name of the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created. Must be globally unique.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "timeSeriesInsightsEnvironmentId": { "type": "string", "description": "The resource ID of the Azure IoT Time Series Insights Environment in which to create the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "keyProperties", "timeSeriesInsightsEnvironmentId" ], "stateInputs": { "description": "Input properties used for looking up and filtering TimeSeriesInsightsReferenceDataSet resources.\n", "properties": { "dataStringComparisonBehavior": { "type": "string", "description": "The comparison behavior that will be used to compare keys. Valid values include `Ordinal` and `OrdinalIgnoreCase`. Defaults to `Ordinal`.\n" }, "keyProperties": { "type": "array", "items": { "$ref": "#/types/azure:iot/TimeSeriesInsightsReferenceDataSetKeyProperty:TimeSeriesInsightsReferenceDataSetKeyProperty" }, "description": "A `key_property` 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" }, "name": { "type": "string", "description": "Specifies the name of the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created. Must be globally unique.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "timeSeriesInsightsEnvironmentId": { "type": "string", "description": "The resource ID of the Azure IoT Time Series Insights Environment in which to create the Azure IoT Time Series Insights Reference Data Set. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:iot/timeSeriesInsightsStandardEnvironment:TimeSeriesInsightsStandardEnvironment": { "description": "Manages an Azure IoT Time Series Insights Standard Environment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleTimeSeriesInsightsStandardEnvironment = new azure.iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"S1_1\",\n dataRetentionTime: \"P30D\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_time_series_insights_standard_environment = azure.iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"S1_1\",\n data_retention_time=\"P30D\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleTimeSeriesInsightsStandardEnvironment = new Azure.Iot.TimeSeriesInsightsStandardEnvironment(\"exampleTimeSeriesInsightsStandardEnvironment\", new Azure.Iot.TimeSeriesInsightsStandardEnvironmentArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"S1_1\",\n DataRetentionTime = \"P30D\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = iot.NewTimeSeriesInsightsStandardEnvironment(ctx, \"exampleTimeSeriesInsightsStandardEnvironment\", \u0026iot.TimeSeriesInsightsStandardEnvironmentArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"S1_1\"),\n\t\t\tDataRetentionTime: 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{{% /example %}}\n{{% /examples %}}", "properties": { "dataRetentionTime": { "type": "string", "description": "Specifies the ISO8601 timespan specifying the minimum number of days the environment's events will be available for query. 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 Azure IoT Time Series Insights Standard Environment. Changing this forces a new resource to be created. Must be globally unique.\n" }, "partitionKey": { "type": "string", "description": "The name of the event property which will be used to partition data. 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 IoT Time Series Insights Standard Environment.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this IoT Time Series Insights Standard Environment. It is string consisting of two parts separated by an underscore(\\_).The fist part is the `name`, valid values include: `S1` and `S2`. The second part is the `capacity` (e.g. the number of deployed units of the `sku`), which must be a positive `integer` (e.g. `S1_1`). Changing this forces a new resource to be created.\n" }, "storageLimitExceededBehavior": { "type": "string", "description": "Specifies the behavior the IoT Time Series Insights service should take when the environment's capacity has been exceeded. Valid values include `PauseIngress` and `PurgeOldData`. Defaults to `PurgeOldData`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "dataRetentionTime", "location", "name", "resourceGroupName", "skuName" ], "inputProperties": { "dataRetentionTime": { "type": "string", "description": "Specifies the ISO8601 timespan specifying the minimum number of days the environment's events will be available for query. 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 Azure IoT Time Series Insights Standard Environment. Changing this forces a new resource to be created. Must be globally unique.\n" }, "partitionKey": { "type": "string", "description": "The name of the event property which will be used to partition data. 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 IoT Time Series Insights Standard Environment.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this IoT Time Series Insights Standard Environment. It is string consisting of two parts separated by an underscore(\\_).The fist part is the `name`, valid values include: `S1` and `S2`. The second part is the `capacity` (e.g. the number of deployed units of the `sku`), which must be a positive `integer` (e.g. `S1_1`). Changing this forces a new resource to be created.\n" }, "storageLimitExceededBehavior": { "type": "string", "description": "Specifies the behavior the IoT Time Series Insights service should take when the environment's capacity has been exceeded. Valid values include `PauseIngress` and `PurgeOldData`. Defaults to `PurgeOldData`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "dataRetentionTime", "resourceGroupName", "skuName" ], "stateInputs": { "description": "Input properties used for looking up and filtering TimeSeriesInsightsStandardEnvironment resources.\n", "properties": { "dataRetentionTime": { "type": "string", "description": "Specifies the ISO8601 timespan specifying the minimum number of days the environment's events will be available for query. 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 Azure IoT Time Series Insights Standard Environment. Changing this forces a new resource to be created. Must be globally unique.\n" }, "partitionKey": { "type": "string", "description": "The name of the event property which will be used to partition data. 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 IoT Time Series Insights Standard Environment.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this IoT Time Series Insights Standard Environment. It is string consisting of two parts separated by an underscore(\\_).The fist part is the `name`, valid values include: `S1` and `S2`. The second part is the `capacity` (e.g. the number of deployed units of the `sku`), which must be a positive `integer` (e.g. `S1_1`). Changing this forces a new resource to be created.\n" }, "storageLimitExceededBehavior": { "type": "string", "description": "Specifies the behavior the IoT Time Series Insights service should take when the environment's capacity has been exceeded. Valid values include `PauseIngress` and `PurgeOldData`. Defaults to `PurgeOldData`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:iotcentral/application:Application": { "description": "Manages an IoT Central Application\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleApplication = new azure.iotcentral.Application(\"exampleApplication\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n subDomain: \"example-iotcentral-app-subdomain\",\n displayName: \"example-iotcentral-app-display-name\",\n sku: \"S1\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_application = azure.iotcentral.Application(\"exampleApplication\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sub_domain=\"example-iotcentral-app-subdomain\",\n display_name=\"example-iotcentral-app-display-name\",\n sku=\"S1\",\n template=\"iotc-default@1.0.0\",\n tags={\n \"Foo\": \"Bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleApplication = new Azure.IotCentral.Application(\"exampleApplication\", new Azure.IotCentral.ApplicationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n SubDomain = \"example-iotcentral-app-subdomain\",\n DisplayName = \"example-iotcentral-app-display-name\",\n Sku = \"S1\",\n Template = \"iotc-default@1.0.0\",\n Tags = \n {\n { \"Foo\", \"Bar\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iotcentral\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleApplication\", \u0026iotcentral.ApplicationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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(\"S1\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "displayName": { "type": "string", "description": "A `display_name` name. Custom display name for the IoT Central application. Default is resource name.\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" }, "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 `sku` name. Possible values is `ST1`, `ST2`, Default value is `ST1`\n" }, "subDomain": { "type": "string", "description": "A `sub_domain` 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 `template` name. IoT Central application template name. Default is a custom application.\n" } }, "required": [ "displayName", "location", "name", "resourceGroupName", "subDomain", "template" ], "inputProperties": { "displayName": { "type": "string", "description": "A `display_name` name. Custom display name for the IoT Central application. Default is resource name.\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" }, "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 `sku` name. Possible values is `ST1`, `ST2`, Default value is `ST1`\n" }, "subDomain": { "type": "string", "description": "A `sub_domain` 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 `template` name. IoT Central application template name. Default is a custom application.\n" } }, "requiredInputs": [ "resourceGroupName", "subDomain" ], "stateInputs": { "description": "Input properties used for looking up and filtering Application resources.\n", "properties": { "displayName": { "type": "string", "description": "A `display_name` name. Custom display name for the IoT Central application. Default is resource name.\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" }, "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 `sku` name. Possible values is `ST1`, `ST2`, Default value is `ST1`\n" }, "subDomain": { "type": "string", "description": "A `sub_domain` 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 `template` name. IoT Central application template name. Default is a custom application.\n" } }, "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 `azure.keyvault.KeyVault` resource via the `access_policy` block and by using the `azure.keyvault.AccessPolicy` 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/en-us/azure/key-vault/key-vault-secure-your-key-vault#data-plane-access-control).\n", "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\nthe following: `backup`, `create`, `delete`, `deleteissuers`, `get`, `getissuers`, `import`, `list`, `listissuers`,\n`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\nthe following: `backup`, `create`, `decrypt`, `delete`, `encrypt`, `get`, `import`, `list`, `purge`,\n`recover`, `restore`, `sign`, `unwrapKey`, `update`, `verify` and `wrapKey`.\n" }, "keyVaultId": { "type": "string", "description": "Specifies the id of the Key Vault resource. Changing this\nforces a new resource to be created.\n" }, "objectId": { "type": "string", "description": "The object ID of a user, service principal or security\ngroup in the Azure Active Directory tenant for the vault. The object ID must\nbe unique for the list of access policies. Changing this forces a new resource\nto be created.\n" }, "secretPermissions": { "type": "array", "items": { "type": "string" }, "description": "List of secret permissions, must be one or more\nfrom 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\nfor authenticating requests to the key vault. Changing this forces a new resource\nto be created.\n" } }, "required": [ "keyVaultId", "objectId", "tenantId" ], "inputProperties": { "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\nthe following: `backup`, `create`, `delete`, `deleteissuers`, `get`, `getissuers`, `import`, `list`, `listissuers`,\n`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\nthe following: `backup`, `create`, `decrypt`, `delete`, `encrypt`, `get`, `import`, `list`, `purge`,\n`recover`, `restore`, `sign`, `unwrapKey`, `update`, `verify` and `wrapKey`.\n" }, "keyVaultId": { "type": "string", "description": "Specifies the id of the Key Vault resource. Changing this\nforces a new resource to be created.\n" }, "objectId": { "type": "string", "description": "The object ID of a user, service principal or security\ngroup in the Azure Active Directory tenant for the vault. The object ID must\nbe unique for the list of access policies. Changing this forces a new resource\nto be created.\n" }, "secretPermissions": { "type": "array", "items": { "type": "string" }, "description": "List of secret permissions, must be one or more\nfrom 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\nfor authenticating requests to the key vault. Changing this forces a new resource\nto be created.\n" } }, "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.\n" }, "certificatePermissions": { "type": "array", "items": { "type": "string" }, "description": "List of certificate permissions, must be one or more from\nthe following: `backup`, `create`, `delete`, `deleteissuers`, `get`, `getissuers`, `import`, `list`, `listissuers`,\n`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\nthe following: `backup`, `create`, `decrypt`, `delete`, `encrypt`, `get`, `import`, `list`, `purge`,\n`recover`, `restore`, `sign`, `unwrapKey`, `update`, `verify` and `wrapKey`.\n" }, "keyVaultId": { "type": "string", "description": "Specifies the id of the Key Vault resource. Changing this\nforces a new resource to be created.\n" }, "objectId": { "type": "string", "description": "The object ID of a user, service principal or security\ngroup in the Azure Active Directory tenant for the vault. The object ID must\nbe unique for the list of access policies. Changing this forces a new resource\nto be created.\n" }, "secretPermissions": { "type": "array", "items": { "type": "string" }, "description": "List of secret permissions, must be one or more\nfrom 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\nfor authenticating requests to the key vault. Changing this forces a new resource\nto be created.\n" } }, "type": "object" } }, "azure:keyvault/certifiate:Certifiate": { "description": "Manages a Key Vault Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Generating A New Certificate)\n\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(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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 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 tags: {\n environment: \"Production\",\n },\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\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 )],\n tags={\n \"environment\": \"Production\",\n })\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties={\n \"exportable\": True,\n \"key_size\": 2048,\n \"key_type\": \"RSA\",\n \"reuseKey\": True,\n },\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\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=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SkuName = \"standard\",\n AccessPolicies = \n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n CertificatePermissions = \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 = \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 = \n {\n \"backup\",\n \"delete\",\n \"get\",\n \"list\",\n \"purge\",\n \"recover\",\n \"restore\",\n \"set\",\n },\n },\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new Azure.KeyVault.CertificateArgs\n {\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 = \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 = \n {\n \"1.3.6.1.5.5.7.3.1\",\n },\n KeyUsages = \n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n {\n DnsNames = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\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\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 = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "certificate": { "$ref": "#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate", "description": "A `certificate` block as defined below, used to Import an existing certificate.\n", "language": { "csharp": { "name": "KeyVaultCertificate" } } }, "certificateAttributes": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/CertifiateCertificateAttribute:CertifiateCertificateAttribute" }, "description": "A `certificate_attribute` block as defined below.\n" }, "certificateData": { "type": "string", "description": "The raw Key Vault Certificate data represented as a hexadecimal string.\n" }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy", "description": "A `certificate_policy` block as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault where the Certificate should 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" }, "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" } }, "required": [ "certificateAttributes", "certificateData", "certificatePolicy", "keyVaultId", "name", "secretId", "thumbprint", "version" ], "inputProperties": { "certificate": { "$ref": "#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate", "description": "A `certificate` block as defined below, used to Import an existing certificate.\n", "language": { "csharp": { "name": "KeyVaultCertificate" } } }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy", "description": "A `certificate_policy` block as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault where the Certificate should 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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "certificatePolicy", "keyVaultId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Certifiate resources.\n", "properties": { "certificate": { "$ref": "#/types/azure:keyvault/CertifiateCertificate:CertifiateCertificate", "description": "A `certificate` block as defined below, used to Import an existing certificate.\n", "language": { "csharp": { "name": "KeyVaultCertificate" } } }, "certificateAttributes": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/CertifiateCertificateAttribute:CertifiateCertificateAttribute" }, "description": "A `certificate_attribute` block as defined below.\n" }, "certificateData": { "type": "string", "description": "The raw Key Vault Certificate data represented as a hexadecimal string.\n" }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy", "description": "A `certificate_policy` block as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault where the Certificate should 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" }, "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" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Generating A New Certificate)\n\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(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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 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 tags: {\n environment: \"Production\",\n },\n});\nconst exampleCertificate = new azure.keyvault.Certificate(\"exampleCertificate\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"standard\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\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 )],\n tags={\n \"environment\": \"Production\",\n })\nexample_certificate = azure.keyvault.Certificate(\"exampleCertificate\",\n key_vault_id=example_key_vault.id,\n certificate_policy=azure.keyvault.CertificateCertificatePolicyArgs(\n issuer_parameters=azure.keyvault.CertificateCertificatePolicyIssuerParametersArgs(\n name=\"Self\",\n ),\n key_properties={\n \"exportable\": True,\n \"key_size\": 2048,\n \"key_type\": \"RSA\",\n \"reuseKey\": True,\n },\n lifetime_actions=[azure.keyvault.CertificateCertificatePolicyLifetimeActionArgs(\n action=azure.keyvault.CertificateCertificatePolicyLifetimeActionActionArgs(\n action_type=\"AutoRenew\",\n ),\n trigger=azure.keyvault.CertificateCertificatePolicyLifetimeActionTriggerArgs(\n days_before_expiry=30,\n ),\n )],\n secret_properties=azure.keyvault.CertificateCertificatePolicySecretPropertiesArgs(\n content_type=\"application/x-pkcs12\",\n ),\n x509_certificate_properties=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesArgs(\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=azure.keyvault.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SkuName = \"standard\",\n AccessPolicies = \n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n CertificatePermissions = \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 = \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 = \n {\n \"backup\",\n \"delete\",\n \"get\",\n \"list\",\n \"purge\",\n \"recover\",\n \"restore\",\n \"set\",\n },\n },\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var exampleCertificate = new Azure.KeyVault.Certificate(\"exampleCertificate\", new Azure.KeyVault.CertificateArgs\n {\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 = \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 = \n {\n \"1.3.6.1.5.5.7.3.1\",\n },\n KeyUsages = \n {\n \"cRLSign\",\n \"dataEncipherment\",\n \"digitalSignature\",\n \"keyAgreement\",\n \"keyCertSign\",\n \"keyEncipherment\",\n },\n SubjectAlternativeNames = new Azure.KeyVault.Inputs.CertificateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNamesArgs\n {\n DnsNames = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\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\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 = keyvault.NewCertificate(ctx, \"exampleCertificate\", \u0026keyvault.CertificateArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "certificate": { "$ref": "#/types/azure:keyvault/CertificateCertificate:CertificateCertificate", "description": "A `certificate` block as defined below, used to Import an existing certificate.\n", "language": { "csharp": { "name": "KeyVaultCertificate" } } }, "certificateAttributes": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/CertificateCertificateAttribute:CertificateCertificateAttribute" }, "description": "A `certificate_attribute` block as defined below.\n" }, "certificateData": { "type": "string", "description": "The raw Key Vault Certificate data represented as a hexadecimal string.\n" }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy", "description": "A `certificate_policy` block as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault where the Certificate should 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" }, "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" } }, "required": [ "certificateAttributes", "certificateData", "certificatePolicy", "keyVaultId", "name", "secretId", "thumbprint", "version" ], "inputProperties": { "certificate": { "$ref": "#/types/azure:keyvault/CertificateCertificate:CertificateCertificate", "description": "A `certificate` block as defined below, used to Import an existing certificate.\n", "language": { "csharp": { "name": "KeyVaultCertificate" } } }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy", "description": "A `certificate_policy` block as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault where the Certificate should 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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "certificatePolicy", "keyVaultId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Certificate resources.\n", "properties": { "certificate": { "$ref": "#/types/azure:keyvault/CertificateCertificate:CertificateCertificate", "description": "A `certificate` block as defined below, used to Import an existing certificate.\n", "language": { "csharp": { "name": "KeyVaultCertificate" } } }, "certificateAttributes": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/CertificateCertificateAttribute:CertificateCertificateAttribute" }, "description": "A `certificate_attribute` block as defined below.\n" }, "certificateData": { "type": "string", "description": "The raw Key Vault Certificate data represented as a hexadecimal string.\n" }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy", "description": "A `certificate_policy` block as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault where the Certificate should 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" }, "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" } }, "type": "object" }, "aliases": [ { "type": "azure:keyvault/certifiate:Certifiate" } ] }, "azure:keyvault/certificateIssuer:CertificateIssuer": { "description": "Manages a Key Vault Certificate Issuer.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst current = azure.core.getClientConfig({});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"standard\",\n tenantId: current.then(current =\u003e current.tenantId),\n});\nconst exampleCertificateIssuer = new azure.keyvault.CertificateIssuer(\"exampleCertificateIssuer\", {\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\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\ncurrent = azure.core.get_client_config()\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"standard\",\n tenant_id=current.tenant_id)\nexample_certificate_issuer = azure.keyvault.CertificateIssuer(\"exampleCertificateIssuer\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"standard\",\n TenantId = current.Apply(current =\u003e current.TenantId),\n });\n var exampleCertificateIssuer = new Azure.KeyVault.CertificateIssuer(\"exampleCertificateIssuer\", new Azure.KeyVault.CertificateIssuerArgs\n {\n OrgId = \"ExampleOrgName\",\n KeyVaultId = exampleKeyVault.Id,\n ProviderName = \"DigiCert\",\n AccountId = \"0000\",\n Password = \"example-password\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleCertificateIssuer\", \u0026keyvault.CertificateIssuerArgs{\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{{% /example %}}\n{{% /examples %}}", "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 `admin` blocks as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault in which to create the Certificate Issuer.\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" }, "providerName": { "type": "string", "description": "The name of the third-party Certificate Issuer. Possible values are: `DigiCert`, `GlobalSign`.\n" } }, "required": [ "keyVaultId", "name", "orgId", "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 `admin` blocks as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault in which to create the Certificate Issuer.\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" }, "providerName": { "type": "string", "description": "The name of the third-party Certificate Issuer. Possible values are: `DigiCert`, `GlobalSign`.\n" } }, "requiredInputs": [ "keyVaultId", "orgId", "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 `admin` blocks as defined below.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault in which to create the Certificate Issuer.\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" }, "providerName": { "type": "string", "description": "The name of the third-party Certificate Issuer. Possible values are: `DigiCert`, `GlobalSign`.\n" } }, "type": "object" } }, "azure:keyvault/key:Key": { "description": "Manages a Key Vault Key.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst current = azure.core.getClientConfig({});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst server = new random.RandomId(\"server\", {\n keepers: {\n ami_id: 1,\n },\n byteLength: 8,\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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 keyPermissions: [\n \"create\",\n \"get\",\n ],\n secretPermissions: [\"set\"],\n }],\n tags: {\n environment: \"Production\",\n },\n});\nconst generated = new azure.keyvault.Key(\"generated\", {\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```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nserver = random.RandomId(\"server\",\n keepers={\n \"ami_id\": 1,\n },\n byte_length=8)\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\n tenant_id=current.tenant_id,\n object_id=current.object_id,\n key_permissions=[\n \"create\",\n \"get\",\n ],\n secret_permissions=[\"set\"],\n )],\n tags={\n \"environment\": \"Production\",\n })\ngenerated = azure.keyvault.Key(\"generated\",\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```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"ami_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SkuName = \"premium\",\n AccessPolicies = \n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n KeyPermissions = \n {\n \"create\",\n \"get\",\n },\n SecretPermissions = \n {\n \"set\",\n },\n },\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n var generated = new Azure.KeyVault.Key(\"generated\", new Azure.KeyVault.KeyArgs\n {\n KeyVaultId = exampleKeyVault.Id,\n KeyType = \"RSA\",\n KeySize = 2048,\n KeyOpts = \n {\n \"decrypt\",\n \"encrypt\",\n \"sign\",\n \"unwrapKey\",\n \"verify\",\n \"wrapKey\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"ami_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKeyVault, err := keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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},\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\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 = keyvault.NewKey(ctx, \"generated\", \u0026keyvault.KeyArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "curve": { "type": "string", "description": "Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-384`, `P-521`, and `SECP256K1`. This field will be required in a future release if `key_type` 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" }, "keyOpts": { "type": "array", "items": { "type": "string" }, "description": "A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` 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 `key_type` 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`, `Oct` (Octet), `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" }, "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" }, "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", "version", "x", "y" ], "inputProperties": { "curve": { "type": "string", "description": "Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-384`, `P-521`, and `SECP256K1`. This field will be required in a future release if `key_type` 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" }, "expirationDate": { "type": "string", "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n" }, "keyOpts": { "type": "array", "items": { "type": "string" }, "description": "A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` 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 `key_type` 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`, `Oct` (Octet), `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" }, "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" }, "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-384`, `P-521`, and `SECP256K1`. This field will be required in a future release if `key_type` 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" }, "keyOpts": { "type": "array", "items": { "type": "string" }, "description": "A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` 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 `key_type` 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`, `Oct` (Octet), `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" }, "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" }, "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 `azure.keyvault.KeyVault` resource via the `access_policy` block and by using the `azure.keyvault.AccessPolicy` 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:** This provi will automatically recover a soft-deleted Key Vault during Creation if one is found - you can opt out of this using the `features` configuration within the Provider configuration block.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n enabledForDiskEncryption: true,\n tenantId: current.then(current =\u003e current.tenantId),\n softDeleteEnabled: true,\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 networkAcls: {\n defaultAction: \"Deny\",\n bypass: \"AzureServices\",\n },\n tags: {\n environment: \"Testing\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n enabled_for_disk_encryption=True,\n tenant_id=current.tenant_id,\n soft_delete_enabled=True,\n soft_delete_retention_days=7,\n purge_protection_enabled=False,\n sku_name=\"standard\",\n access_policies=[azure.keyvault.KeyVaultAccessPolicyArgs(\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 network_acls=azure.keyvault.KeyVaultNetworkAclsArgs(\n default_action=\"Deny\",\n bypass=\"AzureServices\",\n ),\n tags={\n \"environment\": \"Testing\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n EnabledForDiskEncryption = true,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SoftDeleteEnabled = true,\n SoftDeleteRetentionDays = 7,\n PurgeProtectionEnabled = false,\n SkuName = \"standard\",\n AccessPolicies = \n {\n new Azure.KeyVault.Inputs.KeyVaultAccessPolicyArgs\n {\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n KeyPermissions = \n {\n \"get\",\n },\n SecretPermissions = \n {\n \"get\",\n },\n StoragePermissions = \n {\n \"get\",\n },\n },\n },\n NetworkAcls = new Azure.KeyVault.Inputs.KeyVaultNetworkAclsArgs\n {\n DefaultAction = \"Deny\",\n Bypass = \"AzureServices\",\n },\n Tags = \n {\n { \"environment\", \"Testing\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = keyvault.NewKeyVault(ctx, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tEnabledForDiskEncryption: pulumi.Bool(true),\n\t\t\tTenantId: pulumi.String(current.TenantId),\n\t\t\tSoftDeleteEnabled: pulumi.Bool(true),\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\tNetworkAcls: \u0026keyvault.KeyVaultNetworkAclsArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tBypass: pulumi.String(\"AzureServices\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessPolicies": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy" }, "description": "A list of up to 16 objects describing access policies, as described below.\n" }, "enableRbacAuthorization": { "type": "boolean", "description": "Boolean flag to specify whether Azure Key Vault uses Role Based Access Control (RBAC) for authorization of data actions. Defaults to `false`.\n" }, "enabledForDeployment": { "type": "boolean", "description": "Boolean flag to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault. Defaults to `false`.\n" }, "enabledForDiskEncryption": { "type": "boolean", "description": "Boolean flag to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys. Defaults to `false`.\n" }, "enabledForTemplateDeployment": { "type": "boolean", "description": "Boolean flag to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault. Defaults to `false`.\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.\n" }, "networkAcls": { "$ref": "#/types/azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls", "description": "A `network_acls` block as defined below.\n" }, "purgeProtectionEnabled": { "type": "boolean", "description": "Is Purge Protection enabled for this Key Vault? Defaults to `false`.\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 `standard` and `premium`.\n" }, "softDeleteEnabled": { "type": "boolean", "description": "Should Soft Delete be enabled for this Key Vault? Defaults to `false`.\n" }, "softDeleteRetentionDays": { "type": "integer", "description": "The number of days that items should be retained for once soft-deleted.\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", "location", "name", "networkAcls", "resourceGroupName", "skuName", "tenantId", "vaultUri" ], "inputProperties": { "accessPolicies": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/KeyVaultAccessPolicy:KeyVaultAccessPolicy" }, "description": "A list of up to 16 objects describing access policies, as described below.\n" }, "enableRbacAuthorization": { "type": "boolean", "description": "Boolean flag to specify whether Azure Key Vault uses Role Based Access Control (RBAC) for authorization of data actions. Defaults to `false`.\n" }, "enabledForDeployment": { "type": "boolean", "description": "Boolean flag to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault. Defaults to `false`.\n" }, "enabledForDiskEncryption": { "type": "boolean", "description": "Boolean flag to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys. Defaults to `false`.\n" }, "enabledForTemplateDeployment": { "type": "boolean", "description": "Boolean flag to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault. Defaults to `false`.\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.\n" }, "networkAcls": { "$ref": "#/types/azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls", "description": "A `network_acls` block as defined below.\n" }, "purgeProtectionEnabled": { "type": "boolean", "description": "Is Purge Protection enabled for this Key Vault? Defaults to `false`.\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 `standard` and `premium`.\n" }, "softDeleteEnabled": { "type": "boolean", "description": "Should Soft Delete be enabled for this Key Vault? Defaults to `false`.\n" }, "softDeleteRetentionDays": { "type": "integer", "description": "The number of days that items should be retained for once soft-deleted.\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 16 objects describing access policies, as described below.\n" }, "enableRbacAuthorization": { "type": "boolean", "description": "Boolean flag to specify whether Azure Key Vault uses Role Based Access Control (RBAC) for authorization of data actions. Defaults to `false`.\n" }, "enabledForDeployment": { "type": "boolean", "description": "Boolean flag to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault. Defaults to `false`.\n" }, "enabledForDiskEncryption": { "type": "boolean", "description": "Boolean flag to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys. Defaults to `false`.\n" }, "enabledForTemplateDeployment": { "type": "boolean", "description": "Boolean flag to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault. Defaults to `false`.\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.\n" }, "networkAcls": { "$ref": "#/types/azure:keyvault/KeyVaultNetworkAcls:KeyVaultNetworkAcls", "description": "A `network_acls` block as defined below.\n" }, "purgeProtectionEnabled": { "type": "boolean", "description": "Is Purge Protection enabled for this Key Vault? Defaults to `false`.\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 `standard` and `premium`.\n" }, "softDeleteEnabled": { "type": "boolean", "description": "Should Soft Delete be enabled for this Key Vault? Defaults to `false`.\n" }, "softDeleteRetentionDays": { "type": "integer", "description": "The number of days that items should be retained for once soft-deleted.\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/secret:Secret": { "description": "Manages a Key Vault Secret.\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.\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" }, "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.\n" }, "version": { "type": "string", "description": "The current version of the Key Vault Secret.\n" } }, "required": [ "keyVaultId", "name", "value", "version" ], "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.\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" }, "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.\n" } }, "requiredInputs": [ "keyVaultId", "value" ], "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.\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" }, "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.\n" }, "version": { "type": "string", "description": "The current version 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst followerCluster = new azure.kusto.Cluster(\"followerCluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Dev(No SLA)_Standard_D11_v2\",\n capacity: 1,\n },\n});\nconst followedCluster = new azure.kusto.Cluster(\"followedCluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Dev(No SLA)_Standard_D11_v2\",\n capacity: 1,\n },\n});\nconst followedDatabase = new azure.kusto.Database(\"followedDatabase\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: azurerm_kusto_cluster.cluster2.name,\n});\nconst example = new azure.kusto.AttachedDatabaseConfiguration(\"example\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: followerCluster.name,\n clusterResourceId: followedCluster.id,\n databaseName: \"*\",\n defaultPrincipalModificationsKind: \"None\",\n});\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "attachedDatabaseNames": { "type": "array", "items": { "type": "string" }, "description": "The list of databases from the `cluster_resource_id` which are currently attached to the cluster.\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", "description": "The resource id of the cluster where the databases you would like to attach reside.\n" }, "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.\n" }, "defaultPrincipalModificationKind": { "type": "string", "description": "The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`.\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" } }, "required": [ "attachedDatabaseNames", "clusterName", "clusterResourceId", "databaseName", "location", "name", "resourceGroupName" ], "inputProperties": { "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", "description": "The resource id of the cluster where the databases you would like to attach reside.\n" }, "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.\n" }, "defaultPrincipalModificationKind": { "type": "string", "description": "The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`.\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" } }, "requiredInputs": [ "clusterName", "clusterResourceId", "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 `cluster_resource_id` which are currently attached to the cluster.\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", "description": "The resource id of the cluster where the databases you would like to attach reside.\n" }, "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.\n" }, "defaultPrincipalModificationKind": { "type": "string", "description": "The default principals modification kind. Valid values are: `None` (default), `Replace` and `Union`.\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" } }, "type": "object" } }, "azure:kusto/cluster:Cluster": { "description": "Manages a Kusto (also known as Azure Data Explorer) Cluster\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst example = new azure.kusto.Cluster(\"example\", {\n location: rg.location,\n resourceGroupName: rg.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\nrg = azure.core.ResourceGroup(\"rg\", location=\"East US\")\nexample = azure.kusto.Cluster(\"example\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=azure.kusto.ClusterSkuArgs(\n name=\"Standard_D13_v2\",\n capacity=2,\n ),\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var example = new Azure.Kusto.Cluster(\"example\", new Azure.Kusto.ClusterArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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 = kusto.NewCluster(ctx, \"example\", \u0026kusto.ClusterArgs{\n\t\t\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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{{% /example %}}\n{{% /examples %}}", "properties": { "dataIngestionUri": { "type": "string", "description": "The Kusto Cluster URI to be used for data ingestion.\n" }, "enableDiskEncryption": { "type": "boolean", "description": "Specifies if the cluster's disks are encrypted.\n" }, "enablePurge": { "type": "boolean", "description": "Specifies if the purge operations are enabled.\n" }, "enableStreamingIngest": { "type": "boolean", "description": "Specifies if the streaming ingest is enabled.\n" }, "identity": { "$ref": "#/types/azure:kusto/ClusterIdentity:ClusterIdentity", "description": "A identity block.\n" }, "languageExtensions": { "type": "array", "items": { "type": "string" }, "description": "An list of `language_extensions` to enable. Valid values are: `PYTHON` and `R`.\n" }, "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. Changing this forces a new resource to be created.\n" }, "optimizedAutoScale": { "$ref": "#/types/azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale", "description": "An `optimized_auto_scale` block as defined below.\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 `sku` block as defined below.\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.\n" }, "uri": { "type": "string", "description": "The FQDN of the Azure Kusto Cluster.\n" }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource to be created.\n" } }, "required": [ "dataIngestionUri", "identity", "location", "name", "resourceGroupName", "sku", "trustedExternalTenants", "uri" ], "inputProperties": { "enableDiskEncryption": { "type": "boolean", "description": "Specifies if the cluster's disks are encrypted.\n" }, "enablePurge": { "type": "boolean", "description": "Specifies if the purge operations are enabled.\n" }, "enableStreamingIngest": { "type": "boolean", "description": "Specifies if the streaming ingest is enabled.\n" }, "identity": { "$ref": "#/types/azure:kusto/ClusterIdentity:ClusterIdentity", "description": "A identity block.\n" }, "languageExtensions": { "type": "array", "items": { "type": "string" }, "description": "An list of `language_extensions` to enable. Valid values are: `PYTHON` and `R`.\n" }, "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. Changing this forces a new resource to be created.\n" }, "optimizedAutoScale": { "$ref": "#/types/azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale", "description": "An `optimized_auto_scale` block as defined below.\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 `sku` block as defined below.\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.\n" }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "resourceGroupName", "sku" ], "stateInputs": { "description": "Input properties used for looking up and filtering Cluster resources.\n", "properties": { "dataIngestionUri": { "type": "string", "description": "The Kusto Cluster URI to be used for data ingestion.\n" }, "enableDiskEncryption": { "type": "boolean", "description": "Specifies if the cluster's disks are encrypted.\n" }, "enablePurge": { "type": "boolean", "description": "Specifies if the purge operations are enabled.\n" }, "enableStreamingIngest": { "type": "boolean", "description": "Specifies if the streaming ingest is enabled.\n" }, "identity": { "$ref": "#/types/azure:kusto/ClusterIdentity:ClusterIdentity", "description": "A identity block.\n" }, "languageExtensions": { "type": "array", "items": { "type": "string" }, "description": "An list of `language_extensions` to enable. Valid values are: `PYTHON` and `R`.\n" }, "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. Changing this forces a new resource to be created.\n" }, "optimizedAutoScale": { "$ref": "#/types/azure:kusto/ClusterOptimizedAutoScale:ClusterOptimizedAutoScale", "description": "An `optimized_auto_scale` block as defined below.\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 `sku` block as defined below.\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.\n" }, "uri": { "type": "string", "description": "The FQDN of the Azure Kusto Cluster.\n" }, "virtualNetworkConfiguration": { "$ref": "#/types/azure:kusto/ClusterVirtualNetworkConfiguration:ClusterVirtualNetworkConfiguration", "description": "A `virtual_network_configuration` block as defined below.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the cluster instances should be created in. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:kusto/clusterCustomerManagedKey:ClusterCustomerManagedKey": { "description": "Manages a Customer Managed Key for a Kusto Cluster.\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. Changing this forces a new resource to be created.\n" }, "keyVersion": { "type": "string", "description": "The version of Key Vault Key.\n" } }, "required": [ "clusterId", "keyName", "keyVaultId", "keyVersion" ], "inputProperties": { "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. Changing this forces a new resource to be created.\n" }, "keyVersion": { "type": "string", "description": "The version of Key Vault Key.\n" } }, "requiredInputs": [ "clusterId", "keyName", "keyVaultId", "keyVersion" ], "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" }, "keyName": { "type": "string", "description": "The name of Key Vault Key.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault. Changing this forces a new resource to be created.\n" }, "keyVersion": { "type": "string", "description": "The version of Key Vault Key.\n" } }, "type": "object" } }, "azure:kusto/clusterPrincipalAssignment:ClusterPrincipalAssignment": { "description": "Manages a Kusto Cluster Principal Assignment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst exampleCluster = new azure.kusto.Cluster(\"exampleCluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Standard_D13_v2\",\n capacity: 2,\n },\n});\nconst exampleClusterPrincipalAssignment = new azure.kusto.ClusterPrincipalAssignment(\"exampleClusterPrincipalAssignment\", {\n resourceGroupName: rg.name,\n clusterName: exampleCluster.name,\n tenantId: current.then(current =\u003e current.tenantId),\n principalId: current.then(current =\u003e current.clientId),\n principalType: \"App\",\n role: \"AllDatabasesAdmin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nrg = azure.core.ResourceGroup(\"rg\", location=\"East US\")\nexample_cluster = azure.kusto.Cluster(\"exampleCluster\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=azure.kusto.ClusterSkuArgs(\n name=\"Standard_D13_v2\",\n capacity=2,\n ))\nexample_cluster_principal_assignment = azure.kusto.ClusterPrincipalAssignment(\"exampleClusterPrincipalAssignment\",\n resource_group_name=rg.name,\n cluster_name=example_cluster.name,\n tenant_id=current.tenant_id,\n principal_id=current.client_id,\n principal_type=\"App\",\n role=\"AllDatabasesAdmin\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleCluster = new Azure.Kusto.Cluster(\"exampleCluster\", new Azure.Kusto.ClusterArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n {\n Name = \"Standard_D13_v2\",\n Capacity = 2,\n },\n });\n var exampleClusterPrincipalAssignment = new Azure.Kusto.ClusterPrincipalAssignment(\"exampleClusterPrincipalAssignment\", new Azure.Kusto.ClusterPrincipalAssignmentArgs\n {\n ResourceGroupName = rg.Name,\n ClusterName = exampleCluster.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n PrincipalId = current.Apply(current =\u003e current.ClientId),\n PrincipalType = \"App\",\n Role = \"AllDatabasesAdmin\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := core.NewResourceGroup(ctx, \"rg\", \u0026core.ResourceGroupArgs{\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\texampleCluster, err := kusto.NewCluster(ctx, \"exampleCluster\", \u0026kusto.ClusterArgs{\n\t\t\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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, \"exampleClusterPrincipalAssignment\", \u0026kusto.ClusterPrincipalAssignmentArgs{\n\t\t\tResourceGroupName: rg.Name,\n\t\t\tClusterName: exampleCluster.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(\"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{{% /example %}}\n{{% /examples %}}", "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" }, "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` and `AllDatabasesViewer`. 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" }, "name": { "type": "string" }, "principalId": { "type": "string", "description": "The object id of the principal. Changing this forces a new resource to be created.\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` and `AllDatabasesViewer`. 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" } }, "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" }, "name": { "type": "string" }, "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` and `AllDatabasesViewer`. 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" } }, "type": "object" } }, "azure:kusto/database:Database": { "description": "Manages a Kusto (also known as Azure Data Explorer) Database\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst cluster = new azure.kusto.Cluster(\"cluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Standard_D13_v2\",\n capacity: 2,\n },\n});\nconst database = new azure.kusto.Database(\"database\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: cluster.name,\n hotCachePeriod: \"P7D\",\n softDeletePeriod: \"P31D\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"East US\")\ncluster = azure.kusto.Cluster(\"cluster\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=azure.kusto.ClusterSkuArgs(\n name=\"Standard_D13_v2\",\n capacity=2,\n ))\ndatabase = azure.kusto.Database(\"database\",\n resource_group_name=rg.name,\n location=rg.location,\n cluster_name=cluster.name,\n hot_cache_period=\"P7D\",\n soft_delete_period=\"P31D\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var cluster = new Azure.Kusto.Cluster(\"cluster\", new Azure.Kusto.ClusterArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n {\n Name = \"Standard_D13_v2\",\n Capacity = 2,\n },\n });\n var database = new Azure.Kusto.Database(\"database\", new Azure.Kusto.DatabaseArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n ClusterName = cluster.Name,\n HotCachePeriod = \"P7D\",\n SoftDeletePeriod = \"P31D\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"East US\"),\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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" }, "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" } }, "type": "object" } }, "azure:kusto/databasePrincipal:DatabasePrincipal": { "description": "Manages a Kusto (also known as Azure Data Explorer) Database Principal\n\n\u003e **NOTE:** This resource is being **deprecated** due to API updates and should no longer be used. Please use azure.kusto.DatabasePrincipalAssignment instead.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst cluster = new azure.kusto.Cluster(\"cluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Standard_D13_v2\",\n capacity: 2,\n },\n});\nconst database = new azure.kusto.Database(\"database\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: cluster.name,\n hotCachePeriod: \"P7D\",\n softDeletePeriod: \"P31D\",\n});\nconst principal = new azure.kusto.DatabasePrincipal(\"principal\", {\n resourceGroupName: rg.name,\n clusterName: cluster.name,\n databaseName: azurerm_kusto_database.test.name,\n role: \"Viewer\",\n type: \"User\",\n clientId: current.then(current =\u003e current.tenantId),\n objectId: current.then(current =\u003e current.clientId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nrg = azure.core.ResourceGroup(\"rg\", location=\"East US\")\ncluster = azure.kusto.Cluster(\"cluster\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=azure.kusto.ClusterSkuArgs(\n name=\"Standard_D13_v2\",\n capacity=2,\n ))\ndatabase = azure.kusto.Database(\"database\",\n resource_group_name=rg.name,\n location=rg.location,\n cluster_name=cluster.name,\n hot_cache_period=\"P7D\",\n soft_delete_period=\"P31D\")\nprincipal = azure.kusto.DatabasePrincipal(\"principal\",\n resource_group_name=rg.name,\n cluster_name=cluster.name,\n database_name=azurerm_kusto_database[\"test\"][\"name\"],\n role=\"Viewer\",\n type=\"User\",\n client_id=current.tenant_id,\n object_id=current.client_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var cluster = new Azure.Kusto.Cluster(\"cluster\", new Azure.Kusto.ClusterArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n {\n Name = \"Standard_D13_v2\",\n Capacity = 2,\n },\n });\n var database = new Azure.Kusto.Database(\"database\", new Azure.Kusto.DatabaseArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n ClusterName = cluster.Name,\n HotCachePeriod = \"P7D\",\n SoftDeletePeriod = \"P31D\",\n });\n var principal = new Azure.Kusto.DatabasePrincipal(\"principal\", new Azure.Kusto.DatabasePrincipalArgs\n {\n ResourceGroupName = rg.Name,\n ClusterName = cluster.Name,\n DatabaseName = azurerm_kusto_database.Test.Name,\n Role = \"Viewer\",\n Type = \"User\",\n ClientId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ClientId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := core.NewResourceGroup(ctx, \"rg\", \u0026core.ResourceGroupArgs{\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\tcluster, err := kusto.NewCluster(ctx, \"cluster\", \u0026kusto.ClusterArgs{\n\t\t\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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\t_, err = kusto.NewDatabasePrincipal(ctx, \"principal\", \u0026kusto.DatabasePrincipalArgs{\n\t\t\tResourceGroupName: rg.Name,\n\t\t\tClusterName: cluster.Name,\n\t\t\tDatabaseName: pulumi.Any(azurerm_kusto_database.Test.Name),\n\t\t\tRole: pulumi.String(\"Viewer\"),\n\t\t\tType: pulumi.String(\"User\"),\n\t\t\tClientId: pulumi.String(current.TenantId),\n\t\t\tObjectId: 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{{% /example %}}\n{{% /examples %}}", "properties": { "appId": { "type": "string", "description": "The app id, if not empty, of the principal.\n" }, "clientId": { "type": "string", "description": "The Client ID that owns the specified `object_id`. Changing this forces a new resource to be created.\n" }, "clusterName": { "type": "string", "description": "Specifies the name of the Kusto Cluster this database principal will be added to. Changing this forces a new resource to be created.\n" }, "databaseName": { "type": "string", "description": "Specified the name of the Kusto Database this principal will be added to. Changing this forces a new resource to be created.\n" }, "email": { "type": "string", "description": "The email, if not empty, of the principal.\n" }, "fullyQualifiedName": { "type": "string", "description": "The fully qualified name of the principal.\n" }, "name": { "type": "string", "description": "The name of the Kusto Database Principal.\n" }, "objectId": { "type": "string", "description": "An Object ID of a User, Group, or App. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the Resource Group where the Kusto Database Principal should exist. Changing this forces a new resource to be created.\n" }, "role": { "type": "string", "description": "Specifies the permissions the Principal will have. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewers`, `User`, `Viewer`. Changing this forces a new resource to be created.\n" }, "type": { "type": "string", "description": "Specifies the type of object the principal is. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n" } }, "required": [ "appId", "clientId", "clusterName", "databaseName", "email", "fullyQualifiedName", "name", "objectId", "resourceGroupName", "role", "type" ], "inputProperties": { "clientId": { "type": "string", "description": "The Client ID that owns the specified `object_id`. Changing this forces a new resource to be created.\n" }, "clusterName": { "type": "string", "description": "Specifies the name of the Kusto Cluster this database principal will be added to. Changing this forces a new resource to be created.\n" }, "databaseName": { "type": "string", "description": "Specified the name of the Kusto Database this principal will be added to. Changing this forces a new resource to be created.\n" }, "objectId": { "type": "string", "description": "An Object ID of a User, Group, or App. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the Resource Group where the Kusto Database Principal should exist. Changing this forces a new resource to be created.\n" }, "role": { "type": "string", "description": "Specifies the permissions the Principal will have. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewers`, `User`, `Viewer`. Changing this forces a new resource to be created.\n" }, "type": { "type": "string", "description": "Specifies the type of object the principal is. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "clientId", "clusterName", "databaseName", "objectId", "resourceGroupName", "role", "type" ], "stateInputs": { "description": "Input properties used for looking up and filtering DatabasePrincipal resources.\n", "properties": { "appId": { "type": "string", "description": "The app id, if not empty, of the principal.\n" }, "clientId": { "type": "string", "description": "The Client ID that owns the specified `object_id`. Changing this forces a new resource to be created.\n" }, "clusterName": { "type": "string", "description": "Specifies the name of the Kusto Cluster this database principal will be added to. Changing this forces a new resource to be created.\n" }, "databaseName": { "type": "string", "description": "Specified the name of the Kusto Database this principal will be added to. Changing this forces a new resource to be created.\n" }, "email": { "type": "string", "description": "The email, if not empty, of the principal.\n" }, "fullyQualifiedName": { "type": "string", "description": "The fully qualified name of the principal.\n" }, "name": { "type": "string", "description": "The name of the Kusto Database Principal.\n" }, "objectId": { "type": "string", "description": "An Object ID of a User, Group, or App. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the Resource Group where the Kusto Database Principal should exist. Changing this forces a new resource to be created.\n" }, "role": { "type": "string", "description": "Specifies the permissions the Principal will have. Valid values include `Admin`, `Ingestor`, `Monitor`, `UnrestrictedViewers`, `User`, `Viewer`. Changing this forces a new resource to be created.\n" }, "type": { "type": "string", "description": "Specifies the type of object the principal is. Valid values include `App`, `Group`, `User`. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:kusto/databasePrincipalAssignment:DatabasePrincipalAssignment": { "description": "Manages a Kusto (also known as Azure Data Explorer) Database Principal Assignment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst exampleCluster = new azure.kusto.Cluster(\"exampleCluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Standard_D13_v2\",\n capacity: 2,\n },\n});\nconst exampleDatabase = new azure.kusto.Database(\"exampleDatabase\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: exampleCluster.name,\n hotCachePeriod: \"P7D\",\n softDeletePeriod: \"P31D\",\n});\nconst exampleDatabasePrincipalAssignment = new azure.kusto.DatabasePrincipalAssignment(\"exampleDatabasePrincipalAssignment\", {\n resourceGroupName: rg.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()\nrg = azure.core.ResourceGroup(\"rg\", location=\"East US\")\nexample_cluster = azure.kusto.Cluster(\"exampleCluster\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=azure.kusto.ClusterSkuArgs(\n name=\"Standard_D13_v2\",\n capacity=2,\n ))\nexample_database = azure.kusto.Database(\"exampleDatabase\",\n resource_group_name=rg.name,\n location=rg.location,\n cluster_name=example_cluster.name,\n hot_cache_period=\"P7D\",\n soft_delete_period=\"P31D\")\nexample_database_principal_assignment = azure.kusto.DatabasePrincipalAssignment(\"exampleDatabasePrincipalAssignment\",\n resource_group_name=rg.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleCluster = new Azure.Kusto.Cluster(\"exampleCluster\", new Azure.Kusto.ClusterArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n {\n Name = \"Standard_D13_v2\",\n Capacity = 2,\n },\n });\n var exampleDatabase = new Azure.Kusto.Database(\"exampleDatabase\", new Azure.Kusto.DatabaseArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n ClusterName = exampleCluster.Name,\n HotCachePeriod = \"P7D\",\n SoftDeletePeriod = \"P31D\",\n });\n var exampleDatabasePrincipalAssignment = new Azure.Kusto.DatabasePrincipalAssignment(\"exampleDatabasePrincipalAssignment\", new Azure.Kusto.DatabasePrincipalAssignmentArgs\n {\n ResourceGroupName = rg.Name,\n ClusterName = exampleCluster.Name,\n DatabaseName = exampleDatabase.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n PrincipalId = current.Apply(current =\u003e current.ClientId),\n PrincipalType = \"App\",\n Role = \"Viewer\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := core.NewResourceGroup(ctx, \"rg\", \u0026core.ResourceGroupArgs{\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\texampleCluster, err := kusto.NewCluster(ctx, \"exampleCluster\", \u0026kusto.ClusterArgs{\n\t\t\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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, \"exampleDatabase\", \u0026kusto.DatabaseArgs{\n\t\t\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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, \"exampleDatabasePrincipalAssignment\", \u0026kusto.DatabasePrincipalAssignmentArgs{\n\t\t\tResourceGroupName: rg.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{{% /example %}}\n{{% /examples %}}", "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" }, "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`, `UnrestrictedViewers`, `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" }, "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" }, "principalId": { "type": "string", "description": "The object id of the principal. Changing this forces a new resource to be created.\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`, `UnrestrictedViewers`, `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" } }, "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" }, "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" }, "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`, `UnrestrictedViewers`, `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" } }, "type": "object" } }, "azure:kusto/eventhubDataConnection:EventhubDataConnection": { "description": "Manages a Kusto (also known as Azure Data Explorer) EventHub Data Connection\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"East US\"});\nconst cluster = new azure.kusto.Cluster(\"cluster\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: {\n name: \"Standard_D13_v2\",\n capacity: 2,\n },\n});\nconst database = new azure.kusto.Database(\"database\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: cluster.name,\n hotCachePeriod: \"P7D\",\n softDeletePeriod: \"P31D\",\n});\nconst eventhubNs = new azure.eventhub.EventHubNamespace(\"eventhubNs\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: \"Standard\",\n});\nconst eventhub = new azure.eventhub.EventHub(\"eventhub\", {\n namespaceName: eventhubNs.name,\n resourceGroupName: rg.name,\n partitionCount: 1,\n messageRetention: 1,\n});\nconst consumerGroup = new azure.eventhub.ConsumerGroup(\"consumerGroup\", {\n namespaceName: eventhubNs.name,\n eventhubName: eventhub.name,\n resourceGroupName: rg.name,\n});\nconst eventhubConnection = new azure.kusto.EventhubDataConnection(\"eventhubConnection\", {\n resourceGroupName: rg.name,\n location: rg.location,\n clusterName: cluster.name,\n databaseName: database.name,\n eventhubId: azurerm_eventhub.evenhub.id,\n consumerGroup: consumerGroup.name,\n tableName: \"my-table\",\n mappingRuleName: \"my-table-mapping\",\n dataFormat: \"JSON\",\n});\n//(Optional)\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"East US\")\ncluster = azure.kusto.Cluster(\"cluster\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=azure.kusto.ClusterSkuArgs(\n name=\"Standard_D13_v2\",\n capacity=2,\n ))\ndatabase = azure.kusto.Database(\"database\",\n resource_group_name=rg.name,\n location=rg.location,\n cluster_name=cluster.name,\n hot_cache_period=\"P7D\",\n soft_delete_period=\"P31D\")\neventhub_ns = azure.eventhub.EventHubNamespace(\"eventhubNs\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=\"Standard\")\neventhub = azure.eventhub.EventHub(\"eventhub\",\n namespace_name=eventhub_ns.name,\n resource_group_name=rg.name,\n partition_count=1,\n message_retention=1)\nconsumer_group = azure.eventhub.ConsumerGroup(\"consumerGroup\",\n namespace_name=eventhub_ns.name,\n eventhub_name=eventhub.name,\n resource_group_name=rg.name)\neventhub_connection = azure.kusto.EventhubDataConnection(\"eventhubConnection\",\n resource_group_name=rg.name,\n location=rg.location,\n cluster_name=cluster.name,\n database_name=database.name,\n eventhub_id=azurerm_eventhub[\"evenhub\"][\"id\"],\n consumer_group=consumer_group.name,\n table_name=\"my-table\",\n mapping_rule_name=\"my-table-mapping\",\n data_format=\"JSON\")\n#(Optional)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var cluster = new Azure.Kusto.Cluster(\"cluster\", new Azure.Kusto.ClusterArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = new Azure.Kusto.Inputs.ClusterSkuArgs\n {\n Name = \"Standard_D13_v2\",\n Capacity = 2,\n },\n });\n var database = new Azure.Kusto.Database(\"database\", new Azure.Kusto.DatabaseArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n ClusterName = cluster.Name,\n HotCachePeriod = \"P7D\",\n SoftDeletePeriod = \"P31D\",\n });\n var eventhubNs = new Azure.EventHub.EventHubNamespace(\"eventhubNs\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = \"Standard\",\n });\n var eventhub = new Azure.EventHub.EventHub(\"eventhub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = eventhubNs.Name,\n ResourceGroupName = rg.Name,\n PartitionCount = 1,\n MessageRetention = 1,\n });\n var consumerGroup = new Azure.EventHub.ConsumerGroup(\"consumerGroup\", new Azure.EventHub.ConsumerGroupArgs\n {\n NamespaceName = eventhubNs.Name,\n EventhubName = eventhub.Name,\n ResourceGroupName = rg.Name,\n });\n var eventhubConnection = new Azure.Kusto.EventhubDataConnection(\"eventhubConnection\", new Azure.Kusto.EventhubDataConnectionArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n ClusterName = cluster.Name,\n DatabaseName = database.Name,\n EventhubId = azurerm_eventhub.Evenhub.Id,\n ConsumerGroup = consumerGroup.Name,\n TableName = \"my-table\",\n MappingRuleName = \"my-table-mapping\",\n DataFormat = \"JSON\",\n });\n //(Optional)\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"East US\"),\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\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.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, \"eventhubNs\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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\tNamespaceName: eventhubNs.Name,\n\t\t\tResourceGroupName: rg.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, \"consumerGroup\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tNamespaceName: eventhubNs.Name,\n\t\t\tEventhubName: eventhub.Name,\n\t\t\tResourceGroupName: rg.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kusto.NewEventhubDataConnection(ctx, \"eventhubConnection\", \u0026kusto.EventhubDataConnectionArgs{\n\t\t\tResourceGroupName: rg.Name,\n\t\t\tLocation: rg.Location,\n\t\t\tClusterName: cluster.Name,\n\t\t\tDatabaseName: database.Name,\n\t\t\tEventhubId: pulumi.Any(azurerm_eventhub.Evenhub.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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 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: `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV` and `TXT`\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" }, "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" }, "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" }, "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", "eventhubId", "location", "name", "resourceGroupName" ], "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" }, "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: `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV` and `TXT`\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" }, "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" }, "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" }, "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" }, "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: `AVRO`, `CSV`, `JSON`, `MULTIJSON`, `PSV`, `RAW`, `SCSV`, `SINGLEJSON`, `SOHSV`, `TSV` and `TXT`\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" }, "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" }, "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" }, "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: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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"exampleBackendAddressPool\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"exampleBackendAddressPool\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"exampleBackendAddressPool\", new Azure.Lb.BackendAddressPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleBackendAddressPool\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.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{{% /example %}}\n{{% /examples %}}", "properties": { "backendIpConfigurations": { "type": "array", "items": { "type": "string" }, "description": "The Backend IP Configurations 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.\n" }, "name": { "type": "string", "description": "Specifies the name of the Backend Address Pool.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "required": [ "backendIpConfigurations", "loadBalancingRules", "loadbalancerId", "name", "resourceGroupName" ], "inputProperties": { "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the Backend Address Pool.\n" }, "name": { "type": "string", "description": "Specifies the name of the Backend Address Pool.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "requiredInputs": [ "loadbalancerId", "resourceGroupName" ], "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" }, "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.\n" }, "name": { "type": "string", "description": "Specifies the name of the Backend Address Pool.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "type": "object" } }, "azure:lb/loadBalancer:LoadBalancer": { "description": "Manages a Load Balancer Resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration" }, "description": "One or multiple `frontend_ip_configuration` blocks as documented below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure Region where the Load Balancer should be created.\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. The last one and first four IPs in any range are reserved and cannot be manually assigned.\n" }, "privateIpAddresses": { "type": "array", "items": { "type": "string" }, "description": "The list of private IP address assigned to the load balancer in `frontend_ip_configuration` blocks, if any.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which to create the Load Balancer.\n" }, "sku": { "type": "string", "description": "The SKU of the Azure Load Balancer. Accepted values are `Basic` and `Standard`. Defaults to `Basic`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "location", "name", "privateIpAddress", "privateIpAddresses", "resourceGroupName" ], "inputProperties": { "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration" }, "description": "One or multiple `frontend_ip_configuration` blocks as documented below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure Region where the Load Balancer should be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the Load Balancer.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which to create the Load Balancer.\n" }, "sku": { "type": "string", "description": "The SKU of the Azure Load Balancer. Accepted values are `Basic` and `Standard`. Defaults to `Basic`.\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": { "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/LoadBalancerFrontendIpConfiguration:LoadBalancerFrontendIpConfiguration" }, "description": "One or multiple `frontend_ip_configuration` blocks as documented below.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure Region where the Load Balancer should be created.\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. The last one and first four IPs in any range are reserved and cannot be manually assigned.\n" }, "privateIpAddresses": { "type": "array", "items": { "type": "string" }, "description": "The list of private IP address assigned to the load balancer in `frontend_ip_configuration` blocks, if any.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which to create the Load Balancer.\n" }, "sku": { "type": "string", "description": "The SKU of the Azure Load Balancer. Accepted values are `Basic` and `Standard`. Defaults to `Basic`.\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 `azure.lb.NatRule` resource.\n\n\u003e **NOTE** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleNatPool = new azure.lb.NatPool(\"exampleNatPool\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_nat_pool = azure.lb.NatPool(\"exampleNatPool\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleNatPool = new Azure.Lb.NatPool(\"exampleNatPool\", new Azure.Lb.NatPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Tcp\",\n FrontendPortStart = 80,\n FrontendPortEnd = 81,\n BackendPort = 8080,\n FrontendIpConfigurationName = \"PublicIPAddress\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleNatPool\", \u0026lb.NatPoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\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{{% /example %}}\n{{% /examples %}}", "properties": { "backendPort": { "type": "integer", "description": "The port used for the internal endpoint. Possible values range between 1 and 65535, inclusive.\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" }, "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the NAT pool.\n" }, "name": { "type": "string", "description": "Specifies the name of the NAT pool.\n" }, "protocol": { "type": "string", "description": "The transport protocol for the external endpoint. Possible values are `Udp` or `Tcp`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\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" }, "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" }, "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the NAT pool.\n" }, "name": { "type": "string", "description": "Specifies the name of the NAT pool.\n" }, "protocol": { "type": "string", "description": "The transport protocol for the external endpoint. Possible values are `Udp` or `Tcp`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\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" }, "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" }, "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the NAT pool.\n" }, "name": { "type": "string", "description": "Specifies the name of the NAT pool.\n" }, "protocol": { "type": "string", "description": "The transport protocol for the external endpoint. Possible values are `Udp` or `Tcp`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\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 `azure.lb.NatPool` resource.\n\n\u003e **NOTE** When using this resource, the Load Balancer needs to have a FrontEnd IP Configuration Attached\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleNatRule = new azure.lb.NatRule(\"exampleNatRule\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_nat_rule = azure.lb.NatRule(\"exampleNatRule\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\n protocol=\"Tcp\",\n frontend_port=3389,\n backend_port=3389,\n frontend_ip_configuration_name=\"PublicIPAddress\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleNatRule = new Azure.Lb.NatRule(\"exampleNatRule\", new Azure.Lb.NatRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Tcp\",\n FrontendPort = 3389,\n BackendPort = 3389,\n FrontendIpConfigurationName = \"PublicIPAddress\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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.NewNatRule(ctx, \"exampleNatRule\", \u0026lb.NatRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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", "description": "Are the Floating IPs enabled for this Load Balncer 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 `false`.\n" }, "enableTcpReset": { "type": "boolean", "description": "Is TCP Reset enabled for this Load Balancer Rule? Defaults to `false`.\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" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections. Valid values are between `4` and `30` minutes. Defaults to `4` minutes.\n" }, "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the NAT Rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the NAT Rule.\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.\n" } }, "required": [ "backendIpConfigurationId", "backendPort", "enableFloatingIp", "frontendIpConfigurationId", "frontendIpConfigurationName", "frontendPort", "idleTimeoutInMinutes", "loadbalancerId", "name", "protocol", "resourceGroupName" ], "inputProperties": { "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", "description": "Are the Floating IPs enabled for this Load Balncer 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 `false`.\n" }, "enableTcpReset": { "type": "boolean", "description": "Is TCP Reset enabled for this Load Balancer Rule? Defaults to `false`.\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" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections. Valid values are between `4` and `30` minutes. Defaults to `4` minutes.\n" }, "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the NAT Rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the NAT Rule.\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.\n" } }, "requiredInputs": [ "backendPort", "frontendIpConfigurationName", "frontendPort", "loadbalancerId", "protocol", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering NatRule resources.\n", "properties": { "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", "description": "Are the Floating IPs enabled for this Load Balncer 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 `false`.\n" }, "enableTcpReset": { "type": "boolean", "description": "Is TCP Reset enabled for this Load Balancer Rule? Defaults to `false`.\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" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections. Valid values are between `4` and `30` minutes. Defaults to `4` minutes.\n" }, "loadbalancerId": { "type": "string", "description": "The ID of the Load Balancer in which to create the NAT Rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the NAT Rule.\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.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"exampleBackendAddressPool\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n});\nconst exampleOutboundRule = new azure.lb.OutboundRule(\"exampleOutboundRule\", {\n resourceGroupName: exampleResourceGroup.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"exampleBackendAddressPool\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id)\nexample_outbound_rule = azure.lb.OutboundRule(\"exampleOutboundRule\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\n protocol=\"Tcp\",\n backend_address_pool_id=example_backend_address_pool.id,\n frontend_ip_configurations=[azure.lb.OutboundRuleFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"exampleBackendAddressPool\", new Azure.Lb.BackendAddressPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n });\n var exampleOutboundRule = new Azure.Lb.OutboundRule(\"exampleOutboundRule\", new Azure.Lb.OutboundRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Tcp\",\n BackendAddressPoolId = exampleBackendAddressPool.Id,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.OutboundRuleFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleBackendAddressPool\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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, \"exampleOutboundRule\", \u0026lb.OutboundRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "allocatedOutboundPorts": { "type": "integer", "description": "The number of outbound ports to be used for NAT.\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", "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" }, "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration" }, "description": "One or more `frontend_ip_configuration` blocks as defined below.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "The timeout for the TCP idle connection\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" }, "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" } }, "required": [ "backendAddressPoolId", "loadbalancerId", "name", "protocol", "resourceGroupName" ], "inputProperties": { "allocatedOutboundPorts": { "type": "integer", "description": "The number of outbound ports to be used for NAT.\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", "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" }, "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration" }, "description": "One or more `frontend_ip_configuration` blocks as defined below.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "The timeout for the TCP idle connection\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" }, "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" } }, "requiredInputs": [ "backendAddressPoolId", "loadbalancerId", "protocol", "resourceGroupName" ], "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.\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", "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" }, "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/OutboundRuleFrontendIpConfiguration:OutboundRuleFrontendIpConfiguration" }, "description": "One or more `frontend_ip_configuration` blocks as defined below.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "The timeout for the TCP idle connection\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" }, "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" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleProbe = new azure.lb.Probe(\"exampleProbe\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n port: 22,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_probe = azure.lb.Probe(\"exampleProbe\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\n port=22)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleProbe = new Azure.Lb.Probe(\"exampleProbe\", new Azure.Lb.ProbeArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Port = 22,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleProbe\", \u0026lb.ProbeArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\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{{% /example %}}\n{{% /examples %}}", "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 NAT Rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Probe.\n" }, "numberOfProbes": { "type": "integer", "description": "The number of failed probe attempts after which the backend endpoint is removed from rotation. The default value is 2. 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" }, "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.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "required": [ "loadBalancerRules", "loadbalancerId", "name", "port", "protocol", "resourceGroupName" ], "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 NAT Rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Probe.\n" }, "numberOfProbes": { "type": "integer", "description": "The number of failed probe attempts after which the backend endpoint is removed from rotation. The default value is 2. 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" }, "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.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "requiredInputs": [ "loadbalancerId", "port", "resourceGroupName" ], "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 NAT Rule.\n" }, "name": { "type": "string", "description": "Specifies the name of the Probe.\n" }, "numberOfProbes": { "type": "integer", "description": "The number of failed probe attempts after which the backend endpoint is removed from rotation. The default value is 2. 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" }, "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.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: \"West US\",\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"PublicIPAddress\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleRule = new azure.lb.Rule(\"exampleRule\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=\"West US\",\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"PublicIPAddress\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_rule = azure.lb.Rule(\"exampleRule\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\n protocol=\"Tcp\",\n frontend_port=3389,\n backend_port=3389,\n frontend_ip_configuration_name=\"PublicIPAddress\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = \"West US\",\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"PublicIPAddress\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleRule = new Azure.Lb.Rule(\"exampleRule\", new Azure.Lb.RuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Tcp\",\n FrontendPort = 3389,\n BackendPort = 3389,\n FrontendIpConfigurationName = \"PublicIPAddress\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleRule\", \u0026lb.RuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\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{{% /example %}}\n{{% /examples %}}", "properties": { "backendAddressPoolId": { "type": "string", "description": "A reference to a Backend Address Pool over which this Load Balancing Rule operates.\n" }, "backendPort": { "type": "integer", "description": "The port used for internal connections on the endpoint. Possible values range between 0 and 65535, inclusive.\n" }, "disableOutboundSnat": { "type": "boolean", "description": "Is snat enabled for this Load Balancer Rule? Default `false`.\n" }, "enableFloatingIp": { "type": "boolean", "description": "Are the Floating IPs enabled for this Load Balncer 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 `false`.\n" }, "enableTcpReset": { "type": "boolean", "description": "Is TCP Reset enabled for this Load Balancer Rule? Defaults to `false`.\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.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections. Valid values are between `4` and `30` minutes. Defaults to `4` minutes.\n" }, "loadDistribution": { "type": "string", "description": "Specifies the load balancing distribution type to be used by the Load Balancer. Possible values are: `Default` – The load balancer is configured to use a 5 tuple hash to map traffic to available servers. `SourceIP` – The load balancer is configured to use a 2 tuple hash to map traffic to available servers. `SourceIPProtocol` – The load balancer is configured to use a 3 tuple hash to map traffic to available servers. Also known as Session Persistence, where the options are called `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.\n" }, "name": { "type": "string", "description": "Specifies the name of the LB Rule.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "required": [ "backendAddressPoolId", "backendPort", "frontendIpConfigurationId", "frontendIpConfigurationName", "frontendPort", "idleTimeoutInMinutes", "loadDistribution", "loadbalancerId", "name", "probeId", "protocol", "resourceGroupName" ], "inputProperties": { "backendAddressPoolId": { "type": "string", "description": "A reference to a Backend Address Pool over which this Load Balancing Rule operates.\n" }, "backendPort": { "type": "integer", "description": "The port used for internal connections on the endpoint. Possible values range between 0 and 65535, inclusive.\n" }, "disableOutboundSnat": { "type": "boolean", "description": "Is snat enabled for this Load Balancer Rule? Default `false`.\n" }, "enableFloatingIp": { "type": "boolean", "description": "Are the Floating IPs enabled for this Load Balncer 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 `false`.\n" }, "enableTcpReset": { "type": "boolean", "description": "Is TCP Reset enabled for this Load Balancer Rule? Defaults to `false`.\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.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections. Valid values are between `4` and `30` minutes. Defaults to `4` minutes.\n" }, "loadDistribution": { "type": "string", "description": "Specifies the load balancing distribution type to be used by the Load Balancer. Possible values are: `Default` – The load balancer is configured to use a 5 tuple hash to map traffic to available servers. `SourceIP` – The load balancer is configured to use a 2 tuple hash to map traffic to available servers. `SourceIPProtocol` – The load balancer is configured to use a 3 tuple hash to map traffic to available servers. Also known as Session Persistence, where the options are called `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.\n" }, "name": { "type": "string", "description": "Specifies the name of the LB Rule.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "requiredInputs": [ "backendPort", "frontendIpConfigurationName", "frontendPort", "loadbalancerId", "protocol", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Rule resources.\n", "properties": { "backendAddressPoolId": { "type": "string", "description": "A reference to a Backend Address Pool over which this Load Balancing Rule operates.\n" }, "backendPort": { "type": "integer", "description": "The port used for internal connections on the endpoint. Possible values range between 0 and 65535, inclusive.\n" }, "disableOutboundSnat": { "type": "boolean", "description": "Is snat enabled for this Load Balancer Rule? Default `false`.\n" }, "enableFloatingIp": { "type": "boolean", "description": "Are the Floating IPs enabled for this Load Balncer 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 `false`.\n" }, "enableTcpReset": { "type": "boolean", "description": "Is TCP Reset enabled for this Load Balancer Rule? Defaults to `false`.\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.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections. Valid values are between `4` and `30` minutes. Defaults to `4` minutes.\n" }, "loadDistribution": { "type": "string", "description": "Specifies the load balancing distribution type to be used by the Load Balancer. Possible values are: `Default` – The load balancer is configured to use a 5 tuple hash to map traffic to available servers. `SourceIP` – The load balancer is configured to use a 2 tuple hash to map traffic to available servers. `SourceIPProtocol` – The load balancer is configured to use a 3 tuple hash to map traffic to available servers. Also known as Session Persistence, where the options are called `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.\n" }, "name": { "type": "string", "description": "Specifies the name of the LB Rule.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the resource.\n" } }, "type": "object" } }, "azure:lighthouse/assignment:Assignment": { "description": "Manages a Lighthouse Assignment to a subscription, or to a resource group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.lighthouse.Assignment(\"example\", {\n lighthouseDefinitionId: \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\",\n scope: \"/subscription/00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.lighthouse.Assignment(\"example\",\n lighthouse_definition_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\",\n scope=\"/subscription/00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Lighthouse.Assignment(\"example\", new Azure.Lighthouse.AssignmentArgs\n {\n LighthouseDefinitionId = \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\",\n Scope = \"/subscription/00000000-0000-0000-0000-000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lighthouse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := lighthouse.NewAssignment(ctx, \"example\", \u0026lighthouse.AssignmentArgs{\n\t\t\tLighthouseDefinitionId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedServices/registrationDefinitions/00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope: pulumi.String(\"/subscription/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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:lighthouse/definition:Definition": { "description": "Manages a Lighthouse Definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 description: \"This is a lighthouse definition created via Terraform\",\n managingTenantId: \"00000000-0000-0000-0000-000000000000\",\n authorizations: [{\n principalId: \"00000000-0000-0000-0000-000000000000\",\n roleDefinitionId: contributor.then(contributor =\u003e contributor.roleDefinitionId),\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 description=\"This is a lighthouse definition created via Terraform\",\n managing_tenant_id=\"00000000-0000-0000-0000-000000000000\",\n authorizations=[azure.lighthouse.DefinitionAuthorizationArgs(\n principal_id=\"00000000-0000-0000-0000-000000000000\",\n role_definition_id=contributor.role_definition_id,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var contributor = Output.Create(Azure.Authorization.GetRoleDefinition.InvokeAsync(new Azure.Authorization.GetRoleDefinitionArgs\n {\n RoleDefinitionId = \"b24988ac-6180-42a0-ab88-20f7382dd24c\",\n }));\n var example = new Azure.Lighthouse.Definition(\"example\", new Azure.Lighthouse.DefinitionArgs\n {\n Description = \"This is a lighthouse definition created via Terraform\",\n ManagingTenantId = \"00000000-0000-0000-0000-000000000000\",\n Authorizations = \n {\n new Azure.Lighthouse.Inputs.DefinitionAuthorizationArgs\n {\n PrincipalId = \"00000000-0000-0000-0000-000000000000\",\n RoleDefinitionId = contributor.Apply(contributor =\u003e contributor.RoleDefinitionId),\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lighthouse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"b24988ac-6180-42a0-ab88-20f7382dd24c\"\n\t\tcontributor, err := authorization.LookupRoleDefinition(ctx, \u0026authorization.LookupRoleDefinitionArgs{\n\t\t\tRoleDefinitionId: \u0026opt0,\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\tDescription: pulumi.String(\"This is a lighthouse definition created via Terraform\"),\n\t\t\tManagingTenantId: pulumi.String(\"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},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "authorizations": { "type": "array", "items": { "$ref": "#/types/azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization" }, "description": "An authorization block as defined below.\n" }, "description": { "type": "string", "description": "A description of the Lighthouse Definition.\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.\n" }, "name": { "type": "string", "description": "The name of the Lighthouse Definition.\n" }, "scope": { "type": "string" } }, "required": [ "authorizations", "lighthouseDefinitionId", "managingTenantId", "name", "scope" ], "inputProperties": { "authorizations": { "type": "array", "items": { "$ref": "#/types/azure:lighthouse/DefinitionAuthorization:DefinitionAuthorization" }, "description": "An authorization block as defined below.\n" }, "description": { "type": "string", "description": "A description of the Lighthouse Definition.\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.\n" }, "name": { "type": "string", "description": "The name of the Lighthouse Definition.\n" }, "scope": { "type": "string" } }, "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 authorization block as defined below.\n" }, "description": { "type": "string", "description": "A description of the Lighthouse Definition.\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.\n" }, "name": { "type": "string", "description": "The name of the Lighthouse Definition.\n" }, "scope": { "type": "string" } }, "type": "object" } }, "azure:loganalytics/dataSourceWindowsEvent:DataSourceWindowsEvent": { "description": "Manages a Log Analytics Windows Event DataSource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n});\nconst exampleDataSourceWindowsEvent = new azure.loganalytics.DataSourceWindowsEvent(\"exampleDataSourceWindowsEvent\", {\n resourceGroupName: exampleResourceGroup.name,\n workspaceName: exampleAnalyticsWorkspace.name,\n eventLogName: \"Application\",\n eventTypes: [\"error\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"PerGB2018\")\nexample_data_source_windows_event = azure.loganalytics.DataSourceWindowsEvent(\"exampleDataSourceWindowsEvent\",\n resource_group_name=example_resource_group.name,\n workspace_name=example_analytics_workspace.name,\n event_log_name=\"Application\",\n event_types=[\"error\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"PerGB2018\",\n });\n var exampleDataSourceWindowsEvent = new Azure.LogAnalytics.DataSourceWindowsEvent(\"exampleDataSourceWindowsEvent\", new Azure.LogAnalytics.DataSourceWindowsEventArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n WorkspaceName = exampleAnalyticsWorkspace.Name,\n EventLogName = \"Application\",\n EventTypes = \n {\n \"error\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\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\t_, err = loganalytics.NewDataSourceWindowsEvent(ctx, \"exampleDataSourceWindowsEvent\", \u0026loganalytics.DataSourceWindowsEventArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:loganalytics/dataSourceWindowsPerformanceCounter:DataSourceWindowsPerformanceCounter": { "description": "Manages a Log Analytics (formally Operational Insights) Windows Performance Counter DataSource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n});\nconst exampleDataSourceWindowsPerformanceCounter = new azure.loganalytics.DataSourceWindowsPerformanceCounter(\"exampleDataSourceWindowsPerformanceCounter\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"PerGB2018\")\nexample_data_source_windows_performance_counter = azure.loganalytics.DataSourceWindowsPerformanceCounter(\"exampleDataSourceWindowsPerformanceCounter\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"PerGB2018\",\n });\n var exampleDataSourceWindowsPerformanceCounter = new Azure.LogAnalytics.DataSourceWindowsPerformanceCounter(\"exampleDataSourceWindowsPerformanceCounter\", new Azure.LogAnalytics.DataSourceWindowsPerformanceCounterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n WorkspaceName = exampleAnalyticsWorkspace.Name,\n ObjectName = \"CPU\",\n InstanceName = \"*\",\n CounterName = \"CPU\",\n IntervalSeconds = 10,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\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\t_, err = loganalytics.NewDataSourceWindowsPerformanceCounter(ctx, \"exampleDataSourceWindowsPerformanceCounter\", \u0026loganalytics.DataSourceWindowsPerformanceCounterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:loganalytics/linkedService:LinkedService": { "description": "Links a Log Analytics (formally Operational Insights) Workspace to another resource. The (currently) only linkable service is an Azure Automation Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.automation.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: [{\n name: \"Basic\",\n }],\n tags: {\n environment: \"development\",\n },\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleLinkedService = new azure.loganalytics.LinkedService(\"exampleLinkedService\", {\n resourceGroupName: exampleResourceGroup.name,\n workspaceName: exampleAnalyticsWorkspace.name,\n resourceId: exampleAccount.id,\n});\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "linkedServiceName": { "type": "string", "description": "Name of the type of linkedServices resource to connect to the Log Analytics Workspace specified in `workspace_name`. Currently it defaults to and only supports `automation` as a value. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The automatically generated name of the Linked Service. This cannot be specified. The format is always `\u003cworkspace_name\u003e/\u003clinked_service_name\u003e` e.g. `workspace1/Automation`\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" }, "resourceId": { "type": "string", "description": "The ID of the Resource that will be linked to the 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" }, "workspaceName": { "type": "string", "description": "Name of the Log Analytics Workspace that will contain the linkedServices resource. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "resourceGroupName", "resourceId", "workspaceName" ], "inputProperties": { "linkedServiceName": { "type": "string", "description": "Name of the type of linkedServices resource to connect to the Log Analytics Workspace specified in `workspace_name`. Currently it defaults to and only supports `automation` as a value. Changing this forces a new resource to be created.\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" }, "resourceId": { "type": "string", "description": "The ID of the Resource that will be linked to the 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" }, "workspaceName": { "type": "string", "description": "Name of the Log Analytics Workspace that will contain the linkedServices resource. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "resourceGroupName", "resourceId", "workspaceName" ], "stateInputs": { "description": "Input properties used for looking up and filtering LinkedService resources.\n", "properties": { "linkedServiceName": { "type": "string", "description": "Name of the type of linkedServices resource to connect to the Log Analytics Workspace specified in `workspace_name`. Currently it defaults to and only supports `automation` as a value. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The automatically generated name of the Linked Service. This cannot be specified. The format is always `\u003cworkspace_name\u003e/\u003clinked_service_name\u003e` e.g. `workspace1/Automation`\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" }, "resourceId": { "type": "string", "description": "The ID of the Resource that will be linked to the 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" }, "workspaceName": { "type": "string", "description": "Name of the Log Analytics Workspace that will contain the linkedServices resource. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:loganalytics/savedSearch:SavedSearch": { "description": "Manages a Log Analytics (formally Operational Insights) Saved Search.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleSavedSearch = new azure.loganalytics.SavedSearch(\"exampleSavedSearch\", {\n logAnalyticsWorkspaceId: azurerm_log_analytics_workspace.test.id,\n category: \"exampleCategory\",\n displayName: \"exampleDisplayName\",\n query: \"exampleQuery\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\nexample_saved_search = azure.loganalytics.SavedSearch(\"exampleSavedSearch\",\n log_analytics_workspace_id=azurerm_log_analytics_workspace[\"test\"][\"id\"],\n category=\"exampleCategory\",\n display_name=\"exampleDisplayName\",\n query=\"exampleQuery\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n var exampleSavedSearch = new Azure.LogAnalytics.SavedSearch(\"exampleSavedSearch\", new Azure.LogAnalytics.SavedSearchArgs\n {\n LogAnalyticsWorkspaceId = azurerm_log_analytics_workspace.Test.Id,\n Category = \"exampleCategory\",\n DisplayName = \"exampleDisplayName\",\n Query = \"exampleQuery\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/loganalytics\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = operationalinsights.NewAnalyticsWorkspace(ctx, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSavedSearch\", \u0026loganalytics.SavedSearchArgs{\n\t\t\tLogAnalyticsWorkspaceId: pulumi.Any(azurerm_log_analytics_workspace.Test.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{{% /example %}}\n{{% /examples %}}", "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.\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" } }, "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" }, "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.\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" } }, "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" }, "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.\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" } }, "type": "object" } }, "azure:logicapps/actionCustom:ActionCustom": { "description": "Manages a Custom Action within a Logic App Workflow\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"exampleWorkflow\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleActionCustom = new azure.logicapps.ActionCustom(\"exampleActionCustom\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_workflow = azure.logicapps.Workflow(\"exampleWorkflow\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_action_custom = azure.logicapps.ActionCustom(\"exampleActionCustom\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleWorkflow = new Azure.LogicApps.Workflow(\"exampleWorkflow\", new Azure.LogicApps.WorkflowArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleActionCustom = new Azure.LogicApps.ActionCustom(\"exampleActionCustom\", new Azure.LogicApps.ActionCustomArgs\n {\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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"exampleWorkflow\", \u0026logicapps.WorkflowArgs{\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 = logicapps.NewActionCustom(ctx, \"exampleActionCustom\", \u0026logicapps.ActionCustomArgs{\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tBody: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"{\\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{{% /example %}}\n{{% /examples %}}", "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" } }, "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:logicapps/actionHttp:ActionHttp": { "description": "Manages an HTTP Action within a Logic App Workflow\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"exampleWorkflow\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleActionHttp = new azure.logicapps.ActionHttp(\"exampleActionHttp\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_workflow = azure.logicapps.Workflow(\"exampleWorkflow\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_action_http = azure.logicapps.ActionHttp(\"exampleActionHttp\",\n logic_app_id=example_workflow.id,\n method=\"GET\",\n uri=\"http://example.com/some-webhook\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleWorkflow = new Azure.LogicApps.Workflow(\"exampleWorkflow\", new Azure.LogicApps.WorkflowArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleActionHttp = new Azure.LogicApps.ActionHttp(\"exampleActionHttp\", new Azure.LogicApps.ActionHttpArgs\n {\n LogicAppId = exampleWorkflow.Id,\n Method = \"GET\",\n Uri = \"http://example.com/some-webhook\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"exampleWorkflow\", \u0026logicapps.WorkflowArgs{\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 = logicapps.NewActionHttp(ctx, \"exampleActionHttp\", \u0026logicapps.ActionHttpArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "body": { "type": "string", "description": "Specifies the HTTP Body that should be sent to the `uri` 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 `uri` 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" }, "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 `run_after` 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 `uri` 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 `uri` 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" }, "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 `run_after` 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 `uri` 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 `uri` 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" }, "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 `run_after` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleIntegrationAccount = new azure.logicapps.IntegrationAccount(\"exampleIntegrationAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n skuName: \"Standard\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_integration_account = azure.logicapps.IntegrationAccount(\"exampleIntegrationAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku_name=\"Standard\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleIntegrationAccount = new Azure.LogicApps.IntegrationAccount(\"exampleIntegrationAccount\", new Azure.LogicApps.IntegrationAccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n SkuName = \"Standard\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleIntegrationAccount\", \u0026logicapps.IntegrationAccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "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": { "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" } }, "requiredInputs": [ "resourceGroupName", "skuName" ], "stateInputs": { "description": "Input properties used for looking up and filtering IntegrationAccount resources.\n", "properties": { "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" } }, "type": "object" } }, "azure:logicapps/interationServiceEnvironment:InterationServiceEnvironment": { "description": "Manages private and isolated Logic App instances within an Azure virtual network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westeurope\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/22\"],\n});\nconst isesubnet1 = new azure.network.Subnet(\"isesubnet1\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.1.0/26\"],\n delegations: [{\n name: \"integrationServiceEnvironments\",\n serviceDelegation: {\n name: \"Microsoft.Logic/integrationServiceEnvironments\",\n },\n }],\n});\nconst isesubnet2 = new azure.network.Subnet(\"isesubnet2\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.1.64/26\"],\n});\nconst isesubnet3 = new azure.network.Subnet(\"isesubnet3\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.1.128/26\"],\n});\nconst isesubnet4 = new azure.network.Subnet(\"isesubnet4\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.1.192/26\"],\n});\nconst exampleInterationServiceEnvironment = new azure.logicapps.InterationServiceEnvironment(\"exampleInterationServiceEnvironment\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Developer_0\",\n accessEndpointType: \"Internal\",\n virtualNetworkSubnetIds: [\n isesubnet1.id,\n isesubnet2.id,\n isesubnet3.id,\n isesubnet4.id,\n ],\n tags: {\n environment: \"development\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westeurope\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n address_spaces=[\"10.0.0.0/22\"])\nisesubnet1 = azure.network.Subnet(\"isesubnet1\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.1.0/26\"],\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"integrationServiceEnvironments\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"Microsoft.Logic/integrationServiceEnvironments\",\n ),\n )])\nisesubnet2 = azure.network.Subnet(\"isesubnet2\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.1.64/26\"])\nisesubnet3 = azure.network.Subnet(\"isesubnet3\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.1.128/26\"])\nisesubnet4 = azure.network.Subnet(\"isesubnet4\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.1.192/26\"])\nexample_interation_service_environment = azure.logicapps.InterationServiceEnvironment(\"exampleInterationServiceEnvironment\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Developer_0\",\n access_endpoint_type=\"Internal\",\n virtual_network_subnet_ids=[\n isesubnet1.id,\n isesubnet2.id,\n isesubnet3.id,\n isesubnet4.id,\n ],\n tags={\n \"environment\": \"development\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/22\",\n },\n });\n var isesubnet1 = new Azure.Network.Subnet(\"isesubnet1\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.1.0/26\",\n },\n Delegations = \n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"integrationServiceEnvironments\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"Microsoft.Logic/integrationServiceEnvironments\",\n },\n },\n },\n });\n var isesubnet2 = new Azure.Network.Subnet(\"isesubnet2\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.1.64/26\",\n },\n });\n var isesubnet3 = new Azure.Network.Subnet(\"isesubnet3\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.1.128/26\",\n },\n });\n var isesubnet4 = new Azure.Network.Subnet(\"isesubnet4\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.1.192/26\",\n },\n });\n var exampleInterationServiceEnvironment = new Azure.LogicApps.InterationServiceEnvironment(\"exampleInterationServiceEnvironment\", new Azure.LogicApps.InterationServiceEnvironmentArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Developer_0\",\n AccessEndpointType = \"Internal\",\n VirtualNetworkSubnetIds = \n {\n isesubnet1.Id,\n isesubnet2.Id,\n isesubnet3.Id,\n isesubnet4.Id,\n },\n Tags = \n {\n { \"environment\", \"development\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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/22\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tisesubnet1, err := network.NewSubnet(ctx, \"isesubnet1\", \u0026network.SubnetArgs{\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/26\"),\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(\"integrationServiceEnvironments\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.Logic/integrationServiceEnvironments\"),\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\tisesubnet2, err := network.NewSubnet(ctx, \"isesubnet2\", \u0026network.SubnetArgs{\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.64/26\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tisesubnet3, err := network.NewSubnet(ctx, \"isesubnet3\", \u0026network.SubnetArgs{\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.128/26\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tisesubnet4, err := network.NewSubnet(ctx, \"isesubnet4\", \u0026network.SubnetArgs{\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.192/26\"),\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.NewInterationServiceEnvironment(ctx, \"exampleInterationServiceEnvironment\", \u0026logicapps.InterationServiceEnvironmentArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"Developer_0\"),\n\t\t\tAccessEndpointType: pulumi.String(\"Internal\"),\n\t\t\tVirtualNetworkSubnetIds: pulumi.StringArray{\n\t\t\t\tisesubnet1.ID(),\n\t\t\t\tisesubnet2.ID(),\n\t\t\t\tisesubnet3.ID(),\n\t\t\t\tisesubnet4.ID(),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accessEndpointType": { "type": "string", "description": "The type of access endpoint to use for the Integration Service Environment. Possible Values are `Internal` and `External`. Changing this forces a new Integration Service Environment to be created.\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" }, "location": { "type": "string", "description": "The Azure Region where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.\n" }, "name": { "type": "string", "description": "The name of the Integration Service Environment. Changing this forces a new Integration Service Environment to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.\n" }, "skuName": { "type": "string", "description": "The sku name and capacity of the Integration Service Environment. Possible Values for `sku` element are `Developer` and `Premium` and possible values for the `capacity` element are from `0` to `10`. Defaults to `sku` of `Developer` with a `Capacity` of `0` (e.g. `Developer_0`). Changing this forces a new Integration Service Environment to be created when `sku` element is not the same with existing one.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Integration Service Environment.\n" }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of virtual network subnet ids to be used by Integration Service Environment. Exactly four distinct ids to subnets must be provided. Changing this forces a new Integration Service Environment to be created.\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" } }, "required": [ "accessEndpointType", "connectorEndpointIpAddresses", "connectorOutboundIpAddresses", "location", "name", "resourceGroupName", "virtualNetworkSubnetIds", "workflowEndpointIpAddresses", "workflowOutboundIpAddresses" ], "inputProperties": { "accessEndpointType": { "type": "string", "description": "The type of access endpoint to use for the Integration Service Environment. Possible Values are `Internal` and `External`. Changing this forces a new Integration Service Environment to be created.\n" }, "location": { "type": "string", "description": "The Azure Region where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.\n" }, "name": { "type": "string", "description": "The name of the Integration Service Environment. Changing this forces a new Integration Service Environment to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.\n" }, "skuName": { "type": "string", "description": "The sku name and capacity of the Integration Service Environment. Possible Values for `sku` element are `Developer` and `Premium` and possible values for the `capacity` element are from `0` to `10`. Defaults to `sku` of `Developer` with a `Capacity` of `0` (e.g. `Developer_0`). Changing this forces a new Integration Service Environment to be created when `sku` element is not the same with existing one.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Integration Service Environment.\n" }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of virtual network subnet ids to be used by Integration Service Environment. Exactly four distinct ids to subnets must be provided. Changing this forces a new Integration Service Environment to be created.\n" } }, "requiredInputs": [ "accessEndpointType", "resourceGroupName", "virtualNetworkSubnetIds" ], "stateInputs": { "description": "Input properties used for looking up and filtering InterationServiceEnvironment resources.\n", "properties": { "accessEndpointType": { "type": "string", "description": "The type of access endpoint to use for the Integration Service Environment. Possible Values are `Internal` and `External`. Changing this forces a new Integration Service Environment to be created.\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" }, "location": { "type": "string", "description": "The Azure Region where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.\n" }, "name": { "type": "string", "description": "The name of the Integration Service Environment. Changing this forces a new Integration Service Environment to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.\n" }, "skuName": { "type": "string", "description": "The sku name and capacity of the Integration Service Environment. Possible Values for `sku` element are `Developer` and `Premium` and possible values for the `capacity` element are from `0` to `10`. Defaults to `sku` of `Developer` with a `Capacity` of `0` (e.g. `Developer_0`). Changing this forces a new Integration Service Environment to be created when `sku` element is not the same with existing one.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Integration Service Environment.\n" }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of virtual network subnet ids to be used by Integration Service Environment. Exactly four distinct ids to subnets must be provided. Changing this forces a new Integration Service Environment to be created.\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" } }, "type": "object" } }, "azure:logicapps/triggerCustom:TriggerCustom": { "description": "Manages a Custom Trigger within a Logic App Workflow\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"exampleWorkflow\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleTriggerCustom = new azure.logicapps.TriggerCustom(\"exampleTriggerCustom\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_workflow = azure.logicapps.Workflow(\"exampleWorkflow\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_trigger_custom = azure.logicapps.TriggerCustom(\"exampleTriggerCustom\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleWorkflow = new Azure.LogicApps.Workflow(\"exampleWorkflow\", new Azure.LogicApps.WorkflowArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleTriggerCustom = new Azure.LogicApps.TriggerCustom(\"exampleTriggerCustom\", new Azure.LogicApps.TriggerCustomArgs\n {\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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"exampleWorkflow\", \u0026logicapps.WorkflowArgs{\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 = logicapps.NewTriggerCustom(ctx, \"exampleTriggerCustom\", \u0026logicapps.TriggerCustomArgs{\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tBody: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v\", \"{\\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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" } }, "required": [ "body", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:logicapps/triggerHttpRequest:TriggerHttpRequest": { "description": "Manages a HTTP Request Trigger within a Logic App Workflow\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"exampleWorkflow\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleTriggerHttpRequest = new azure.logicapps.TriggerHttpRequest(\"exampleTriggerHttpRequest\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_workflow = azure.logicapps.Workflow(\"exampleWorkflow\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_trigger_http_request = azure.logicapps.TriggerHttpRequest(\"exampleTriggerHttpRequest\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleWorkflow = new Azure.LogicApps.Workflow(\"exampleWorkflow\", new Azure.LogicApps.WorkflowArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleTriggerHttpRequest = new Azure.LogicApps.TriggerHttpRequest(\"exampleTriggerHttpRequest\", new Azure.LogicApps.TriggerHttpRequestArgs\n {\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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"exampleWorkflow\", \u0026logicapps.WorkflowArgs{\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 = logicapps.NewTriggerHttpRequest(ctx, \"exampleTriggerHttpRequest\", \u0026logicapps.TriggerHttpRequestArgs{\n\t\t\tLogicAppId: exampleWorkflow.ID(),\n\t\t\tSchema: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v\", \"{\\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "relativePath": { "type": "string", "description": "Specifies the Relative Path used for this Request.\n" }, "schema": { "type": "string", "description": "A JSON Blob defining the Schema of the incoming request. This needs to be valid JSON.\n" } }, "required": [ "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" }, "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" }, "relativePath": { "type": "string", "description": "Specifies the Relative Path used for this Request.\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": { "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" }, "relativePath": { "type": "string", "description": "Specifies the Relative Path used for this Request.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"exampleWorkflow\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleTriggerRecurrence = new azure.logicapps.TriggerRecurrence(\"exampleTriggerRecurrence\", {\n logicAppId: exampleWorkflow.id,\n frequency: \"Day\",\n interval: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_workflow = azure.logicapps.Workflow(\"exampleWorkflow\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_trigger_recurrence = azure.logicapps.TriggerRecurrence(\"exampleTriggerRecurrence\",\n logic_app_id=example_workflow.id,\n frequency=\"Day\",\n interval=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleWorkflow = new Azure.LogicApps.Workflow(\"exampleWorkflow\", new Azure.LogicApps.WorkflowArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleTriggerRecurrence = new Azure.LogicApps.TriggerRecurrence(\"exampleTriggerRecurrence\", new Azure.LogicApps.TriggerRecurrenceArgs\n {\n LogicAppId = exampleWorkflow.Id,\n Frequency = \"Day\",\n Interval = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleWorkflow, err := logicapps.NewWorkflow(ctx, \"exampleWorkflow\", \u0026logicapps.WorkflowArgs{\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 = logicapps.NewTriggerRecurrence(ctx, \"exampleTriggerRecurrence\", \u0026logicapps.TriggerRecurrenceArgs{\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{{% /example %}}\n{{% /examples %}}", "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 `4` for `interval` and `hour` for `frequency` 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" }, "startTime": { "type": "string", "description": "Specifies the start date and time for this trigger in RFC3339 format: `2000-01-02T03:04:05Z`.\n" } }, "required": [ "frequency", "interval", "logicAppId", "name" ], "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 `4` for `interval` and `hour` for `frequency` 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" }, "startTime": { "type": "string", "description": "Specifies the start date and time for this trigger in RFC3339 format: `2000-01-02T03:04:05Z`.\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 `4` for `interval` and `hour` for `frequency` 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" }, "startTime": { "type": "string", "description": "Specifies the start date and time for this trigger in RFC3339 format: `2000-01-02T03:04:05Z`.\n" } }, "type": "object" } }, "azure:logicapps/workflow:Workflow": { "description": "Manages a Logic App Workflow.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleWorkflow = new azure.logicapps.Workflow(\"exampleWorkflow\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_workflow = azure.logicapps.Workflow(\"exampleWorkflow\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleWorkflow = new Azure.LogicApps.Workflow(\"exampleWorkflow\", new Azure.LogicApps.WorkflowArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = logicapps.NewWorkflow(ctx, \"exampleWorkflow\", \u0026logicapps.WorkflowArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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" }, "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" }, "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": { "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" }, "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" }, "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" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Workflow resources.\n", "properties": { "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" }, "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" }, "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" }, "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" } }, "type": "object" } }, "azure:machinelearning/workspace:Workspace": { "description": "Manages a Azure Machine Learning Workspace\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleInsights = new azure.appinsights.Insights(\"exampleInsights\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n applicationType: \"web\",\n});\nconst exampleKeyVault = new azure.keyvault.KeyVault(\"exampleKeyVault\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tenantId: current.then(current =\u003e current.tenantId),\n skuName: \"premium\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleWorkspace = new azure.machinelearning.Workspace(\"exampleWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_insights = azure.appinsights.Insights(\"exampleInsights\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n application_type=\"web\")\nexample_key_vault = azure.keyvault.KeyVault(\"exampleKeyVault\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tenant_id=current.tenant_id,\n sku_name=\"premium\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_workspace = azure.machinelearning.Workspace(\"exampleWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=azure.machinelearning.WorkspaceIdentityArgs(\n type=\"SystemAssigned\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleInsights = new Azure.AppInsights.Insights(\"exampleInsights\", new Azure.AppInsights.InsightsArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ApplicationType = \"web\",\n });\n var exampleKeyVault = new Azure.KeyVault.KeyVault(\"exampleKeyVault\", new Azure.KeyVault.KeyVaultArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n TenantId = current.Apply(current =\u003e current.TenantId),\n SkuName = \"premium\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var exampleWorkspace = new Azure.MachineLearning.Workspace(\"exampleWorkspace\", new Azure.MachineLearning.WorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleInsights\", \u0026appinsights.InsightsArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleKeyVault\", \u0026keyvault.KeyVaultArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleWorkspace\", \u0026machinelearning.WorkspaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "description": { "type": "string", "description": "The description of this Machine Learning Workspace.\n" }, "friendlyName": { "type": "string", "description": "Friendly 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\n" }, "identity": { "$ref": "#/types/azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity", "description": "An `identity` block defined below.\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" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\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" }, "skuName": { "type": "string", "description": "SKU/edition of the Machine Learning Workspace, possible values are `Basic` for a basic workspace or `Enterprise` for a feature rich workspace. 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" }, "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" } }, "required": [ "applicationInsightsId", "identity", "keyVaultId", "location", "name", "resourceGroupName", "storageAccountId" ], "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" }, "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" }, "description": { "type": "string", "description": "The description of this Machine Learning Workspace.\n" }, "friendlyName": { "type": "string", "description": "Friendly 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\n" }, "identity": { "$ref": "#/types/azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity", "description": "An `identity` block defined below.\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" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\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" }, "skuName": { "type": "string", "description": "SKU/edition of the Machine Learning Workspace, possible values are `Basic` for a basic workspace or `Enterprise` for a feature rich workspace. 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" }, "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" } }, "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" }, "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" }, "description": { "type": "string", "description": "The description of this Machine Learning Workspace.\n" }, "friendlyName": { "type": "string", "description": "Friendly 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\n" }, "identity": { "$ref": "#/types/azure:machinelearning/WorkspaceIdentity:WorkspaceIdentity", "description": "An `identity` block defined below.\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" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\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" }, "skuName": { "type": "string", "description": "SKU/edition of the Machine Learning Workspace, possible values are `Basic` for a basic workspace or `Enterprise` for a feature rich workspace. 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" }, "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" } }, "type": "object" } }, "azure:maintenance/assignmentDedicatedHost:AssignmentDedicatedHost": { "description": "Manages a maintenance assignment to Dedicated Host.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDedicatedHostGroup = new azure.compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n platformFaultDomainCount: 2,\n});\nconst exampleDedicatedHost = new azure.compute.DedicatedHost(\"exampleDedicatedHost\", {\n location: exampleResourceGroup.location,\n dedicatedHostGroupId: exampleDedicatedHostGroup.id,\n skuName: \"DSv3-Type1\",\n platformFaultDomain: 1,\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"exampleConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n scope: \"All\",\n});\nconst exampleAssignmentDedicatedHost = new azure.maintenance.AssignmentDedicatedHost(\"exampleAssignmentDedicatedHost\", {\n location: exampleResourceGroup.location,\n maintenanceConfigurationId: exampleConfiguration.id,\n dedicatedHostId: exampleDedicatedHost.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_dedicated_host_group = azure.compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n platform_fault_domain_count=2)\nexample_dedicated_host = azure.compute.DedicatedHost(\"exampleDedicatedHost\",\n location=example_resource_group.location,\n dedicated_host_group_id=example_dedicated_host_group.id,\n sku_name=\"DSv3-Type1\",\n platform_fault_domain=1)\nexample_configuration = azure.maintenance.Configuration(\"exampleConfiguration\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n scope=\"All\")\nexample_assignment_dedicated_host = azure.maintenance.AssignmentDedicatedHost(\"exampleAssignmentDedicatedHost\",\n location=example_resource_group.location,\n maintenance_configuration_id=example_configuration.id,\n dedicated_host_id=example_dedicated_host.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup(\"exampleDedicatedHostGroup\", new Azure.Compute.DedicatedHostGroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n PlatformFaultDomainCount = 2,\n });\n var exampleDedicatedHost = new Azure.Compute.DedicatedHost(\"exampleDedicatedHost\", new Azure.Compute.DedicatedHostArgs\n {\n Location = exampleResourceGroup.Location,\n DedicatedHostGroupId = exampleDedicatedHostGroup.Id,\n SkuName = \"DSv3-Type1\",\n PlatformFaultDomain = 1,\n });\n var exampleConfiguration = new Azure.Maintenance.Configuration(\"exampleConfiguration\", new Azure.Maintenance.ConfigurationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Scope = \"All\",\n });\n var exampleAssignmentDedicatedHost = new Azure.Maintenance.AssignmentDedicatedHost(\"exampleAssignmentDedicatedHost\", new Azure.Maintenance.AssignmentDedicatedHostArgs\n {\n Location = exampleResourceGroup.Location,\n MaintenanceConfigurationId = exampleConfiguration.Id,\n DedicatedHostId = exampleDedicatedHost.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleDedicatedHostGroup\", \u0026compute.DedicatedHostGroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleDedicatedHost\", \u0026compute.DedicatedHostArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tDedicatedHostGroupId: exampleDedicatedHostGroup.ID(),\n\t\t\tSkuName: pulumi.String(\"DSv3-Type1\"),\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, \"exampleConfiguration\", \u0026maintenance.ConfigurationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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.NewAssignmentDedicatedHost(ctx, \"exampleAssignmentDedicatedHost\", \u0026maintenance.AssignmentDedicatedHostArgs{\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:maintenance/assignmentVirtualMachine:AssignmentVirtualMachine": { "description": "Manages a maintenance assignment to virtual machine.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * from \"fs\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"internal\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n size: \"Standard_F2\",\n adminUsername: \"adminuser\",\n networkInterfaceIds: [exampleNetworkInterface.id],\n adminSshKeys: [{\n username: \"adminuser\",\n publicKey: fs.readFileSync(\"~/.ssh/id_rsa.pub\"),\n }],\n osDisk: {\n caching: \"ReadWrite\",\n storageAccountType: \"Standard_LRS\",\n },\n sourceImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.04-LTS\",\n version: \"latest\",\n },\n});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"exampleConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n scope: \"All\",\n});\nconst exampleAssignmentVirtualMachine = new azure.maintenance.AssignmentVirtualMachine(\"exampleAssignmentVirtualMachine\", {\n location: exampleResourceGroup.location,\n maintenanceConfigurationId: exampleConfiguration.id,\n virtualMachineId: exampleLinuxVirtualMachine.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\nexample_linux_virtual_machine = azure.compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n size=\"Standard_F2\",\n admin_username=\"adminuser\",\n network_interface_ids=[example_network_interface.id],\n admin_ssh_keys=[azure.compute.LinuxVirtualMachineAdminSshKeyArgs(\n username=\"adminuser\",\n public_key=(lambda path: open(path).read())(\"~/.ssh/id_rsa.pub\"),\n )],\n os_disk=azure.compute.LinuxVirtualMachineOsDiskArgs(\n caching=\"ReadWrite\",\n storage_account_type=\"Standard_LRS\",\n ),\n source_image_reference=azure.compute.LinuxVirtualMachineSourceImageReferenceArgs(\n publisher=\"Canonical\",\n offer=\"UbuntuServer\",\n sku=\"16.04-LTS\",\n version=\"latest\",\n ))\nexample_configuration = azure.maintenance.Configuration(\"exampleConfiguration\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n scope=\"All\")\nexample_assignment_virtual_machine = azure.maintenance.AssignmentVirtualMachine(\"exampleAssignmentVirtualMachine\",\n location=example_resource_group.location,\n maintenance_configuration_id=example_configuration.id,\n virtual_machine_id=example_linux_virtual_machine.id)\n```\n```csharp\nusing System.IO;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"internal\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine(\"exampleLinuxVirtualMachine\", new Azure.Compute.LinuxVirtualMachineArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Size = \"Standard_F2\",\n AdminUsername = \"adminuser\",\n NetworkInterfaceIds = \n {\n exampleNetworkInterface.Id,\n },\n AdminSshKeys = \n {\n new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs\n {\n Username = \"adminuser\",\n PublicKey = File.ReadAllText(\"~/.ssh/id_rsa.pub\"),\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 = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n Version = \"latest\",\n },\n });\n var exampleConfiguration = new Azure.Maintenance.Configuration(\"exampleConfiguration\", new Azure.Maintenance.ConfigurationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Scope = \"All\",\n });\n var exampleAssignmentVirtualMachine = new Azure.Maintenance.AssignmentVirtualMachine(\"exampleAssignmentVirtualMachine\", new Azure.Maintenance.AssignmentVirtualMachineArgs\n {\n Location = exampleResourceGroup.Location,\n MaintenanceConfigurationId = exampleConfiguration.Id,\n VirtualMachineId = exampleLinuxVirtualMachine.Id,\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:maintenance/configuration:Configuration": { "description": "Manages a maintenance configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleConfiguration = new azure.maintenance.Configuration(\"exampleConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n scope: \"All\",\n tags: {\n Env: \"prod\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_configuration = azure.maintenance.Configuration(\"exampleConfiguration\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n scope=\"All\",\n tags={\n \"Env\": \"prod\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleConfiguration = new Azure.Maintenance.Configuration(\"exampleConfiguration\", new Azure.Maintenance.ConfigurationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Scope = \"All\",\n Tags = \n {\n { \"Env\", \"prod\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleConfiguration\", \u0026maintenance.ConfigurationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tScope: pulumi.String(\"All\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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 `All`, `Host`, `Resource` or `InResource`. Default to `All`.\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" } }, "required": [ "location", "name", "resourceGroupName" ], "inputProperties": { "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" }, "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 `All`, `Host`, `Resource` or `InResource`. Default to `All`.\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" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Configuration resources.\n", "properties": { "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" }, "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 `All`, `Host`, `Resource` or `InResource`. Default to `All`.\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" } }, "type": "object" } }, "azure:managedapplication/application:Application": { "description": "Manages a Managed Application.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst builtin = azure.authorization.getRoleDefinition({\n name: \"Contributor\",\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDefinition = new azure.managedapplication.Definition(\"exampleDefinition\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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: Promise.all([builtin.then(builtin =\u003e builtin.id.split(\"/\")), builtin.then(builtin =\u003e builtin.id.split(\"/\")).length]).then(([split, length]) =\u003e split[length - 1]),\n }],\n});\nconst exampleApplication = new azure.managedapplication.Application(\"exampleApplication\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n kind: \"ServiceCatalog\",\n managedResourceGroupName: \"infrastructureGroup\",\n applicationDefinitionId: exampleDefinition.id,\n parameters: {\n location: exampleResourceGroup.location,\n storageAccountNamePrefix: \"storeNamePrefix\",\n storageAccountType: \"Standard_LRS\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nbuiltin = azure.authorization.get_role_definition(name=\"Contributor\")\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_definition = azure.managedapplication.Definition(\"exampleDefinition\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=[azure.managedapplication.DefinitionAuthorizationArgs(\n service_principal_id=current.object_id,\n role_definition_id=builtin.id.split(\"/\")[len(builtin.id.split(\"/\")) - 1],\n )])\nexample_application = azure.managedapplication.Application(\"exampleApplication\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n kind=\"ServiceCatalog\",\n managed_resource_group_name=\"infrastructureGroup\",\n application_definition_id=example_definition.id,\n parameters={\n \"location\": example_resource_group.location,\n \"storageAccountNamePrefix\": \"storeNamePrefix\",\n \"storage_account_type\": \"Standard_LRS\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var builtin = Output.Create(Azure.Authorization.GetRoleDefinition.InvokeAsync(new Azure.Authorization.GetRoleDefinitionArgs\n {\n Name = \"Contributor\",\n }));\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDefinition = new Azure.ManagedApplication.Definition(\"exampleDefinition\", new Azure.ManagedApplication.DefinitionArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 {\n new Azure.ManagedApplication.Inputs.DefinitionAuthorizationArgs\n {\n ServicePrincipalId = current.Apply(current =\u003e current.ObjectId),\n RoleDefinitionId = Output.Tuple(builtin.Apply(builtin =\u003e builtin.Id.Split(\"/\")), builtin.Apply(builtin =\u003e builtin.Id.Split(\"/\")).Length).Apply(values =\u003e\n {\n var split = values.Item1;\n var length = values.Item2;\n return split[length - 1];\n }),\n },\n },\n });\n var exampleApplication = new Azure.ManagedApplication.Application(\"exampleApplication\", new Azure.ManagedApplication.ApplicationArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Kind = \"ServiceCatalog\",\n ManagedResourceGroupName = \"infrastructureGroup\",\n ApplicationDefinitionId = exampleDefinition.Id,\n Parameters = \n {\n { \"location\", exampleResourceGroup.Location },\n { \"storageAccountNamePrefix\", \"storeNamePrefix\" },\n { \"storageAccountType\", \"Standard_LRS\" },\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of name and value pairs to pass to the managed application as parameters.\n" }, "plan": { "$ref": "#/types/azure:managedapplication/ApplicationPlan:ApplicationPlan", "description": "One `plan` block as defined below.\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", "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" }, "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" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of name and value pairs to pass to the managed application as parameters.\n" }, "plan": { "$ref": "#/types/azure:managedapplication/ApplicationPlan:ApplicationPlan", "description": "One `plan` block as defined below.\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" } }, "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" }, "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" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of name and value pairs to pass to the managed application as parameters.\n" }, "plan": { "$ref": "#/types/azure:managedapplication/ApplicationPlan:ApplicationPlan", "description": "One `plan` block as defined below.\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" } }, "type": "object" } }, "azure:managedapplication/definition:Definition": { "description": "Manages a Managed Application Definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDefinition = new azure.managedapplication.Definition(\"exampleDefinition\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_definition = azure.managedapplication.Definition(\"exampleDefinition\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=[azure.managedapplication.DefinitionAuthorizationArgs(\n service_principal_id=current.object_id,\n role_definition_id=\"a094b430-dad3-424d-ae58-13f72fd72591\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDefinition = new Azure.ManagedApplication.Definition(\"exampleDefinition\", new Azure.ManagedApplication.DefinitionArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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 {\n new Azure.ManagedApplication.Inputs.DefinitionAuthorizationArgs\n {\n ServicePrincipalId = current.Apply(current =\u003e current.ObjectId),\n RoleDefinitionId = \"a094b430-dad3-424d-ae58-13f72fd72591\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/managedapplication\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleDefinition\", \u0026managedapplication.DefinitionArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "authorizations": { "type": "array", "items": { "$ref": "#/types/azure:managedapplication/DefinitionAuthorization:DefinitionAuthorization" }, "description": "One or more `authorization` 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 `true`.\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" } }, "required": [ "displayName", "location", "lockLevel", "name", "resourceGroupName" ], "inputProperties": { "authorizations": { "type": "array", "items": { "$ref": "#/types/azure:managedapplication/DefinitionAuthorization:DefinitionAuthorization" }, "description": "One or more `authorization` 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 `true`.\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" } }, "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 `authorization` 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 `true`.\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" } }, "type": "object" } }, "azure:management/group:Group": { "description": "Manages a Management Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleParent\", {\n displayName: \"ParentGroup\",\n subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\nconst exampleChild = new azure.management.Group(\"exampleChild\", {\n displayName: \"ChildGroup\",\n parentManagementGroupId: exampleParent.id,\n subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\n// other subscription IDs can go here\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample_parent = azure.management.Group(\"exampleParent\",\n display_name=\"ParentGroup\",\n subscription_ids=[current.subscription_id])\nexample_child = azure.management.Group(\"exampleChild\",\n display_name=\"ChildGroup\",\n parent_management_group_id=example_parent.id,\n subscription_ids=[current.subscription_id])\n# other subscription IDs can go here\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleParent = new Azure.Management.Group(\"exampleParent\", new Azure.Management.GroupArgs\n {\n DisplayName = \"ParentGroup\",\n SubscriptionIds = \n {\n current.Apply(current =\u003e current.SubscriptionId),\n },\n });\n var exampleChild = new Azure.Management.Group(\"exampleChild\", new Azure.Management.GroupArgs\n {\n DisplayName = \"ChildGroup\",\n ParentManagementGroupId = exampleParent.Id,\n SubscriptionIds = \n {\n current.Apply(current =\u003e current.SubscriptionId),\n },\n });\n // other subscription IDs can go here\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleParent, err := management.NewGroup(ctx, \"exampleParent\", \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, \"exampleChild\", \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{{% /example %}}\n{{% /examples %}}", "properties": { "displayName": { "type": "string", "description": "A friendly name for this Management Group. If not specified, this'll be the same as the `name`.\n" }, "groupId": { "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", "deprecationMessage": "Deprecated in favour of `name`" }, "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. Changing this forces a new resource to be created.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription GUIDs which should be assigned to the Management Group.\n" } }, "required": [ "displayName", "groupId", "name", "parentManagementGroupId" ], "inputProperties": { "displayName": { "type": "string", "description": "A friendly name for this Management Group. If not specified, this'll be the same as the `name`.\n" }, "groupId": { "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", "deprecationMessage": "Deprecated in favour of `name`" }, "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. Changing this forces a new resource to be created.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription GUIDs which should be assigned to the Management Group.\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'll be the same as the `name`.\n" }, "groupId": { "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", "deprecationMessage": "Deprecated in favour of `name`" }, "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. Changing this forces a new resource to be created.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription GUIDs which should be assigned to the Management Group.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:managementgroups/managementGroup:ManagementGroup" } ] }, "azure:management/lock:Lock": { "description": "Manages a Management Lock which is scoped to a Subscription, Resource Group or Resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Subscription Level Lock)\n\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 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 scope=current.id,\n lock_level=\"CanNotDelete\",\n notes=\"Items can't be deleted in this subscription!\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var subscription_level = new Azure.Management.Lock(\"subscription-level\", new Azure.Management.LockArgs\n {\n Scope = current.Apply(current =\u003e current.Id),\n LockLevel = \"CanNotDelete\",\n Notes = \"Items can't be deleted in this subscription!\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, 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\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\n## Example Usage (Resource Group Level Lock)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West Europe\"});\nconst resource_group_level = new azure.management.Lock(\"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\", location=\"West Europe\")\nresource_group_level = azure.management.Lock(\"resource-group-level\",\n scope=example.id,\n lock_level=\"ReadOnly\",\n notes=\"This Resource Group is Read-Only\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var resource_group_level = new Azure.Management.Lock(\"resource-group-level\", new Azure.Management.LockArgs\n {\n Scope = example.Id,\n LockLevel = \"ReadOnly\",\n Notes = \"This Resource Group is Read-Only\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\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\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\n{{% /example %}}\n{{% example %}}\n### Resource Level Lock)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n idleTimeoutInMinutes: 30,\n});\nconst public_ip = new azure.management.Lock(\"public-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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n idle_timeout_in_minutes=30)\npublic_ip = azure.management.Lock(\"public-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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n IdleTimeoutInMinutes = 30,\n });\n var public_ip = new Azure.Management.Lock(\"public-ip\", new Azure.Management.LockArgs\n {\n Scope = examplePublicIp.Id,\n LockLevel = \"CanNotDelete\",\n Notes = \"Locked because it's needed by a third-party\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" } }, "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" }, "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" } }, "type": "object" }, "aliases": [ { "type": "azure:managementresource/manangementLock:ManangementLock" } ] }, "azure:managementgroups/managementGroup:ManagementGroup": { "description": "Manages a Management Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleParent\", {\n displayName: \"ParentGroup\",\n subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\nconst exampleChild = new azure.management.Group(\"exampleChild\", {\n displayName: \"ChildGroup\",\n parentManagementGroupId: exampleParent.id,\n subscriptionIds: [current.then(current =\u003e current.subscriptionId)],\n});\n// other subscription IDs can go here\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_subscription()\nexample_parent = azure.management.Group(\"exampleParent\",\n display_name=\"ParentGroup\",\n subscription_ids=[current.subscription_id])\nexample_child = azure.management.Group(\"exampleChild\",\n display_name=\"ChildGroup\",\n parent_management_group_id=example_parent.id,\n subscription_ids=[current.subscription_id])\n# other subscription IDs can go here\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleParent = new Azure.Management.Group(\"exampleParent\", new Azure.Management.GroupArgs\n {\n DisplayName = \"ParentGroup\",\n SubscriptionIds = \n {\n current.Apply(current =\u003e current.SubscriptionId),\n },\n });\n var exampleChild = new Azure.Management.Group(\"exampleChild\", new Azure.Management.GroupArgs\n {\n DisplayName = \"ChildGroup\",\n ParentManagementGroupId = exampleParent.Id,\n SubscriptionIds = \n {\n current.Apply(current =\u003e current.SubscriptionId),\n },\n });\n // other subscription IDs can go here\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleParent, err := management.NewGroup(ctx, \"exampleParent\", \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, \"exampleChild\", \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{{% /example %}}\n{{% /examples %}}", "properties": { "displayName": { "type": "string", "description": "A friendly name for this Management Group. If not specified, this'll be the same as the `name`.\n" }, "groupId": { "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", "deprecationMessage": "Deprecated in favour of `name`" }, "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. Changing this forces a new resource to be created.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription GUIDs which should be assigned to the Management Group.\n" } }, "required": [ "displayName", "groupId", "name", "parentManagementGroupId" ], "inputProperties": { "displayName": { "type": "string", "description": "A friendly name for this Management Group. If not specified, this'll be the same as the `name`.\n" }, "groupId": { "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", "deprecationMessage": "Deprecated in favour of `name`" }, "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. Changing this forces a new resource to be created.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription GUIDs which should be assigned to the Management Group.\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'll be the same as the `name`.\n" }, "groupId": { "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", "deprecationMessage": "Deprecated in favour of `name`" }, "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. Changing this forces a new resource to be created.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription GUIDs which should be assigned to the Management Group.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n### Subscription Level Lock)\n\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 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 scope=current.id,\n lock_level=\"CanNotDelete\",\n notes=\"Items can't be deleted in this subscription!\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var subscription_level = new Azure.Management.Lock(\"subscription-level\", new Azure.Management.LockArgs\n {\n Scope = current.Apply(current =\u003e current.Id),\n LockLevel = \"CanNotDelete\",\n Notes = \"Items can't be deleted in this subscription!\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, 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\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\n## Example Usage (Resource Group Level Lock)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West Europe\"});\nconst resource_group_level = new azure.management.Lock(\"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\", location=\"West Europe\")\nresource_group_level = azure.management.Lock(\"resource-group-level\",\n scope=example.id,\n lock_level=\"ReadOnly\",\n notes=\"This Resource Group is Read-Only\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var resource_group_level = new Azure.Management.Lock(\"resource-group-level\", new Azure.Management.LockArgs\n {\n Scope = example.Id,\n LockLevel = \"ReadOnly\",\n Notes = \"This Resource Group is Read-Only\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\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\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\n{{% /example %}}\n{{% example %}}\n### Resource Level Lock)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n idleTimeoutInMinutes: 30,\n});\nconst public_ip = new azure.management.Lock(\"public-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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n idle_timeout_in_minutes=30)\npublic_ip = azure.management.Lock(\"public-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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n IdleTimeoutInMinutes = 30,\n });\n var public_ip = new Azure.Management.Lock(\"public-ip\", new Azure.Management.LockArgs\n {\n Scope = examplePublicIp.Id,\n LockLevel = \"CanNotDelete\",\n Notes = \"Locked because it's needed by a third-party\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" } }, "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" }, "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" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.maps.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"S1\",\n tags: {\n environment: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.maps.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n sku_name=\"S1\",\n tags={\n \"environment\": \"Test\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Maps.Account(\"exampleAccount\", new Azure.Maps.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"S1\",\n Tags = \n {\n { \"environment\", \"Test\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/maps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026maps.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"S1\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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" }, "skuName": { "type": "string", "description": "The sku of the Azure Maps Account. Possible values are `S0` and `S1`.\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": [ "name", "primaryAccessKey", "resourceGroupName", "secondaryAccessKey", "skuName", "xMsClientId" ], "inputProperties": { "name": { "type": "string", "description": "The name of the Azure Maps Account. Changing this forces a new resource to be created.\n" }, "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" }, "skuName": { "type": "string", "description": "The sku of the Azure Maps Account. Possible values are `S0` and `S1`.\n" }, "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": { "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" }, "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" }, "skuName": { "type": "string", "description": "The sku of the Azure Maps Account. Possible values are `S0` and `S1`.\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" } }, "type": "object" } }, "azure:mariadb/configuration:Configuration": { "description": "Sets a MariaDB Configuration value on a MariaDB Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mariadb.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"B_Gen5_2\",\n storageProfile: {\n storageMb: 5120,\n backupRetentionDays: 7,\n geoRedundantBackup: \"Disabled\",\n },\n administratorLogin: \"mariadbadmin\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n version: \"10.2\",\n sslEnforcement: \"Enabled\",\n});\nconst exampleConfiguration = new azure.mariadb.Configuration(\"exampleConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n value: \"600\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mariadb.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"B_Gen5_2\",\n storage_profile=azure.mariadb.ServerStorageProfileArgs(\n storage_mb=5120,\n backup_retention_days=7,\n geo_redundant_backup=\"Disabled\",\n ),\n administrator_login=\"mariadbadmin\",\n administrator_login_password=\"H@Sh1CoR3!\",\n version=\"10.2\",\n ssl_enforcement=\"Enabled\")\nexample_configuration = azure.mariadb.Configuration(\"exampleConfiguration\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n value=\"600\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MariaDB.Server(\"exampleServer\", new Azure.MariaDB.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"B_Gen5_2\",\n StorageProfile = new Azure.MariaDB.Inputs.ServerStorageProfileArgs\n {\n StorageMb = 5120,\n BackupRetentionDays = 7,\n GeoRedundantBackup = \"Disabled\",\n },\n AdministratorLogin = \"mariadbadmin\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n Version = \"10.2\",\n SslEnforcement = \"Enabled\",\n });\n var exampleConfiguration = new Azure.MariaDB.Configuration(\"exampleConfiguration\", new Azure.MariaDB.ConfigurationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n Value = \"600\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 := mariadb.NewServer(ctx, \"exampleServer\", \u0026mariadb.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageProfile: \u0026mariadb.ServerStorageProfileArgs{\n\t\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\t\tGeoRedundantBackup: pulumi.String(\"Disabled\"),\n\t\t\t},\n\t\t\tAdministratorLogin: pulumi.String(\"mariadbadmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion: pulumi.String(\"10.2\"),\n\t\t\tSslEnforcement: pulumi.String(\"Enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mariadb.NewConfiguration(ctx, \"exampleConfiguration\", \u0026mariadb.ConfigurationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleServer.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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "Specifies the name of the MariaDB Configuration, which needs [to be a valid MariaDB configuration name](https://mariadb.com/kb/en/library/server-system-variables/). Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB Server. Changing this forces a new resource to be created.\n" }, "value": { "type": "string", "description": "Specifies the value of the MariaDB Configuration. See the MariaDB documentation for valid values.\n" } }, "required": [ "name", "resourceGroupName", "serverName", "value" ], "inputProperties": { "name": { "type": "string", "description": "Specifies the name of the MariaDB Configuration, which needs [to be a valid MariaDB configuration name](https://mariadb.com/kb/en/library/server-system-variables/). Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB Server. Changing this forces a new resource to be created.\n" }, "value": { "type": "string", "description": "Specifies the value of the MariaDB Configuration. See the MariaDB documentation for valid values.\n" } }, "requiredInputs": [ "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 MariaDB Configuration, which needs [to be a valid MariaDB configuration name](https://mariadb.com/kb/en/library/server-system-variables/). Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB Server. Changing this forces a new resource to be created.\n" }, "value": { "type": "string", "description": "Specifies the value of the MariaDB Configuration. See the MariaDB documentation for valid values.\n" } }, "type": "object" } }, "azure:mariadb/database:Database": { "description": "Manages a MariaDB Database within a MariaDB Server\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westeurope\"});\nconst exampleServer = new azure.mariadb.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"B_Gen5_2\",\n storageMb: 51200,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: false,\n administratorLogin: \"acctestun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n version: \"10.2\",\n sslEnforcementEnabled: true,\n});\nconst exampleDatabase = new azure.mariadb.Database(\"exampleDatabase\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n charset: \"utf8\",\n collation: \"utf8_general_ci\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westeurope\")\nexample_server = azure.mariadb.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"B_Gen5_2\",\n storage_mb=51200,\n backup_retention_days=7,\n geo_redundant_backup_enabled=False,\n administrator_login=\"acctestun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n version=\"10.2\",\n ssl_enforcement_enabled=True)\nexample_database = azure.mariadb.Database(\"exampleDatabase\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n charset=\"utf8\",\n collation=\"utf8_general_ci\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n });\n var exampleServer = new Azure.MariaDB.Server(\"exampleServer\", new Azure.MariaDB.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"B_Gen5_2\",\n StorageMb = 51200,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = false,\n AdministratorLogin = \"acctestun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n Version = \"10.2\",\n SslEnforcementEnabled = true,\n });\n var exampleDatabase = new Azure.MariaDB.Database(\"exampleDatabase\", new Azure.MariaDB.DatabaseArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n Charset = \"utf8\",\n Collation = \"utf8_general_ci\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 := mariadb.NewServer(ctx, \"exampleServer\", \u0026mariadb.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(51200),\n\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled: pulumi.Bool(false),\n\t\t\tAdministratorLogin: pulumi.String(\"acctestun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion: pulumi.String(\"10.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 = mariadb.NewDatabase(ctx, \"exampleDatabase\", \u0026mariadb.DatabaseArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleServer.Name,\n\t\t\tCharset: pulumi.String(\"utf8\"),\n\t\t\tCollation: pulumi.String(\"utf8_general_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{{% /example %}}\n{{% /examples %}}", "properties": { "charset": { "type": "string", "description": "Specifies the Charset for the MariaDB Database, which needs [to be a valid MariaDB Charset](https://mariadb.com/kb/en/library/setting-character-sets-and-collations). Changing this forces a new resource to be created.\n" }, "collation": { "type": "string", "description": "Specifies the Collation for the MariaDB Database, which needs [to be a valid MariaDB Collation](https://mariadb.com/kb/en/library/setting-character-sets-and-collations). Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB Database, which needs [to be a valid MariaDB identifier](https://mariadb.com/kb/en/library/identifier-names/). Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB 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 MariaDB Database, which needs [to be a valid MariaDB Charset](https://mariadb.com/kb/en/library/setting-character-sets-and-collations). Changing this forces a new resource to be created.\n" }, "collation": { "type": "string", "description": "Specifies the Collation for the MariaDB Database, which needs [to be a valid MariaDB Collation](https://mariadb.com/kb/en/library/setting-character-sets-and-collations). Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB Database, which needs [to be a valid MariaDB identifier](https://mariadb.com/kb/en/library/identifier-names/). Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB Server. Changing this forces a new resource to be created.\n" } }, "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 MariaDB Database, which needs [to be a valid MariaDB Charset](https://mariadb.com/kb/en/library/setting-character-sets-and-collations). Changing this forces a new resource to be created.\n" }, "collation": { "type": "string", "description": "Specifies the Collation for the MariaDB Database, which needs [to be a valid MariaDB Collation](https://mariadb.com/kb/en/library/setting-character-sets-and-collations). Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB Database, which needs [to be a valid MariaDB identifier](https://mariadb.com/kb/en/library/identifier-names/). Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB Server. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:mariadb/firewallRule:FirewallRule": { "description": "Manages a Firewall Rule for a MariaDB Server\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Single IP Address)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.mariadb.FirewallRule(\"example\", {\n endIpAddress: \"40.112.8.12\",\n resourceGroupName: \"test-rg\",\n serverName: \"test-server\",\n startIpAddress: \"40.112.8.12\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mariadb.FirewallRule(\"example\",\n end_ip_address=\"40.112.8.12\",\n resource_group_name=\"test-rg\",\n server_name=\"test-server\",\n start_ip_address=\"40.112.8.12\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.MariaDB.FirewallRule(\"example\", new Azure.MariaDB.FirewallRuleArgs\n {\n EndIpAddress = \"40.112.8.12\",\n ResourceGroupName = \"test-rg\",\n ServerName = \"test-server\",\n StartIpAddress = \"40.112.8.12\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mariadb.NewFirewallRule(ctx, \"example\", \u0026mariadb.FirewallRuleArgs{\n\t\t\tEndIpAddress: pulumi.String(\"40.112.8.12\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t\tServerName: pulumi.String(\"test-server\"),\n\t\t\tStartIpAddress: 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\n{{% /example %}}\n{{% example %}}\n### IP Range)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.mariadb.FirewallRule(\"example\", {\n endIpAddress: \"40.112.255.255\",\n resourceGroupName: \"test-rg\",\n serverName: \"test-server\",\n startIpAddress: \"40.112.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mariadb.FirewallRule(\"example\",\n end_ip_address=\"40.112.255.255\",\n resource_group_name=\"test-rg\",\n server_name=\"test-server\",\n start_ip_address=\"40.112.0.0\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.MariaDB.FirewallRule(\"example\", new Azure.MariaDB.FirewallRuleArgs\n {\n EndIpAddress = \"40.112.255.255\",\n ResourceGroupName = \"test-rg\",\n ServerName = \"test-server\",\n StartIpAddress = \"40.112.0.0\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mariadb.NewFirewallRule(ctx, \"example\", \u0026mariadb.FirewallRuleArgs{\n\t\t\tEndIpAddress: pulumi.String(\"40.112.255.255\"),\n\t\t\tResourceGroupName: pulumi.String(\"test-rg\"),\n\t\t\tServerName: pulumi.String(\"test-server\"),\n\t\t\tStartIpAddress: pulumi.String(\"40.112.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{{% /example %}}\n{{% /examples %}}", "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" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB 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 MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB 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" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB 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 MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB 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" } }, "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" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB 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 MariaDB Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MariaDB 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" } }, "type": "object" } }, "azure:mariadb/server:Server": { "description": "Manages a MariaDB Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mariadb.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mariadbadmin\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n version: \"10.2\",\n autoGrowEnabled: true,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: false,\n publicNetworkAccessEnabled: false,\n sslEnforcementEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mariadb.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mariadbadmin\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"B_Gen5_2\",\n storage_mb=5120,\n version=\"10.2\",\n auto_grow_enabled=True,\n backup_retention_days=7,\n geo_redundant_backup_enabled=False,\n public_network_access_enabled=False,\n ssl_enforcement_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MariaDB.Server(\"exampleServer\", new Azure.MariaDB.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mariadbadmin\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n Version = \"10.2\",\n AutoGrowEnabled = true,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = false,\n PublicNetworkAccessEnabled = false,\n SslEnforcementEnabled = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 = mariadb.NewServer(ctx, \"exampleServer\", \u0026mariadb.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mariadbadmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\tVersion: pulumi.String(\"10.2\"),\n\t\t\tAutoGrowEnabled: pulumi.Bool(true),\n\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled: pulumi.Bool(false),\n\t\t\tPublicNetworkAccessEnabled: pulumi.Bool(false),\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MariaDB Server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the MariaDB Server.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 MariaDB 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 supported for the Basic 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" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB 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 `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the MariaDB Server. Changing this forces a new resource to be created.\n" }, "restorePointInTime": { "type": "string", "description": "When `create_mode` is `PointInTimeRestore`, specifies the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this MariaDB Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been moved to the boolean attribute `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB (5GB) and `1024000`MB (1TB) for the Basic SKU and between `5120` MB (5GB) and `4096000` MB (4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#storageprofile).\n" }, "storageProfile": { "$ref": "#/types/azure:mariadb/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been moved to the top level. This block will be removed in version 3.0 of the provider." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "version": { "type": "string", "description": "Specifies the version of MariaDB to use. Possible values are `10.2` and `10.3`. Changing this forces a new resource to be created.\n" } }, "required": [ "administratorLogin", "autoGrowEnabled", "backupRetentionDays", "fqdn", "geoRedundantBackupEnabled", "location", "name", "resourceGroupName", "skuName", "sslEnforcement", "storageMb", "storageProfile", "version" ], "inputProperties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MariaDB Server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the MariaDB Server.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 supported for the Basic 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" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB 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 `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the MariaDB Server. Changing this forces a new resource to be created.\n" }, "restorePointInTime": { "type": "string", "description": "When `create_mode` is `PointInTimeRestore`, specifies the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this MariaDB Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been moved to the boolean attribute `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB (5GB) and `1024000`MB (1TB) for the Basic SKU and between `5120` MB (5GB) and `4096000` MB (4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#storageprofile).\n" }, "storageProfile": { "$ref": "#/types/azure:mariadb/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been moved to the top level. This block will be removed in version 3.0 of the provider." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "version": { "type": "string", "description": "Specifies the version of MariaDB to use. Possible values are `10.2` and `10.3`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "resourceGroupName", "skuName", "version" ], "stateInputs": { "description": "Input properties used for looking up and filtering Server resources.\n", "properties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MariaDB Server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the MariaDB Server.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 MariaDB 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 supported for the Basic 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" }, "name": { "type": "string", "description": "Specifies the name of the MariaDB 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 `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the MariaDB Server. Changing this forces a new resource to be created.\n" }, "restorePointInTime": { "type": "string", "description": "When `create_mode` is `PointInTimeRestore`, specifies the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this MariaDB Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been moved to the boolean attribute `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB (5GB) and `1024000`MB (1TB) for the Basic SKU and between `5120` MB (5GB) and `4096000` MB (4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mariadb/servers/create#storageprofile).\n" }, "storageProfile": { "$ref": "#/types/azure:mariadb/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been moved to the top level. This block will be removed in version 3.0 of the provider." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "version": { "type": "string", "description": "Specifies the version of MariaDB to use. Possible values are `10.2` and `10.3`. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:mariadb/virtualNetworkRule:VirtualNetworkRule": { "description": "Manages a MariaDB Virtual Network Rule.\n\n\u003e **NOTE:** MariaDB Virtual Network Rules [can only be used with SKU Tiers of `GeneralPurpose` or `MemoryOptimized`](https://docs.microsoft.com/en-us/azure/mariadb/concepts-data-access-security-vnet)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.7.29.0/29\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.7.29.0/29\",\n serviceEndpoints: [\"Microsoft.Sql\"],\n});\nconst exampleServer = new azure.mariadb.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mariadbadminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n version: \"5.7\",\n sslEnforcement: \"Enabled\",\n skuName: \"GP_Gen5_2\",\n storageProfile: {\n storageMb: 5120,\n backupRetentionDays: 7,\n geoRedundantBackup: \"Disabled\",\n },\n});\nconst exampleVirtualNetworkRule = new azure.mariadb.VirtualNetworkRule(\"exampleVirtualNetworkRule\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n subnetId: internal.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.7.29.0/29\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.7.29.0/29\",\n service_endpoints=[\"Microsoft.Sql\"])\nexample_server = azure.mariadb.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mariadbadminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n version=\"5.7\",\n ssl_enforcement=\"Enabled\",\n sku_name=\"GP_Gen5_2\",\n storage_profile=azure.mariadb.ServerStorageProfileArgs(\n storage_mb=5120,\n backup_retention_days=7,\n geo_redundant_backup=\"Disabled\",\n ))\nexample_virtual_network_rule = azure.mariadb.VirtualNetworkRule(\"exampleVirtualNetworkRule\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n subnet_id=internal.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.7.29.0/29\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.7.29.0/29\",\n ServiceEndpoints = \n {\n \"Microsoft.Sql\",\n },\n });\n var exampleServer = new Azure.MariaDB.Server(\"exampleServer\", new Azure.MariaDB.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mariadbadminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n Version = \"5.7\",\n SslEnforcement = \"Enabled\",\n SkuName = \"GP_Gen5_2\",\n StorageProfile = new Azure.MariaDB.Inputs.ServerStorageProfileArgs\n {\n StorageMb = 5120,\n BackupRetentionDays = 7,\n GeoRedundantBackup = \"Disabled\",\n },\n });\n var exampleVirtualNetworkRule = new Azure.MariaDB.VirtualNetworkRule(\"exampleVirtualNetworkRule\", new Azure.MariaDB.VirtualNetworkRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n SubnetId = @internal.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.7.29.0/29\"),\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 := mariadb.NewServer(ctx, \"exampleServer\", \u0026mariadb.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mariadbadminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion: pulumi.String(\"5.7\"),\n\t\t\tSslEnforcement: pulumi.String(\"Enabled\"),\n\t\t\tSkuName: pulumi.String(\"GP_Gen5_2\"),\n\t\t\tStorageProfile: \u0026mariadb.ServerStorageProfileArgs{\n\t\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\t\tGeoRedundantBackup: pulumi.String(\"Disabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mariadb.NewVirtualNetworkRule(ctx, \"exampleVirtualNetworkRule\", \u0026mariadb.VirtualNetworkRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleServer.Name,\n\t\t\tSubnetId: internal.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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the MariaDB 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MariaDB 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 MariaDB 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 MariaDB server will be connected to.\n" } }, "required": [ "name", "resourceGroupName", "serverName", "subnetId" ], "inputProperties": { "name": { "type": "string", "description": "The name of the MariaDB 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MariaDB 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 MariaDB 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 MariaDB server will be connected to.\n" } }, "requiredInputs": [ "resourceGroupName", "serverName", "subnetId" ], "stateInputs": { "description": "Input properties used for looking up and filtering VirtualNetworkRule resources.\n", "properties": { "name": { "type": "string", "description": "The name of the MariaDB 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MariaDB 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 MariaDB 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 MariaDB server will be connected to.\n" } }, "type": "object" } }, "azure:marketplace/agreement:Agreement": { "description": "Allows accepting the Legal Terms for a Marketplace Image.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst barracuda = new azure.marketplace.Agreement(\"barracuda\", {\n offer: \"waf\",\n plan: \"hourly\",\n publisher: \"barracudanetworks\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nbarracuda = azure.marketplace.Agreement(\"barracuda\",\n offer=\"waf\",\n plan=\"hourly\",\n publisher=\"barracudanetworks\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var barracuda = new Azure.Marketplace.Agreement(\"barracuda\", new Azure.Marketplace.AgreementArgs\n {\n Offer = \"waf\",\n Plan = \"hourly\",\n Publisher = \"barracudanetworks\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tOffer: pulumi.String(\"waf\"),\n\t\t\tPlan: pulumi.String(\"hourly\"),\n\t\t\tPublisher: pulumi.String(\"barracudanetworks\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "plan": { "type": "string", "description": "The Plan of the Marketplace Image. Changing this forces a new resource to be created.\n" }, "publisher": { "type": "string", "description": "The Publisher of the Marketplace Image. Changing this forces a new resource to be created.\n" } }, "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" }, "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" } }, "type": "object" } }, "azure:mediaservices/account:Account": { "description": "Manages a Media Services Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleMediaservices_accountAccount = new azure.mediaservices.Account(\"exampleMediaservices/accountAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n storageAccounts: [{\n id: exampleAccount.id,\n isPrimary: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_mediaservices_account_account = azure.mediaservices.Account(\"exampleMediaservices/accountAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n storage_accounts=[azure.mediaservices.AccountStorageAccountArgs(\n id=example_account.id,\n is_primary=True,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var exampleMediaservices_accountAccount = new Azure.MediaServices.Account(\"exampleMediaservices/accountAccount\", new Azure.MediaServices.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n StorageAccounts = \n {\n new Azure.MediaServices.Inputs.AccountStorageAccountArgs\n {\n Id = exampleAccount.Id,\n IsPrimary = true,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mediaservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\t_, err = mediaservices.NewAccount(ctx, \"exampleMediaservices_accountAccount\", \u0026mediaservices.AccountArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tStorageAccounts: mediaservices.AccountStorageAccountArray{\n\t\t\t\t\u0026mediaservices.AccountStorageAccountArgs{\n\t\t\t\t\tId: exampleAccount.ID(),\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{{% /example %}}\n{{% /examples %}}", "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 Media Services Account. 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 Media Services Account. Changing this forces a new resource to be created.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:mediaservices/AccountStorageAccount:AccountStorageAccount" }, "description": "One or more `storage_account` blocks as defined below.\n" } }, "required": [ "location", "name", "resourceGroupName", "storageAccounts" ], "inputProperties": { "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 Media Services Account. 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 Media Services Account. Changing this forces a new resource to be created.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:mediaservices/AccountStorageAccount:AccountStorageAccount" }, "description": "One or more `storage_account` blocks as defined below.\n" } }, "requiredInputs": [ "resourceGroupName", "storageAccounts" ], "stateInputs": { "description": "Input properties used for looking up and filtering Account 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" }, "name": { "type": "string", "description": "Specifies the name of the Media Services Account. 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 Media Services Account. Changing this forces a new resource to be created.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:mediaservices/AccountStorageAccount:AccountStorageAccount" }, "description": "One or more `storage_account` blocks as defined below.\n" } }, "type": "object" } }, "azure:mixedreality/spatialAnchorsAccount:SpatialAnchorsAccount": { "description": "Manages an Azure Spatial Anchors Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"northeurope\"});\nconst exampleSpatialAnchorsAccount = new azure.mixedreality.SpatialAnchorsAccount(\"exampleSpatialAnchorsAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"northeurope\")\nexample_spatial_anchors_account = azure.mixedreality.SpatialAnchorsAccount(\"exampleSpatialAnchorsAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleSpatialAnchorsAccount = new Azure.MixedReality.SpatialAnchorsAccount(\"exampleSpatialAnchorsAccount\", new Azure.MixedReality.SpatialAnchorsAccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mixedreality\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = mixedreality.NewSpatialAnchorsAccount(ctx, \"exampleSpatialAnchorsAccount\", \u0026mixedreality.SpatialAnchorsAccountArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 Spatial Anchors Account. 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 Spatial Anchors Account.\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" }, "name": { "type": "string", "description": "Specifies the name of the Spatial Anchors Account. 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 Spatial Anchors 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 SpatialAnchorsAccount 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" }, "name": { "type": "string", "description": "Specifies the name of the Spatial Anchors Account. 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 Spatial Anchors Account.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:monitoring/actionGroup:ActionGroup": { "description": "Manages an Action Group within Azure Monitor.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"exampleActionGroup\", {\n resourceGroupName: exampleResourceGroup.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 itsmReceivers: [{\n name: \"createorupdateticket\",\n workspaceId: \"6eee3a18-aac3-40e4-b98e-1f309f329816\",\n connectionId: \"53de6956-42b4-41ba-be3c-b154cdf17b13\",\n ticketConfiguration: \"{}\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_action_group = azure.monitoring.ActionGroup(\"exampleActionGroup\",\n resource_group_name=example_resource_group.name,\n short_name=\"p0action\",\n arm_role_receivers=[azure.monitoring.ActionGroupArmRoleReceiverArgs(\n name=\"armroleaction\",\n role_id=\"de139f84-1756-47ae-9be6-808fbbe84772\",\n use_common_alert_schema=True,\n )],\n automation_runbook_receivers=[azure.monitoring.ActionGroupAutomationRunbookReceiverArgs(\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=[azure.monitoring.ActionGroupAzureAppPushReceiverArgs(\n name=\"pushtoadmin\",\n email_address=\"admin@contoso.com\",\n )],\n azure_function_receivers=[azure.monitoring.ActionGroupAzureFunctionReceiverArgs(\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 azure.monitoring.ActionGroupEmailReceiverArgs(\n name=\"sendtoadmin\",\n email_address=\"admin@contoso.com\",\n ),\n azure.monitoring.ActionGroupEmailReceiverArgs(\n name=\"sendtodevops\",\n email_address=\"devops@contoso.com\",\n use_common_alert_schema=True,\n ),\n ],\n itsm_receivers=[azure.monitoring.ActionGroupItsmReceiverArgs(\n name=\"createorupdateticket\",\n workspace_id=\"6eee3a18-aac3-40e4-b98e-1f309f329816\",\n connection_id=\"53de6956-42b4-41ba-be3c-b154cdf17b13\",\n ticket_configuration=\"{}\",\n region=\"southcentralus\",\n )],\n logic_app_receivers=[azure.monitoring.ActionGroupLogicAppReceiverArgs(\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=[azure.monitoring.ActionGroupSmsReceiverArgs(\n name=\"oncallmsg\",\n country_code=\"1\",\n phone_number=\"1231231234\",\n )],\n voice_receivers=[azure.monitoring.ActionGroupVoiceReceiverArgs(\n name=\"remotesupport\",\n country_code=\"86\",\n phone_number=\"13888888888\",\n )],\n webhook_receivers=[azure.monitoring.ActionGroupWebhookReceiverArgs(\n name=\"callmyapiaswell\",\n service_uri=\"http://example.com/alert\",\n use_common_alert_schema=True,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"exampleActionGroup\", new Azure.Monitoring.ActionGroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ShortName = \"p0action\",\n ArmRoleReceivers = \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 = \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 = \n {\n new Azure.Monitoring.Inputs.ActionGroupAzureAppPushReceiverArgs\n {\n Name = \"pushtoadmin\",\n EmailAddress = \"admin@contoso.com\",\n },\n },\n AzureFunctionReceivers = \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 = \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 ItsmReceivers = \n {\n new Azure.Monitoring.Inputs.ActionGroupItsmReceiverArgs\n {\n Name = \"createorupdateticket\",\n WorkspaceId = \"6eee3a18-aac3-40e4-b98e-1f309f329816\",\n ConnectionId = \"53de6956-42b4-41ba-be3c-b154cdf17b13\",\n TicketConfiguration = \"{}\",\n Region = \"southcentralus\",\n },\n },\n LogicAppReceivers = \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 = \n {\n new Azure.Monitoring.Inputs.ActionGroupSmsReceiverArgs\n {\n Name = \"oncallmsg\",\n CountryCode = \"1\",\n PhoneNumber = \"1231231234\",\n },\n },\n VoiceReceivers = \n {\n new Azure.Monitoring.Inputs.ActionGroupVoiceReceiverArgs\n {\n Name = \"remotesupport\",\n CountryCode = \"86\",\n PhoneNumber = \"13888888888\",\n },\n },\n WebhookReceivers = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = monitoring.NewActionGroup(ctx, \"exampleActionGroup\", \u0026monitoring.ActionGroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\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: pulumi.String(\"6eee3a18-aac3-40e4-b98e-1f309f329816\"),\n\t\t\t\t\tConnectionId: pulumi.String(\"53de6956-42b4-41ba-be3c-b154cdf17b13\"),\n\t\t\t\t\tTicketConfiguration: pulumi.String(\"{}\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "armRoleReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver" }, "description": "One or more `arm_role_receiver` blocks as defined below.\n" }, "automationRunbookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver" }, "description": "One or more `automation_runbook_receiver` blocks as defined below.\n" }, "azureAppPushReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver" }, "description": "One or more `azure_app_push_receiver` blocks as defined below.\n" }, "azureFunctionReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver" }, "description": "One or more `azure_function_receiver` blocks as defined below.\n" }, "emailReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver" }, "description": "One or more `email_receiver` 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 `true`.\n" }, "itsmReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver" }, "description": "One or more `itsm_receiver` blocks as defined below.\n" }, "logicAppReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver" }, "description": "One or more `logic_app_receiver` 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.\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 `sms_receiver` 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 `voice_receiver` blocks as defined below.\n" }, "webhookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver" }, "description": "One or more `webhook_receiver` blocks as defined below.\n" } }, "required": [ "name", "resourceGroupName", "shortName" ], "inputProperties": { "armRoleReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupArmRoleReceiver:ActionGroupArmRoleReceiver" }, "description": "One or more `arm_role_receiver` blocks as defined below.\n" }, "automationRunbookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver" }, "description": "One or more `automation_runbook_receiver` blocks as defined below.\n" }, "azureAppPushReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver" }, "description": "One or more `azure_app_push_receiver` blocks as defined below.\n" }, "azureFunctionReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver" }, "description": "One or more `azure_function_receiver` blocks as defined below.\n" }, "emailReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver" }, "description": "One or more `email_receiver` 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 `true`.\n" }, "itsmReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver" }, "description": "One or more `itsm_receiver` blocks as defined below.\n" }, "logicAppReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver" }, "description": "One or more `logic_app_receiver` 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.\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 `sms_receiver` 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 `voice_receiver` blocks as defined below.\n" }, "webhookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver" }, "description": "One or more `webhook_receiver` 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 `arm_role_receiver` blocks as defined below.\n" }, "automationRunbookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAutomationRunbookReceiver:ActionGroupAutomationRunbookReceiver" }, "description": "One or more `automation_runbook_receiver` blocks as defined below.\n" }, "azureAppPushReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAzureAppPushReceiver:ActionGroupAzureAppPushReceiver" }, "description": "One or more `azure_app_push_receiver` blocks as defined below.\n" }, "azureFunctionReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupAzureFunctionReceiver:ActionGroupAzureFunctionReceiver" }, "description": "One or more `azure_function_receiver` blocks as defined below.\n" }, "emailReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupEmailReceiver:ActionGroupEmailReceiver" }, "description": "One or more `email_receiver` 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 `true`.\n" }, "itsmReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupItsmReceiver:ActionGroupItsmReceiver" }, "description": "One or more `itsm_receiver` blocks as defined below.\n" }, "logicAppReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupLogicAppReceiver:ActionGroupLogicAppReceiver" }, "description": "One or more `logic_app_receiver` 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.\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 `sms_receiver` 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 `voice_receiver` blocks as defined below.\n" }, "webhookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActionGroupWebhookReceiver:ActionGroupWebhookReceiver" }, "description": "One or more `webhook_receiver` blocks as defined below.\n" } }, "type": "object" } }, "azure:monitoring/actionRuleActionGroup:ActionRuleActionGroup": { "description": "Manages an Monitor Action Rule which type is action group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"exampleActionGroup\", {\n resourceGroupName: exampleResourceGroup.name,\n shortName: \"exampleactiongroup\",\n});\nconst exampleActionRuleActionGroup = new azure.monitoring.ActionRuleActionGroup(\"exampleActionRuleActionGroup\", {\n resourceGroupName: exampleResourceGroup.name,\n actionGroupId: exampleActionGroup.id,\n scope: {\n type: \"ResourceGroup\",\n resourceIds: [exampleResourceGroup.id],\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_action_group = azure.monitoring.ActionGroup(\"exampleActionGroup\",\n resource_group_name=example_resource_group.name,\n short_name=\"exampleactiongroup\")\nexample_action_rule_action_group = azure.monitoring.ActionRuleActionGroup(\"exampleActionRuleActionGroup\",\n resource_group_name=example_resource_group.name,\n action_group_id=example_action_group.id,\n scope=azure.monitoring.ActionRuleActionGroupScopeArgs(\n type=\"ResourceGroup\",\n resource_ids=[example_resource_group.id],\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"exampleActionGroup\", new Azure.Monitoring.ActionGroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ShortName = \"exampleactiongroup\",\n });\n var exampleActionRuleActionGroup = new Azure.Monitoring.ActionRuleActionGroup(\"exampleActionRuleActionGroup\", new Azure.Monitoring.ActionRuleActionGroupArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ActionGroupId = exampleActionGroup.Id,\n Scope = new Azure.Monitoring.Inputs.ActionRuleActionGroupScopeArgs\n {\n Type = \"ResourceGroup\",\n ResourceIds = \n {\n exampleResourceGroup.Id,\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleActionGroup\", \u0026monitoring.ActionGroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tShortName: pulumi.String(\"exampleactiongroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewActionRuleActionGroup(ctx, \"exampleActionRuleActionGroup\", \u0026monitoring.ActionRuleActionGroupArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tActionGroupId: exampleActionGroup.ID(),\n\t\t\tScope: \u0026monitoring.ActionRuleActionGroupScopeArgs{\n\t\t\t\tType: pulumi.String(\"ResourceGroup\"),\n\t\t\t\tResourceIds: pulumi.StringArray{\n\t\t\t\t\texampleResourceGroup.ID(),\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{{% /example %}}\n{{% /examples %}}", "properties": { "actionGroupId": { "type": "string", "description": "Specifies the resource id of monitor action group.\n" }, "condition": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupCondition:ActionRuleActionGroupCondition", "description": "A `condition` block as defined below.\n" }, "description": { "type": "string", "description": "Specifies a description for the Action Rule.\n" }, "enabled": { "type": "boolean", "description": "Is the Action Rule enabled? Defaults to `true`.\n" }, "name": { "type": "string", "description": "Specifies the name of the Monitor Action 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 Action Rule should exist. Changing this forces a new resource to be created.\n" }, "scope": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupScope:ActionRuleActionGroupScope", "description": "A `scope` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "actionGroupId", "name", "resourceGroupName" ], "inputProperties": { "actionGroupId": { "type": "string", "description": "Specifies the resource id of monitor action group.\n" }, "condition": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupCondition:ActionRuleActionGroupCondition", "description": "A `condition` block as defined below.\n" }, "description": { "type": "string", "description": "Specifies a description for the Action Rule.\n" }, "enabled": { "type": "boolean", "description": "Is the Action Rule enabled? Defaults to `true`.\n" }, "name": { "type": "string", "description": "Specifies the name of the Monitor Action 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 Action Rule should exist. Changing this forces a new resource to be created.\n" }, "scope": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupScope:ActionRuleActionGroupScope", "description": "A `scope` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "actionGroupId", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering ActionRuleActionGroup resources.\n", "properties": { "actionGroupId": { "type": "string", "description": "Specifies the resource id of monitor action group.\n" }, "condition": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupCondition:ActionRuleActionGroupCondition", "description": "A `condition` block as defined below.\n" }, "description": { "type": "string", "description": "Specifies a description for the Action Rule.\n" }, "enabled": { "type": "boolean", "description": "Is the Action Rule enabled? Defaults to `true`.\n" }, "name": { "type": "string", "description": "Specifies the name of the Monitor Action 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 Action Rule should exist. Changing this forces a new resource to be created.\n" }, "scope": { "$ref": "#/types/azure:monitoring/ActionRuleActionGroupScope:ActionRuleActionGroupScope", "description": "A `scope` 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:monitoring/actionRuleSuppression:ActionRuleSuppression": { "description": "Manages an Monitor Action Rule which type is suppression.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleActionRuleSuppression = new azure.monitoring.ActionRuleSuppression(\"exampleActionRuleSuppression\", {\n resourceGroupName: exampleResourceGroup.name,\n scope: {\n type: \"ResourceGroup\",\n resourceIds: [exampleResourceGroup.id],\n },\n suppression: {\n recurrenceType: \"Weekly\",\n schedule: {\n startDateUtc: \"2019-01-01T01:02:03Z\",\n endDateUtc: \"2019-01-03T15:02:07Z\",\n recurrenceWeeklies: [\n \"Sunday\",\n \"Monday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_action_rule_suppression = azure.monitoring.ActionRuleSuppression(\"exampleActionRuleSuppression\",\n resource_group_name=example_resource_group.name,\n scope=azure.monitoring.ActionRuleSuppressionScopeArgs(\n type=\"ResourceGroup\",\n resource_ids=[example_resource_group.id],\n ),\n suppression=azure.monitoring.ActionRuleSuppressionSuppressionArgs(\n recurrence_type=\"Weekly\",\n schedule=azure.monitoring.ActionRuleSuppressionSuppressionScheduleArgs(\n start_date_utc=\"2019-01-01T01:02:03Z\",\n end_date_utc=\"2019-01-03T15:02:07Z\",\n recurrence_weeklies=[\n \"Sunday\",\n \"Monday\",\n \"Friday\",\n \"Saturday\",\n ],\n ),\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleActionRuleSuppression = new Azure.Monitoring.ActionRuleSuppression(\"exampleActionRuleSuppression\", new Azure.Monitoring.ActionRuleSuppressionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Scope = new Azure.Monitoring.Inputs.ActionRuleSuppressionScopeArgs\n {\n Type = \"ResourceGroup\",\n ResourceIds = \n {\n exampleResourceGroup.Id,\n },\n },\n Suppression = new Azure.Monitoring.Inputs.ActionRuleSuppressionSuppressionArgs\n {\n RecurrenceType = \"Weekly\",\n Schedule = new Azure.Monitoring.Inputs.ActionRuleSuppressionSuppressionScheduleArgs\n {\n StartDateUtc = \"2019-01-01T01:02:03Z\",\n EndDateUtc = \"2019-01-03T15:02:07Z\",\n RecurrenceWeeklies = \n {\n \"Sunday\",\n \"Monday\",\n \"Friday\",\n \"Saturday\",\n },\n },\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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.NewActionRuleSuppression(ctx, \"exampleActionRuleSuppression\", \u0026monitoring.ActionRuleSuppressionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tScope: \u0026monitoring.ActionRuleSuppressionScopeArgs{\n\t\t\t\tType: pulumi.String(\"ResourceGroup\"),\n\t\t\t\tResourceIds: pulumi.StringArray{\n\t\t\t\t\texampleResourceGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSuppression: \u0026monitoring.ActionRuleSuppressionSuppressionArgs{\n\t\t\t\tRecurrenceType: pulumi.String(\"Weekly\"),\n\t\t\t\tSchedule: \u0026monitoring.ActionRuleSuppressionSuppressionScheduleArgs{\n\t\t\t\t\tStartDateUtc: pulumi.String(\"2019-01-01T01:02:03Z\"),\n\t\t\t\t\tEndDateUtc: pulumi.String(\"2019-01-03T15:02:07Z\"),\n\t\t\t\t\tRecurrenceWeeklies: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Sunday\"),\n\t\t\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t\t\t\tpulumi.String(\"Saturday\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "condition": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionCondition:ActionRuleSuppressionCondition", "description": "A `condition` block as defined below.\n" }, "description": { "type": "string", "description": "Specifies a description for the Action Rule.\n" }, "enabled": { "type": "boolean", "description": "Is the Action Rule enabled? Defaults to `true`.\n" }, "name": { "type": "string", "description": "Specifies the name of the Monitor Action 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 Action Rule should exist. Changing this forces a new resource to be created.\n" }, "scope": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionScope:ActionRuleSuppressionScope", "description": "A `scope` block as defined below.\n" }, "suppression": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionSuppression:ActionRuleSuppressionSuppression", "description": "A `suppression` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "name", "resourceGroupName", "suppression" ], "inputProperties": { "condition": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionCondition:ActionRuleSuppressionCondition", "description": "A `condition` block as defined below.\n" }, "description": { "type": "string", "description": "Specifies a description for the Action Rule.\n" }, "enabled": { "type": "boolean", "description": "Is the Action Rule enabled? Defaults to `true`.\n" }, "name": { "type": "string", "description": "Specifies the name of the Monitor Action 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 Action Rule should exist. Changing this forces a new resource to be created.\n" }, "scope": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionScope:ActionRuleSuppressionScope", "description": "A `scope` block as defined below.\n" }, "suppression": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionSuppression:ActionRuleSuppressionSuppression", "description": "A `suppression` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "resourceGroupName", "suppression" ], "stateInputs": { "description": "Input properties used for looking up and filtering ActionRuleSuppression resources.\n", "properties": { "condition": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionCondition:ActionRuleSuppressionCondition", "description": "A `condition` block as defined below.\n" }, "description": { "type": "string", "description": "Specifies a description for the Action Rule.\n" }, "enabled": { "type": "boolean", "description": "Is the Action Rule enabled? Defaults to `true`.\n" }, "name": { "type": "string", "description": "Specifies the name of the Monitor Action 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 Action Rule should exist. Changing this forces a new resource to be created.\n" }, "scope": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionScope:ActionRuleSuppressionScope", "description": "A `scope` block as defined below.\n" }, "suppression": { "$ref": "#/types/azure:monitoring/ActionRuleSuppressionSuppression:ActionRuleSuppressionSuppression", "description": "A `suppression` 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:monitoring/activityLogAlert:ActivityLogAlert": { "description": "Manages an Activity Log Alert within Azure Monitor.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst mainResourceGroup = new azure.core.ResourceGroup(\"mainResourceGroup\", {location: \"West US\"});\nconst mainActionGroup = new azure.monitoring.ActionGroup(\"mainActionGroup\", {\n resourceGroupName: mainResourceGroup.name,\n shortName: \"p0action\",\n webhookReceivers: [{\n name: \"callmyapi\",\n serviceUri: \"http://example.com/alert\",\n }],\n});\nconst toMonitor = new azure.storage.Account(\"toMonitor\", {\n resourceGroupName: mainResourceGroup.name,\n location: mainResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst mainActivityLogAlert = new azure.monitoring.ActivityLogAlert(\"mainActivityLogAlert\", {\n resourceGroupName: mainResourceGroup.name,\n scopes: [mainResourceGroup.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: mainActionGroup.id,\n webhookProperties: {\n from: \"source\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nmain_resource_group = azure.core.ResourceGroup(\"mainResourceGroup\", location=\"West US\")\nmain_action_group = azure.monitoring.ActionGroup(\"mainActionGroup\",\n resource_group_name=main_resource_group.name,\n short_name=\"p0action\",\n webhook_receivers=[azure.monitoring.ActionGroupWebhookReceiverArgs(\n name=\"callmyapi\",\n service_uri=\"http://example.com/alert\",\n )])\nto_monitor = azure.storage.Account(\"toMonitor\",\n resource_group_name=main_resource_group.name,\n location=main_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nmain_activity_log_alert = azure.monitoring.ActivityLogAlert(\"mainActivityLogAlert\",\n resource_group_name=main_resource_group.name,\n scopes=[main_resource_group.id],\n description=\"This alert will monitor a specific storage account updates.\",\n criteria=azure.monitoring.ActivityLogAlertCriteriaArgs(\n resource_id=to_monitor.id,\n operation_name=\"Microsoft.Storage/storageAccounts/write\",\n category=\"Recommendation\",\n ),\n actions=[azure.monitoring.ActivityLogAlertActionArgs(\n action_group_id=main_action_group.id,\n webhook_properties={\n \"from\": \"source\",\n },\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var mainResourceGroup = new Azure.Core.ResourceGroup(\"mainResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var mainActionGroup = new Azure.Monitoring.ActionGroup(\"mainActionGroup\", new Azure.Monitoring.ActionGroupArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n ShortName = \"p0action\",\n WebhookReceivers = \n {\n new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs\n {\n Name = \"callmyapi\",\n ServiceUri = \"http://example.com/alert\",\n },\n },\n });\n var toMonitor = new Azure.Storage.Account(\"toMonitor\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n Location = mainResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var mainActivityLogAlert = new Azure.Monitoring.ActivityLogAlert(\"mainActivityLogAlert\", new Azure.Monitoring.ActivityLogAlertArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n Scopes = \n {\n mainResourceGroup.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 = \n {\n new Azure.Monitoring.Inputs.ActivityLogAlertActionArgs\n {\n ActionGroupId = mainActionGroup.Id,\n WebhookProperties = \n {\n { \"from\", \"source\" },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainResourceGroup, err := core.NewResourceGroup(ctx, \"mainResourceGroup\", \u0026core.ResourceGroupArgs{\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\tmainActionGroup, err := monitoring.NewActionGroup(ctx, \"mainActionGroup\", \u0026monitoring.ActionGroupArgs{\n\t\t\tResourceGroupName: mainResourceGroup.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, \"toMonitor\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: mainResourceGroup.Name,\n\t\t\tLocation: mainResourceGroup.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, \"mainActivityLogAlert\", \u0026monitoring.ActivityLogAlertArgs{\n\t\t\tResourceGroupName: mainResourceGroup.Name,\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tmainResourceGroup.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: mainActionGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction" }, "description": "One or more `action` blocks as defined below.\n" }, "criteria": { "$ref": "#/types/azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria", "description": "A `criteria` 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 `true`.\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.\n" }, "scopes": { "type": "array", "items": { "type": "string" }, "description": "The Scope at which the Activity Log should be applied, for example a the Resource ID of a Subscription or a Resource (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", "name", "resourceGroupName", "scopes" ], "inputProperties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/ActivityLogAlertAction:ActivityLogAlertAction" }, "description": "One or more `action` blocks as defined below.\n" }, "criteria": { "$ref": "#/types/azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria", "description": "A `criteria` 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 `true`.\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.\n" }, "scopes": { "type": "array", "items": { "type": "string" }, "description": "The Scope at which the Activity Log should be applied, for example a the Resource ID of a Subscription or a Resource (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 `action` blocks as defined below.\n" }, "criteria": { "$ref": "#/types/azure:monitoring/ActivityLogAlertCriteria:ActivityLogAlertCriteria", "description": "A `criteria` 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 `true`.\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.\n" }, "scopes": { "type": "array", "items": { "type": "string" }, "description": "The Scope at which the Activity Log should be applied, for example a the Resource ID of a Subscription or a Resource (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/autoscaleSetting:AutoscaleSetting": { "description": "Manages a AutoScale Setting which can be applied to Virtual Machine Scale Sets, App Services and other scalable resources.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"exampleScaleSet\", {});\n// ...\nconst exampleAutoscaleSetting = new azure.monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n targetResourceId: exampleScaleSet.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: exampleScaleSet.id,\n timeGrain: \"PT1M\",\n statistic: \"Average\",\n timeWindow: \"PT5M\",\n timeAggregation: \"Average\",\n operator: \"GreaterThan\",\n threshold: 75,\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: exampleScaleSet.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 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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_scale_set = azure.compute.ScaleSet(\"exampleScaleSet\")\n# ...\nexample_autoscale_setting = azure.monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n target_resource_id=example_scale_set.id,\n profiles=[azure.monitoring.AutoscaleSettingProfileArgs(\n name=\"defaultProfile\",\n capacity=azure.monitoring.AutoscaleSettingProfileCapacityArgs(\n default=1,\n minimum=1,\n maximum=10,\n ),\n rules=[\n azure.monitoring.AutoscaleSettingProfileRuleArgs(\n metric_trigger=azure.monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs(\n metric_name=\"Percentage CPU\",\n metric_resource_id=example_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 ),\n scale_action=azure.monitoring.AutoscaleSettingProfileRuleScaleActionArgs(\n direction=\"Increase\",\n type=\"ChangeCount\",\n value=1,\n cooldown=\"PT1M\",\n ),\n ),\n azure.monitoring.AutoscaleSettingProfileRuleArgs(\n metric_trigger=azure.monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs(\n metric_name=\"Percentage CPU\",\n metric_resource_id=example_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=azure.monitoring.AutoscaleSettingProfileRuleScaleActionArgs(\n direction=\"Decrease\",\n type=\"ChangeCount\",\n value=1,\n cooldown=\"PT1M\",\n ),\n ),\n ],\n )],\n notification=azure.monitoring.AutoscaleSettingNotificationArgs(\n email=azure.monitoring.AutoscaleSettingNotificationEmailArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleScaleSet = new Azure.Compute.ScaleSet(\"exampleScaleSet\", new Azure.Compute.ScaleSetArgs\n {\n });\n // ...\n var exampleAutoscaleSetting = new Azure.Monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\", new Azure.Monitoring.AutoscaleSettingArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n TargetResourceId = exampleScaleSet.Id,\n Profiles = \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 = \n {\n new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n {\n MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n {\n MetricName = \"Percentage CPU\",\n MetricResourceId = exampleScaleSet.Id,\n TimeGrain = \"PT1M\",\n Statistic = \"Average\",\n TimeWindow = \"PT5M\",\n TimeAggregation = \"Average\",\n Operator = \"GreaterThan\",\n Threshold = 75,\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 = exampleScaleSet.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 Notification = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationArgs\n {\n Email = new Azure.Monitoring.Inputs.AutoscaleSettingNotificationEmailArgs\n {\n SendToSubscriptionAdministrator = true,\n SendToSubscriptionCoAdministrator = true,\n CustomEmails = \n {\n \"admin@contoso.com\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleScaleSet, err := compute.NewScaleSet(ctx, \"exampleScaleSet\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAutoscaleSetting(ctx, \"exampleAutoscaleSetting\", \u0026monitoring.AutoscaleSettingArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tTargetResourceId: exampleScaleSet.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: exampleScaleSet.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},\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: exampleScaleSet.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\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\n{{% /example %}}\n{{% example %}}\n### Repeating On Weekends)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"exampleScaleSet\", {});\n// ...\nconst exampleAutoscaleSetting = new azure.monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n targetResourceId: exampleScaleSet.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: exampleScaleSet.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: exampleScaleSet.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 frequency: \"Week\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_scale_set = azure.compute.ScaleSet(\"exampleScaleSet\")\n# ...\nexample_autoscale_setting = azure.monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n target_resource_id=example_scale_set.id,\n profiles=[azure.monitoring.AutoscaleSettingProfileArgs(\n name=\"Weekends\",\n capacity=azure.monitoring.AutoscaleSettingProfileCapacityArgs(\n default=1,\n minimum=1,\n maximum=10,\n ),\n rules=[\n azure.monitoring.AutoscaleSettingProfileRuleArgs(\n metric_trigger=azure.monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs(\n metric_name=\"Percentage CPU\",\n metric_resource_id=example_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=azure.monitoring.AutoscaleSettingProfileRuleScaleActionArgs(\n direction=\"Increase\",\n type=\"ChangeCount\",\n value=2,\n cooldown=\"PT1M\",\n ),\n ),\n azure.monitoring.AutoscaleSettingProfileRuleArgs(\n metric_trigger=azure.monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs(\n metric_name=\"Percentage CPU\",\n metric_resource_id=example_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=azure.monitoring.AutoscaleSettingProfileRuleScaleActionArgs(\n direction=\"Decrease\",\n type=\"ChangeCount\",\n value=2,\n cooldown=\"PT1M\",\n ),\n ),\n ],\n recurrence=azure.monitoring.AutoscaleSettingProfileRecurrenceArgs(\n frequency=\"Week\",\n timezone=\"Pacific Standard Time\",\n days=[\n \"Saturday\",\n \"Sunday\",\n ],\n hours=[12],\n minutes=[0],\n ),\n )],\n notification=azure.monitoring.AutoscaleSettingNotificationArgs(\n email=azure.monitoring.AutoscaleSettingNotificationEmailArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleScaleSet = new Azure.Compute.ScaleSet(\"exampleScaleSet\", new Azure.Compute.ScaleSetArgs\n {\n });\n // ...\n var exampleAutoscaleSetting = new Azure.Monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\", new Azure.Monitoring.AutoscaleSettingArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n TargetResourceId = exampleScaleSet.Id,\n Profiles = \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 = \n {\n new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n {\n MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n {\n MetricName = \"Percentage CPU\",\n MetricResourceId = exampleScaleSet.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 = exampleScaleSet.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 Frequency = \"Week\",\n Timezone = \"Pacific Standard Time\",\n Days = \n {\n \"Saturday\",\n \"Sunday\",\n },\n Hours = \n {\n 12,\n },\n Minutes = \n {\n 0,\n },\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 = \n {\n \"admin@contoso.com\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleScaleSet, err := compute.NewScaleSet(ctx, \"exampleScaleSet\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAutoscaleSetting(ctx, \"exampleAutoscaleSetting\", \u0026monitoring.AutoscaleSettingArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tTargetResourceId: exampleScaleSet.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: exampleScaleSet.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: exampleScaleSet.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\tFrequency: pulumi.String(\"Week\"),\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(pulumi.Int{\n\t\t\t\t\t\t\tpulumi.Float64(12),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tMinutes: pulumi.Int(pulumi.Int{\n\t\t\t\t\t\t\tpulumi.Float64(0),\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\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\n{{% /example %}}\n{{% example %}}\n### For Fixed Dates)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleScaleSet = new azure.compute.ScaleSet(\"exampleScaleSet\", {});\n// ...\nconst exampleAutoscaleSetting = new azure.monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\", {\n enabled: true,\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n targetResourceId: exampleScaleSet.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: exampleScaleSet.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: exampleScaleSet.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_scale_set = azure.compute.ScaleSet(\"exampleScaleSet\")\n# ...\nexample_autoscale_setting = azure.monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\",\n enabled=True,\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n target_resource_id=example_scale_set.id,\n profiles=[azure.monitoring.AutoscaleSettingProfileArgs(\n name=\"forJuly\",\n capacity=azure.monitoring.AutoscaleSettingProfileCapacityArgs(\n default=1,\n minimum=1,\n maximum=10,\n ),\n rules=[\n azure.monitoring.AutoscaleSettingProfileRuleArgs(\n metric_trigger=azure.monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs(\n metric_name=\"Percentage CPU\",\n metric_resource_id=example_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=azure.monitoring.AutoscaleSettingProfileRuleScaleActionArgs(\n direction=\"Increase\",\n type=\"ChangeCount\",\n value=2,\n cooldown=\"PT1M\",\n ),\n ),\n azure.monitoring.AutoscaleSettingProfileRuleArgs(\n metric_trigger=azure.monitoring.AutoscaleSettingProfileRuleMetricTriggerArgs(\n metric_name=\"Percentage CPU\",\n metric_resource_id=example_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=azure.monitoring.AutoscaleSettingProfileRuleScaleActionArgs(\n direction=\"Decrease\",\n type=\"ChangeCount\",\n value=2,\n cooldown=\"PT1M\",\n ),\n ),\n ],\n fixed_date=azure.monitoring.AutoscaleSettingProfileFixedDateArgs(\n timezone=\"Pacific Standard Time\",\n start=\"2020-07-01T00:00:00Z\",\n end=\"2020-07-31T23:59:59Z\",\n ),\n )],\n notification=azure.monitoring.AutoscaleSettingNotificationArgs(\n email=azure.monitoring.AutoscaleSettingNotificationEmailArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleScaleSet = new Azure.Compute.ScaleSet(\"exampleScaleSet\", new Azure.Compute.ScaleSetArgs\n {\n });\n // ...\n var exampleAutoscaleSetting = new Azure.Monitoring.AutoscaleSetting(\"exampleAutoscaleSetting\", new Azure.Monitoring.AutoscaleSettingArgs\n {\n Enabled = true,\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n TargetResourceId = exampleScaleSet.Id,\n Profiles = \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 = \n {\n new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleArgs\n {\n MetricTrigger = new Azure.Monitoring.Inputs.AutoscaleSettingProfileRuleMetricTriggerArgs\n {\n MetricName = \"Percentage CPU\",\n MetricResourceId = exampleScaleSet.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 = exampleScaleSet.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 = \n {\n \"admin@contoso.com\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleScaleSet, err := compute.NewScaleSet(ctx, \"exampleScaleSet\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAutoscaleSetting(ctx, \"exampleAutoscaleSetting\", \u0026monitoring.AutoscaleSettingArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tTargetResourceId: exampleScaleSet.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: exampleScaleSet.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: exampleScaleSet.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{{% /example %}}\n{{% /examples %}}", "properties": { "enabled": { "type": "boolean", "description": "Specifies whether automatic scaling is enabled for the target resource. Defaults to `true`.\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 `notification` block as defined below.\n" }, "profiles": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile" }, "description": "Specifies one or more (up to 20) `profile` 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.\n" } }, "required": [ "location", "name", "profiles", "resourceGroupName", "targetResourceId" ], "inputProperties": { "enabled": { "type": "boolean", "description": "Specifies whether automatic scaling is enabled for the target resource. Defaults to `true`.\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 `notification` block as defined below.\n" }, "profiles": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile" }, "description": "Specifies one or more (up to 20) `profile` 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.\n" } }, "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 `true`.\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 `notification` block as defined below.\n" }, "profiles": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/AutoscaleSettingProfile:AutoscaleSettingProfile" }, "description": "Specifies one or more (up to 20) `profile` 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.\n" } }, "type": "object" } }, "azure:monitoring/diagnosticSetting:DiagnosticSetting": { "description": "Manages a Diagnostic Setting for an existing Resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = exampleResourceGroup.name.apply(name =\u003e azure.storage.getAccount({\n name: \"examplestoracc\",\n resourceGroupName: name,\n}));\nconst exampleKeyVault = exampleResourceGroup.name.apply(name =\u003e azure.keyvault.getKeyVault({\n name: \"example-vault\",\n resourceGroupName: name,\n}));\nconst exampleDiagnosticSetting = new azure.monitoring.DiagnosticSetting(\"exampleDiagnosticSetting\", {\n targetResourceId: exampleKeyVault.id,\n storageAccountId: exampleAccount.id,\n logs: [{\n category: \"AuditEvent\",\n enabled: false,\n retentionPolicy: {\n enabled: false,\n },\n }],\n metrics: [{\n category: \"AllMetrics\",\n retentionPolicy: {\n enabled: false,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = example_resource_group.name.apply(lambda name: azure.storage.get_account(name=\"examplestoracc\",\n resource_group_name=name))\nexample_key_vault = example_resource_group.name.apply(lambda name: azure.keyvault.get_key_vault(name=\"example-vault\",\n resource_group_name=name))\nexample_diagnostic_setting = azure.monitoring.DiagnosticSetting(\"exampleDiagnosticSetting\",\n target_resource_id=example_key_vault.id,\n storage_account_id=example_account.id,\n logs=[azure.monitoring.DiagnosticSettingLogArgs(\n category=\"AuditEvent\",\n enabled=False,\n retention_policy={\n \"enabled\": False,\n },\n )],\n metrics=[azure.monitoring.DiagnosticSettingMetricArgs(\n category=\"AllMetrics\",\n retention_policy={\n \"enabled\": False,\n },\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = exampleResourceGroup.Name.Apply(name =\u003e Azure.Storage.GetAccount.InvokeAsync(new Azure.Storage.GetAccountArgs\n {\n Name = \"examplestoracc\",\n ResourceGroupName = name,\n }));\n var exampleKeyVault = exampleResourceGroup.Name.Apply(name =\u003e Azure.KeyVault.GetKeyVault.InvokeAsync(new Azure.KeyVault.GetKeyVaultArgs\n {\n Name = \"example-vault\",\n ResourceGroupName = name,\n }));\n var exampleDiagnosticSetting = new Azure.Monitoring.DiagnosticSetting(\"exampleDiagnosticSetting\", new Azure.Monitoring.DiagnosticSettingArgs\n {\n TargetResourceId = exampleKeyVault.Apply(exampleKeyVault =\u003e exampleKeyVault.Id),\n StorageAccountId = exampleAccount.Apply(exampleAccount =\u003e exampleAccount.Id),\n Logs = \n {\n new Azure.Monitoring.Inputs.DiagnosticSettingLogArgs\n {\n Category = \"AuditEvent\",\n Enabled = false,\n RetentionPolicy = new Azure.Monitoring.Inputs.DiagnosticSettingLogRetentionPolicyArgs\n {\n Enabled = false,\n },\n },\n },\n Metrics = \n {\n new Azure.Monitoring.Inputs.DiagnosticSettingMetricArgs\n {\n Category = \"AllMetrics\",\n RetentionPolicy = new Azure.Monitoring.Inputs.DiagnosticSettingMetricRetentionPolicyArgs\n {\n Enabled = false,\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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.NewDiagnosticSetting(ctx, \"exampleDiagnosticSetting\", \u0026monitoring.DiagnosticSettingArgs{\n\t\t\tTargetResourceId: exampleKeyVault.ApplyT(func(exampleKeyVault keyvault.LookupKeyVaultResult) (string, error) {\n\t\t\t\treturn exampleKeyVault.Id, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountId: exampleAccount.ApplyT(func(exampleAccount storage.LookupAccountResult) (string, error) {\n\t\t\t\treturn exampleAccount.Id, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tLogs: monitoring.DiagnosticSettingLogArray{\n\t\t\t\t\u0026monitoring.DiagnosticSettingLogArgs{\n\t\t\t\t\tCategory: pulumi.String(\"AuditEvent\"),\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\tRetentionPolicy: \u0026monitoring.DiagnosticSettingLogRetentionPolicyArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetrics: monitoring.DiagnosticSettingMetricArray{\n\t\t\t\t\u0026monitoring.DiagnosticSettingMetricArgs{\n\t\t\t\t\tCategory: pulumi.String(\"AllMetrics\"),\n\t\t\t\t\tRetentionPolicy: \u0026monitoring.DiagnosticSettingMetricRetentionPolicyArgs{\n\t\t\t\t\t\tEnabled: pulumi.Bool(false),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "eventhubName": { "type": "string", "description": "Specifies the name of the Event Hub where Diagnostics Data should be sent. Changing this forces a new resource to be created.\n" }, "logAnalyticsDestinationType": { "type": "string", "description": "When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.\n" }, "logAnalyticsWorkspaceId": { "type": "string", "description": "Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent. Changing this forces a new resource to be created.\n" }, "logs": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/DiagnosticSettingLog:DiagnosticSettingLog" }, "description": "One or more `log` blocks as defined below.\n" }, "metrics": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric" }, "description": "One or more `metric` blocks as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Diagnostic Setting. Changing this forces a new resource 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" }, "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": [ "name", "targetResourceId" ], "inputProperties": { "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" }, "eventhubName": { "type": "string", "description": "Specifies the name of the Event Hub where Diagnostics Data should be sent. Changing this forces a new resource to be created.\n" }, "logAnalyticsDestinationType": { "type": "string", "description": "When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.\n" }, "logAnalyticsWorkspaceId": { "type": "string", "description": "Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent. Changing this forces a new resource to be created.\n" }, "logs": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/DiagnosticSettingLog:DiagnosticSettingLog" }, "description": "One or more `log` blocks as defined below.\n" }, "metrics": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric" }, "description": "One or more `metric` blocks as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Diagnostic Setting. Changing this forces a new resource 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" }, "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" } }, "requiredInputs": [ "targetResourceId" ], "stateInputs": { "description": "Input properties used for looking up and filtering DiagnosticSetting resources.\n", "properties": { "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" }, "eventhubName": { "type": "string", "description": "Specifies the name of the Event Hub where Diagnostics Data should be sent. Changing this forces a new resource to be created.\n" }, "logAnalyticsDestinationType": { "type": "string", "description": "When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.\n" }, "logAnalyticsWorkspaceId": { "type": "string", "description": "Specifies the ID of a Log Analytics Workspace where Diagnostics Data should be sent. Changing this forces a new resource to be created.\n" }, "logs": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/DiagnosticSettingLog:DiagnosticSettingLog" }, "description": "One or more `log` blocks as defined below.\n" }, "metrics": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/DiagnosticSettingMetric:DiagnosticSettingMetric" }, "description": "One or more `metric` blocks as defined below.\n" }, "name": { "type": "string", "description": "Specifies the name of the Diagnostic Setting. Changing this forces a new resource 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" }, "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" } }, "type": "object" } }, "azure:monitoring/logProfile:LogProfile": { "description": "Manages a [Log Profile](https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-overview-activity-logs#export-the-activity-log-with-a-log-profile). A Log Profile configures how Activity Logs are exported.\n\n\u003e **NOTE:** It's only possible to configure one Log Profile per Subscription. If you are trying to create more than one Log Profile, an error with `StatusCode=409` will occur.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"eastus\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n capacity: 2,\n});\nconst exampleLogProfile = new azure.monitoring.LogProfile(\"exampleLogProfile\", {\n categories: [\n \"Action\",\n \"Delete\",\n \"Write\",\n ],\n locations: [\n \"westus\",\n \"global\",\n ],\n servicebusRuleId: pulumi.interpolate`${exampleEventHubNamespace.id}/authorizationrules/RootManageSharedAccessKey`,\n storageAccountId: exampleAccount.id,\n retentionPolicy: {\n enabled: true,\n days: 7,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n capacity=2)\nexample_log_profile = azure.monitoring.LogProfile(\"exampleLogProfile\",\n categories=[\n \"Action\",\n \"Delete\",\n \"Write\",\n ],\n locations=[\n \"westus\",\n \"global\",\n ],\n servicebus_rule_id=example_event_hub_namespace.id.apply(lambda id: f\"{id}/authorizationrules/RootManageSharedAccessKey\"),\n storage_account_id=example_account.id,\n retention_policy=azure.monitoring.LogProfileRetentionPolicyArgs(\n enabled=True,\n days=7,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Capacity = 2,\n });\n var exampleLogProfile = new Azure.Monitoring.LogProfile(\"exampleLogProfile\", new Azure.Monitoring.LogProfileArgs\n {\n Categories = \n {\n \"Action\",\n \"Delete\",\n \"Write\",\n },\n Locations = \n {\n \"westus\",\n \"global\",\n },\n ServicebusRuleId = exampleEventHubNamespace.Id.Apply(id =\u003e $\"{id}/authorizationrules/RootManageSharedAccessKey\"),\n StorageAccountId = exampleAccount.Id,\n RetentionPolicy = new Azure.Monitoring.Inputs.LogProfileRetentionPolicyArgs\n {\n Enabled = true,\n Days = 7,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\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(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewLogProfile(ctx, \"exampleLogProfile\", \u0026monitoring.LogProfileArgs{\n\t\t\tCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Action\"),\n\t\t\t\tpulumi.String(\"Delete\"),\n\t\t\t\tpulumi.String(\"Write\"),\n\t\t\t},\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"westus\"),\n\t\t\t\tpulumi.String(\"global\"),\n\t\t\t},\n\t\t\tServicebusRuleId: exampleEventHubNamespace.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v%v\", id, \"/authorizationrules/RootManageSharedAccessKey\"), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountId: exampleAccount.ID(),\n\t\t\tRetentionPolicy: \u0026monitoring.LogProfileRetentionPolicyArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tDays: 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{{% /example %}}\n{{% /examples %}}", "properties": { "categories": { "type": "array", "items": { "type": "string" }, "description": "List of categories of the logs.\n" }, "locations": { "type": "array", "items": { "type": "string" }, "description": "List of regions for which Activity Log events are stored or streamed.\n" }, "name": { "type": "string", "description": "The name of the Log Profile. Changing this forces a\nnew resource to be created.\n" }, "retentionPolicy": { "$ref": "#/types/azure:monitoring/LogProfileRetentionPolicy:LogProfileRetentionPolicy", "description": "A `retention_policy` block as documented below. A retention policy for how long Activity Logs are retained in the storage account.\n" }, "servicebusRuleId": { "type": "string", "description": "The service bus (or event hub) rule ID of the service bus (or event hub) namespace in which the Activity Log is streamed to. At least one of `storage_account_id` or `servicebus_rule_id` must be set.\n" }, "storageAccountId": { "type": "string", "description": "The resource ID of the storage account in which the Activity Log is stored. At least one of `storage_account_id` or `servicebus_rule_id` must be set.\n" } }, "required": [ "categories", "locations", "name", "retentionPolicy" ], "inputProperties": { "categories": { "type": "array", "items": { "type": "string" }, "description": "List of categories of the logs.\n" }, "locations": { "type": "array", "items": { "type": "string" }, "description": "List of regions for which Activity Log events are stored or streamed.\n" }, "name": { "type": "string", "description": "The name of the Log Profile. Changing this forces a\nnew resource to be created.\n" }, "retentionPolicy": { "$ref": "#/types/azure:monitoring/LogProfileRetentionPolicy:LogProfileRetentionPolicy", "description": "A `retention_policy` block as documented below. A retention policy for how long Activity Logs are retained in the storage account.\n" }, "servicebusRuleId": { "type": "string", "description": "The service bus (or event hub) rule ID of the service bus (or event hub) namespace in which the Activity Log is streamed to. At least one of `storage_account_id` or `servicebus_rule_id` must be set.\n" }, "storageAccountId": { "type": "string", "description": "The resource ID of the storage account in which the Activity Log is stored. At least one of `storage_account_id` or `servicebus_rule_id` must be set.\n" } }, "requiredInputs": [ "categories", "locations", "retentionPolicy" ], "stateInputs": { "description": "Input properties used for looking up and filtering LogProfile resources.\n", "properties": { "categories": { "type": "array", "items": { "type": "string" }, "description": "List of categories of the logs.\n" }, "locations": { "type": "array", "items": { "type": "string" }, "description": "List of regions for which Activity Log events are stored or streamed.\n" }, "name": { "type": "string", "description": "The name of the Log Profile. Changing this forces a\nnew resource to be created.\n" }, "retentionPolicy": { "$ref": "#/types/azure:monitoring/LogProfileRetentionPolicy:LogProfileRetentionPolicy", "description": "A `retention_policy` block as documented below. A retention policy for how long Activity Logs are retained in the storage account.\n" }, "servicebusRuleId": { "type": "string", "description": "The service bus (or event hub) rule ID of the service bus (or event hub) namespace in which the Activity Log is streamed to. At least one of `storage_account_id` or `servicebus_rule_id` must be set.\n" }, "storageAccountId": { "type": "string", "description": "The resource ID of the storage account in which the Activity Log is stored. At least one of `storage_account_id` or `servicebus_rule_id` must be set.\n" } }, "type": "object" } }, "azure:monitoring/metricAlert:MetricAlert": { "description": "Manages a Metric Alert within Azure Monitor.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst mainResourceGroup = new azure.core.ResourceGroup(\"mainResourceGroup\", {location: \"West US\"});\nconst toMonitor = new azure.storage.Account(\"toMonitor\", {\n resourceGroupName: mainResourceGroup.name,\n location: mainResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst mainActionGroup = new azure.monitoring.ActionGroup(\"mainActionGroup\", {\n resourceGroupName: mainResourceGroup.name,\n shortName: \"exampleact\",\n webhookReceivers: [{\n name: \"callmyapi\",\n serviceUri: \"http://example.com/alert\",\n }],\n});\nconst example = new azure.monitoring.MetricAlert(\"example\", {\n resourceGroupName: mainResourceGroup.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: mainActionGroup.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nmain_resource_group = azure.core.ResourceGroup(\"mainResourceGroup\", location=\"West US\")\nto_monitor = azure.storage.Account(\"toMonitor\",\n resource_group_name=main_resource_group.name,\n location=main_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nmain_action_group = azure.monitoring.ActionGroup(\"mainActionGroup\",\n resource_group_name=main_resource_group.name,\n short_name=\"exampleact\",\n webhook_receivers=[azure.monitoring.ActionGroupWebhookReceiverArgs(\n name=\"callmyapi\",\n service_uri=\"http://example.com/alert\",\n )])\nexample = azure.monitoring.MetricAlert(\"example\",\n resource_group_name=main_resource_group.name,\n scopes=[to_monitor.id],\n description=\"Action will be triggered when Transactions count is greater than 50.\",\n criterias=[azure.monitoring.MetricAlertCriteriaArgs(\n metric_namespace=\"Microsoft.Storage/storageAccounts\",\n metric_name=\"Transactions\",\n aggregation=\"Total\",\n operator=\"GreaterThan\",\n threshold=50,\n dimensions=[azure.monitoring.MetricAlertCriteriaDimensionArgs(\n name=\"ApiName\",\n operator=\"Include\",\n values=[\"*\"],\n )],\n )],\n actions=[azure.monitoring.MetricAlertActionArgs(\n action_group_id=main_action_group.id,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var mainResourceGroup = new Azure.Core.ResourceGroup(\"mainResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var toMonitor = new Azure.Storage.Account(\"toMonitor\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n Location = mainResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var mainActionGroup = new Azure.Monitoring.ActionGroup(\"mainActionGroup\", new Azure.Monitoring.ActionGroupArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n ShortName = \"exampleact\",\n WebhookReceivers = \n {\n new Azure.Monitoring.Inputs.ActionGroupWebhookReceiverArgs\n {\n Name = \"callmyapi\",\n ServiceUri = \"http://example.com/alert\",\n },\n },\n });\n var example = new Azure.Monitoring.MetricAlert(\"example\", new Azure.Monitoring.MetricAlertArgs\n {\n ResourceGroupName = mainResourceGroup.Name,\n Scopes = \n {\n toMonitor.Id,\n },\n Description = \"Action will be triggered when Transactions count is greater than 50.\",\n Criterias = \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 = \n {\n new Azure.Monitoring.Inputs.MetricAlertCriteriaDimensionArgs\n {\n Name = \"ApiName\",\n Operator = \"Include\",\n Values = \n {\n \"*\",\n },\n },\n },\n },\n },\n Actions = \n {\n new Azure.Monitoring.Inputs.MetricAlertActionArgs\n {\n ActionGroupId = mainActionGroup.Id,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmainResourceGroup, err := core.NewResourceGroup(ctx, \"mainResourceGroup\", \u0026core.ResourceGroupArgs{\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\ttoMonitor, err := storage.NewAccount(ctx, \"toMonitor\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: mainResourceGroup.Name,\n\t\t\tLocation: mainResourceGroup.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\tmainActionGroup, err := monitoring.NewActionGroup(ctx, \"mainActionGroup\", \u0026monitoring.ActionGroupArgs{\n\t\t\tResourceGroupName: mainResourceGroup.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\tResourceGroupName: mainResourceGroup.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: mainActionGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "actions": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/MetricAlertAction:MetricAlertAction" }, "description": "One or more `action` blocks as defined below.\n" }, "applicationInsightsWebTestLocationAvailabilityCriteria": { "$ref": "#/types/azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria", "description": "A `application_insights_web_test_location_availability_criteria` block as defined below.\n" }, "autoMitigate": { "type": "boolean", "description": "Should the alerts in this Metric Alert be auto resolved? Defaults to `true`.\n" }, "criterias": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/MetricAlertCriteria:MetricAlertCriteria" }, "description": "One or more (static) `criteria` blocks as defined below.\n" }, "description": { "type": "string", "description": "The description of this Metric Alert.\n" }, "dynamicCriteria": { "$ref": "#/types/azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria", "description": "A `dynamic_criteria` block as defined below.\n" }, "enabled": { "type": "boolean", "description": "Should this Metric Alert be enabled? Defaults to `true`.\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.\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 `0`, `1`, `2`, `3` and `4`. Defaults to `3`.\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" }, "targetResourceType": { "type": "string", "description": "The resource type (e.g. `Microsoft.Compute/virtualMachines`) of the target resource.\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 `frequency`. 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 `action` blocks as defined below.\n" }, "applicationInsightsWebTestLocationAvailabilityCriteria": { "$ref": "#/types/azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria", "description": "A `application_insights_web_test_location_availability_criteria` block as defined below.\n" }, "autoMitigate": { "type": "boolean", "description": "Should the alerts in this Metric Alert be auto resolved? Defaults to `true`.\n" }, "criterias": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/MetricAlertCriteria:MetricAlertCriteria" }, "description": "One or more (static) `criteria` blocks as defined below.\n" }, "description": { "type": "string", "description": "The description of this Metric Alert.\n" }, "dynamicCriteria": { "$ref": "#/types/azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria", "description": "A `dynamic_criteria` block as defined below.\n" }, "enabled": { "type": "boolean", "description": "Should this Metric Alert be enabled? Defaults to `true`.\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.\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 `0`, `1`, `2`, `3` and `4`. Defaults to `3`.\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" }, "targetResourceType": { "type": "string", "description": "The resource type (e.g. `Microsoft.Compute/virtualMachines`) of the target resource.\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 `frequency`. 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 `action` blocks as defined below.\n" }, "applicationInsightsWebTestLocationAvailabilityCriteria": { "$ref": "#/types/azure:monitoring/MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria:MetricAlertApplicationInsightsWebTestLocationAvailabilityCriteria", "description": "A `application_insights_web_test_location_availability_criteria` block as defined below.\n" }, "autoMitigate": { "type": "boolean", "description": "Should the alerts in this Metric Alert be auto resolved? Defaults to `true`.\n" }, "criterias": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/MetricAlertCriteria:MetricAlertCriteria" }, "description": "One or more (static) `criteria` blocks as defined below.\n" }, "description": { "type": "string", "description": "The description of this Metric Alert.\n" }, "dynamicCriteria": { "$ref": "#/types/azure:monitoring/MetricAlertDynamicCriteria:MetricAlertDynamicCriteria", "description": "A `dynamic_criteria` block as defined below.\n" }, "enabled": { "type": "boolean", "description": "Should this Metric Alert be enabled? Defaults to `true`.\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.\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 `0`, `1`, `2`, `3` and `4`. Defaults to `3`.\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" }, "targetResourceType": { "type": "string", "description": "The resource type (e.g. `Microsoft.Compute/virtualMachines`) of the target resource.\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 `frequency`. Possible values are `PT1M`, `PT5M`, `PT15M`, `PT30M`, `PT1H`, `PT6H`, `PT12H` and `P1D`. Defaults to `PT5M`.\n" } }, "type": "object" } }, "azure:monitoring/scheduledQueryRulesAlert:ScheduledQueryRulesAlert": { "description": "Manages an AlertingAction Scheduled Query Rules resource within Azure Monitor.\n", "properties": { "action": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesAlertAction:ScheduledQueryRulesAlertAction", "description": "An `action` block as defined below.\n" }, "authorizedResourceIds": { "type": "array", "items": { "type": "string" }, "description": "List of Resource IDs referred into query.\n" }, "dataSourceId": { "type": "string", "description": "The resource URI over which log search query is to be run.\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 `true`.\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" }, "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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the scheduled query rule instance.\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" } }, "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 `frequency`). Values must be between 5 and 2880 (inclusive).\n" }, "trigger": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger", "description": "The condition that results in the alert rule being run.\n" } }, "required": [ "action", "dataSourceId", "frequency", "location", "name", "query", "resourceGroupName", "timeWindow", "trigger" ], "inputProperties": { "action": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesAlertAction:ScheduledQueryRulesAlertAction", "description": "An `action` block as defined below.\n" }, "authorizedResourceIds": { "type": "array", "items": { "type": "string" }, "description": "List of Resource IDs referred into query.\n" }, "dataSourceId": { "type": "string", "description": "The resource URI over which log search query is to be run.\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 `true`.\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" }, "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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the scheduled query rule instance.\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" } }, "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 `frequency`). Values must be between 5 and 2880 (inclusive).\n" }, "trigger": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger", "description": "The condition that results in the alert rule being run.\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 `action` block as defined below.\n" }, "authorizedResourceIds": { "type": "array", "items": { "type": "string" }, "description": "List of Resource IDs referred into query.\n" }, "dataSourceId": { "type": "string", "description": "The resource URI over which log search query is to be run.\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 `true`.\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" }, "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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the scheduled query rule instance.\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" } }, "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 `frequency`). Values must be between 5 and 2880 (inclusive).\n" }, "trigger": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesAlertTrigger:ScheduledQueryRulesAlertTrigger", "description": "The condition that results in the alert rule being run.\n" } }, "type": "object" } }, "azure:monitoring/scheduledQueryRulesLog:ScheduledQueryRulesLog": { "description": "Manages a LogToMetricAction Scheduled Query Rules resource within Azure Monitor.\n", "properties": { "authorizedResourceIds": { "type": "array", "items": { "type": "string" } }, "criteria": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria", "description": "A `criteria` block as defined below.\n" }, "dataSourceId": { "type": "string", "description": "The resource uri over which log search query is to be run.\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 `true`.\n" }, "location": { "type": "string" }, "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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "criteria", "dataSourceId", "location", "name", "resourceGroupName" ], "inputProperties": { "authorizedResourceIds": { "type": "array", "items": { "type": "string" } }, "criteria": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria", "description": "A `criteria` block as defined below.\n" }, "dataSourceId": { "type": "string", "description": "The resource uri over which log search query is to be run.\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 `true`.\n" }, "location": { "type": "string" }, "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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "requiredInputs": [ "criteria", "dataSourceId", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering ScheduledQueryRulesLog resources.\n", "properties": { "authorizedResourceIds": { "type": "array", "items": { "type": "string" } }, "criteria": { "$ref": "#/types/azure:monitoring/ScheduledQueryRulesLogCriteria:ScheduledQueryRulesLogCriteria", "description": "A `criteria` block as defined below.\n" }, "dataSourceId": { "type": "string", "description": "The resource uri over which log search query is to be run.\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 `true`.\n" }, "location": { "type": "string" }, "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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object" } }, "azure:msi/userAssignedIdentity:UserAssignedIdentity": { "description": "Manages a user assigned identity.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"eastus\"});\nconst exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus\")\nexample_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"exampleUserAssignedIdentity\", new Azure.Authorization.UserAssignedIdentityArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = authorization.NewUserAssignedIdentity(ctx, \"exampleUserAssignedIdentity\", \u0026authorization.UserAssignedIdentityArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "clientId": { "type": "string", "description": "Client ID associated with the user assigned identity.\n" }, "location": { "type": "string", "description": "The location/region where the user assigned identity is\ncreated.\n" }, "name": { "type": "string", "description": "The name of the user assigned identity. Changing this forces a\nnew identity to be created.\n" }, "principalId": { "type": "string", "description": "Service Principal ID associated with the user assigned identity.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the user assigned identity.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "clientId", "location", "name", "principalId", "resourceGroupName" ], "inputProperties": { "location": { "type": "string", "description": "The location/region where the user assigned identity is\ncreated.\n" }, "name": { "type": "string", "description": "The name of the user assigned identity. Changing this forces a\nnew identity to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the user assigned identity.\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 UserAssignedIdentity resources.\n", "properties": { "clientId": { "type": "string", "description": "Client ID associated with the user assigned identity.\n" }, "location": { "type": "string", "description": "The location/region where the user assigned identity is\ncreated.\n" }, "name": { "type": "string", "description": "The name of the user assigned identity. Changing this forces a\nnew identity to be created.\n" }, "principalId": { "type": "string", "description": "Service Principal ID associated with the user assigned identity.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the user assigned identity.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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:** The Database Extended Auditing Policy Can be set inline here as well as with the mssql_database_extended_auditing_policy resource resource. You can only use one or the other and using both will cause a conflict.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst test = new azure.mssql.Database(\"test\", {\n serverId: exampleSqlServer.id,\n collation: \"SQL_Latin1_General_CP1_CI_AS\",\n licenseType: \"LicenseIncluded\",\n maxSizeGb: 4,\n readScale: true,\n skuName: \"BC_Gen5_2\",\n zoneRedundant: true,\n extendedAuditingPolicy: {\n storageEndpoint: exampleAccount.primaryBlobEndpoint,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n storageAccountAccessKeyIsSecondary: true,\n retentionInDays: 6,\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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\")\ntest = azure.mssql.Database(\"test\",\n server_id=example_sql_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=\"BC_Gen5_2\",\n zone_redundant=True,\n extended_auditing_policy=azure.mssql.DatabaseExtendedAuditingPolicyArgs(\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=True,\n retention_in_days=6,\n ),\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var test = new Azure.MSSql.Database(\"test\", new Azure.MSSql.DatabaseArgs\n {\n ServerId = exampleSqlServer.Id,\n Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n LicenseType = \"LicenseIncluded\",\n MaxSizeGb = 4,\n ReadScale = true,\n SkuName = \"BC_Gen5_2\",\n ZoneRedundant = true,\n ExtendedAuditingPolicy = new Azure.MSSql.Inputs.DatabaseExtendedAuditingPolicyArgs\n {\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n StorageAccountAccessKeyIsSecondary = true,\n RetentionInDays = 6,\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\t_, err = mssql.NewDatabase(ctx, \"test\", \u0026mssql.DatabaseArgs{\n\t\t\tServerId: exampleSqlServer.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.Int(4),\n\t\t\tReadScale: pulumi.Bool(true),\n\t\t\tSkuName: pulumi.String(\"BC_Gen5_2\"),\n\t\t\tZoneRedundant: pulumi.Bool(true),\n\t\t\tExtendedAuditingPolicy: \u0026mssql.DatabaseExtendedAuditingPolicyArgs{\n\t\t\t\tStorageEndpoint: exampleAccount.PrimaryBlobEndpoint,\n\t\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(true),\n\t\t\t\tRetentionInDays: pulumi.Int(6),\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{{% /example %}}\n{{% /examples %}}", "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 General Purpose 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`.\n" }, "creationSourceDatabaseId": { "type": "string", "description": "The id of the source database to be referred to create the new database. This should only be used for databases with `create_mode` values that use another database as reference. Changing this forces a new resource to be created.\n" }, "elasticPoolId": { "type": "string", "description": "Specifies the ID of the elastic pool containing this database.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:mssql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "licenseType": { "type": "string", "description": "Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n" }, "maxSizeGb": { "type": "integer", "description": "The max size of the database in gigabytes.\n" }, "minCapacity": { "type": "number", "description": "Minimal capacity that database will always have allocated, if not paused. This property is only settable for General Purpose 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 `create_mode` is `Recovery`.\n" }, "restoreDroppedDatabaseId": { "type": "string", "description": "The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`.\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 `create_mode`= `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" }, "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" }, "skuName": { "type": "string", "description": "Specifies the name of the sku used by the database. Only changing this from tier `Hyperscale` to another tier will force a new resource to be created. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`.\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 `threat_detection_policy` block supports fields documented below.\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", "createMode", "creationSourceDatabaseId", "extendedAuditingPolicy", "licenseType", "maxSizeGb", "minCapacity", "name", "readReplicaCount", "readScale", "restorePointInTime", "sampleName", "serverId", "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 General Purpose 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`.\n" }, "creationSourceDatabaseId": { "type": "string", "description": "The id of the source database to be referred to create the new database. This should only be used for databases with `create_mode` values that use another database as reference. Changing this forces a new resource to be created.\n" }, "elasticPoolId": { "type": "string", "description": "Specifies the ID of the elastic pool containing this database.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:mssql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "licenseType": { "type": "string", "description": "Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n" }, "maxSizeGb": { "type": "integer", "description": "The max size of the database in gigabytes.\n" }, "minCapacity": { "type": "number", "description": "Minimal capacity that database will always have allocated, if not paused. This property is only settable for General Purpose 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 `create_mode` is `Recovery`.\n" }, "restoreDroppedDatabaseId": { "type": "string", "description": "The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`.\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 `create_mode`= `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" }, "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" }, "skuName": { "type": "string", "description": "Specifies the name of the sku used by the database. Only changing this from tier `Hyperscale` to another tier will force a new resource to be created. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`.\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 `threat_detection_policy` block supports fields documented below.\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 General Purpose 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`.\n" }, "creationSourceDatabaseId": { "type": "string", "description": "The id of the source database to be referred to create the new database. This should only be used for databases with `create_mode` values that use another database as reference. Changing this forces a new resource to be created.\n" }, "elasticPoolId": { "type": "string", "description": "Specifies the ID of the elastic pool containing this database.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:mssql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "licenseType": { "type": "string", "description": "Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.\n" }, "maxSizeGb": { "type": "integer", "description": "The max size of the database in gigabytes.\n" }, "minCapacity": { "type": "number", "description": "Minimal capacity that database will always have allocated, if not paused. This property is only settable for General Purpose 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 `create_mode` is `Recovery`.\n" }, "restoreDroppedDatabaseId": { "type": "string", "description": "The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`.\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 `create_mode`= `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" }, "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" }, "skuName": { "type": "string", "description": "Specifies the name of the sku used by the database. Only changing this from tier `Hyperscale` to another tier will force a new resource to be created. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`.\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 `threat_detection_policy` block supports fields documented below.\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" } }, "azure:mssql/databaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy": { "description": "Manages a Ms Sql Database Extended Auditing Policy.\n\n\u003e **NOTE:** The Database Extended Auditing Policy Can be set inline here as well as with the mssql_database_extended_auditing_policy resource resource. You can only use one or the other and using both will cause a conflict.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mssql.Server(\"exampleServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"missadministrator\",\n administratorLoginPassword: \"AdminPassword123!\",\n});\nconst exampleDatabase = new azure.mssql.Database(\"exampleDatabase\", {serverId: exampleServer.id});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleDatabaseExtendedAuditingPolicy = new azure.mssql.DatabaseExtendedAuditingPolicy(\"exampleDatabaseExtendedAuditingPolicy\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mssql.Server(\"exampleServer\",\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!\")\nexample_database = azure.mssql.Database(\"exampleDatabase\", server_id=example_server.id)\nexample_account = azure.storage.Account(\"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_database_extended_auditing_policy = azure.mssql.DatabaseExtendedAuditingPolicy(\"exampleDatabaseExtendedAuditingPolicy\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MSSql.Server(\"exampleServer\", new Azure.MSSql.ServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"missadministrator\",\n AdministratorLoginPassword = \"AdminPassword123!\",\n });\n var exampleDatabase = new Azure.MSSql.Database(\"exampleDatabase\", new Azure.MSSql.DatabaseArgs\n {\n ServerId = exampleServer.Id,\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleDatabaseExtendedAuditingPolicy = new Azure.MSSql.DatabaseExtendedAuditingPolicy(\"exampleDatabaseExtendedAuditingPolicy\", new Azure.MSSql.DatabaseExtendedAuditingPolicyArgs\n {\n DatabaseId = exampleDatabase.Id,\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n StorageAccountAccessKeyIsSecondary = false,\n RetentionInDays = 6,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", \u0026mssql.ServerArgs{\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := mssql.NewDatabase(ctx, \"exampleDatabase\", \u0026mssql.DatabaseArgs{\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, \"exampleAccount\", \u0026storage.AccountArgs{\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 = mssql.NewDatabaseExtendedAuditingPolicy(ctx, \"exampleDatabaseExtendedAuditingPolicy\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for in the storage account.\n" }, "storageAccountAccessKey": { "type": "string", "description": "The access key to use for the auditing storage account.\n" }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Is `storage_account_access_key` value the storage's secondary key?\n" }, "storageEndpoint": { "type": "string", "description": "The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.\n" } }, "required": [ "databaseId", "storageEndpoint" ], "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" }, "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for in the storage account.\n" }, "storageAccountAccessKey": { "type": "string", "description": "The access key to use for the auditing storage account.\n" }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Is `storage_account_access_key` value the storage's secondary key?\n" }, "storageEndpoint": { "type": "string", "description": "The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.\n" } }, "requiredInputs": [ "databaseId", "storageEndpoint" ], "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" }, "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for in the storage account.\n" }, "storageAccountAccessKey": { "type": "string", "description": "The access key to use for the auditing storage account.\n" }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Is `storage_account_access_key` value the storage's secondary key?\n" }, "storageEndpoint": { "type": "string", "description": "The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleSqlServer.name,\n state: \"Enabled\",\n});\nconst exampleDatabase = new azure.sql.Database(\"exampleDatabase\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleSqlServer.name,\n location: exampleResourceGroup.location,\n edition: \"Standard\",\n});\nconst exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", {\n serverSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.id,\n storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n});\nconst exampleDatabaseVulnerabilityAssessmentRuleBaseline = new azure.mssql.DatabaseVulnerabilityAssessmentRuleBaseline(\"exampleDatabaseVulnerabilityAssessmentRuleBaseline\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\",\n resource_group_name=example_resource_group.name,\n server_name=example_sql_server.name,\n state=\"Enabled\")\nexample_database = azure.sql.Database(\"exampleDatabase\",\n resource_group_name=example_resource_group.name,\n server_name=example_sql_server.name,\n location=example_resource_group.location,\n edition=\"Standard\")\nexample_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\",\n server_security_alert_policy_id=example_server_security_alert_policy.id,\n storage_container_path=pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f\"{primary_blob_endpoint}{name}/\"),\n storage_account_access_key=example_account.primary_access_key)\nexample_database_vulnerability_assessment_rule_baseline = azure.mssql.DatabaseVulnerabilityAssessmentRuleBaseline(\"exampleDatabaseVulnerabilityAssessmentRuleBaseline\",\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 azure.mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs(\n results=[\n \"allowedip1\",\n \"123.123.123.123\",\n \"123.123.123.123\",\n ],\n ),\n azure.mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs(\n results=[\n \"allowedip2\",\n \"255.255.255.255\",\n \"255.255.255.255\",\n ],\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", new Azure.MSSql.ServerSecurityAlertPolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleSqlServer.Name,\n State = \"Enabled\",\n });\n var exampleDatabase = new Azure.Sql.Database(\"exampleDatabase\", new Azure.Sql.DatabaseArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleSqlServer.Name,\n Location = exampleResourceGroup.Location,\n Edition = \"Standard\",\n });\n var exampleServerVulnerabilityAssessment = new Azure.MSSql.ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", new Azure.MSSql.ServerVulnerabilityAssessmentArgs\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 var exampleDatabaseVulnerabilityAssessmentRuleBaseline = new Azure.MSSql.DatabaseVulnerabilityAssessmentRuleBaseline(\"exampleDatabaseVulnerabilityAssessmentRuleBaseline\", new Azure.MSSql.DatabaseVulnerabilityAssessmentRuleBaselineArgs\n {\n ServerVulnerabilityAssessmentId = exampleServerVulnerabilityAssessment.Id,\n DatabaseName = exampleDatabase.Name,\n RuleId = \"VA2065\",\n BaselineName = \"master\",\n BaselineResults = \n {\n new Azure.MSSql.Inputs.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs\n {\n Results = \n {\n \"allowedip1\",\n \"123.123.123.123\",\n \"123.123.123.123\",\n },\n },\n new Azure.MSSql.Inputs.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs\n {\n Results = \n {\n \"allowedip2\",\n \"255.255.255.255\",\n \"255.255.255.255\",\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/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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\texampleContainer, err := storage.NewContainer(ctx, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleServerSecurityAlertPolicy\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleSqlServer.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 := sql.NewDatabase(ctx, \"exampleDatabase\", \u0026sql.DatabaseArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleSqlServer.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tEdition: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServerVulnerabilityAssessment, err := mssql.NewServerVulnerabilityAssessment(ctx, \"exampleServerVulnerabilityAssessment\", \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%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, \"exampleDatabaseVulnerabilityAssessmentRuleBaseline\", \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{{% /example %}}\n{{% /examples %}}", "properties": { "baselineName": { "type": "string", "description": "The name of the vulnerability assessment rule baseline. Valid options are `default` and `master`. `default` implies a baseline on a database level rule and `master` for server level rule. Defaults to `default`. Changing this forces a new resource to be created.\n" }, "baselineResults": { "type": "array", "items": { "$ref": "#/types/azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult" }, "description": "A `baseline_result` 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 `default` and `master`. `default` implies a baseline on a database level rule and `master` for server level rule. Defaults to `default`. Changing this forces a new resource to be created.\n" }, "baselineResults": { "type": "array", "items": { "$ref": "#/types/azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult" }, "description": "A `baseline_result` 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" } }, "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 `default` and `master`. `default` implies a baseline on a database level rule and `master` for server level rule. Defaults to `default`. Changing this forces a new resource to be created.\n" }, "baselineResults": { "type": "array", "items": { "$ref": "#/types/azure:mssql/DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult:DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult" }, "description": "A `baseline_result` 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" } }, "type": "object" } }, "azure:mssql/elasticPool:ElasticPool": { "description": "Allows you to manage an Azure SQL Elastic Pool via the `v3.0` API which allows for `vCore` and `DTU` based configurations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westeurope\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleElasticPool = new azure.mssql.ElasticPool(\"exampleElasticPool\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n serverName: exampleSqlServer.name,\n licenseType: \"LicenseIncluded\",\n maxSizeGb: 756,\n sku: {\n name: \"GP_Gen5\",\n tier: \"GeneralPurpose\",\n family: \"Gen5\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westeurope\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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_elastic_pool = azure.mssql.ElasticPool(\"exampleElasticPool\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n server_name=example_sql_server.name,\n license_type=\"LicenseIncluded\",\n max_size_gb=756,\n sku=azure.mssql.ElasticPoolSkuArgs(\n name=\"GP_Gen5\",\n tier=\"GeneralPurpose\",\n family=\"Gen5\",\n capacity=4,\n ),\n per_database_settings=azure.mssql.ElasticPoolPerDatabaseSettingsArgs(\n min_capacity=0.25,\n max_capacity=4,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleElasticPool = new Azure.MSSql.ElasticPool(\"exampleElasticPool\", new Azure.MSSql.ElasticPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ServerName = exampleSqlServer.Name,\n LicenseType = \"LicenseIncluded\",\n MaxSizeGb = 756,\n Sku = new Azure.MSSql.Inputs.ElasticPoolSkuArgs\n {\n Name = \"GP_Gen5\",\n Tier = \"GeneralPurpose\",\n Family = \"Gen5\",\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\t_, err = mssql.NewElasticPool(ctx, \"exampleElasticPool\", \u0026mssql.ElasticPoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tServerName: exampleSqlServer.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(\"GP_Gen5\"),\n\t\t\t\tTier: pulumi.String(\"GeneralPurpose\"),\n\t\t\t\tFamily: pulumi.String(\"Gen5\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "maxSizeBytes": { "type": "integer", "description": "The max data size of the elastic pool in bytes. Conflicts with `max_size_gb`.\n" }, "maxSizeGb": { "type": "number", "description": "The max data size of the elastic pool in gigabytes. Conflicts with `max_size_bytes`.\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 `per_database_settings` 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.\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 `sku` 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. `tier` needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based `sku`. Defaults to `false`.\n" } }, "required": [ "licenseType", "location", "maxSizeBytes", "maxSizeGb", "name", "perDatabaseSettings", "resourceGroupName", "serverName", "sku" ], "inputProperties": { "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" }, "maxSizeBytes": { "type": "integer", "description": "The max data size of the elastic pool in bytes. Conflicts with `max_size_gb`.\n" }, "maxSizeGb": { "type": "number", "description": "The max data size of the elastic pool in gigabytes. Conflicts with `max_size_bytes`.\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 `per_database_settings` 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.\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 `sku` 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. `tier` needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based `sku`. Defaults to `false`.\n" } }, "requiredInputs": [ "perDatabaseSettings", "resourceGroupName", "serverName", "sku" ], "stateInputs": { "description": "Input properties used for looking up and filtering ElasticPool resources.\n", "properties": { "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" }, "maxSizeBytes": { "type": "integer", "description": "The max data size of the elastic pool in bytes. Conflicts with `max_size_gb`.\n" }, "maxSizeGb": { "type": "number", "description": "The max data size of the elastic pool in gigabytes. Conflicts with `max_size_bytes`.\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 `per_database_settings` 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.\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 `sku` 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. `tier` needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based `sku`. Defaults to `false`.\n" } }, "type": "object" } }, "azure:mssql/server:Server": { "description": "Manages a Microsoft SQL Azure Database Server.\n\n\u003e **Note:** All arguments including the administrator login and password 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleServer = new azure.mssql.Server(\"exampleServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"missadministrator\",\n administratorLoginPassword: \"thisIsKat11\",\n azureadAdministrator: {\n loginUsername: \"AzureAD Admin\",\n objectId: \"00000000-0000-0000-0000-000000000000\",\n },\n extendedAuditingPolicy: {\n storageEndpoint: exampleAccount.primaryBlobEndpoint,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n storageAccountAccessKeyIsSecondary: true,\n retentionInDays: 6,\n },\n tags: {\n environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_account = azure.storage.Account(\"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_server = azure.mssql.Server(\"exampleServer\",\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=\"thisIsKat11\",\n azuread_administrator=azure.mssql.ServerAzureadAdministratorArgs(\n login_username=\"AzureAD Admin\",\n object_id=\"00000000-0000-0000-0000-000000000000\",\n ),\n extended_auditing_policy=azure.mssql.ServerExtendedAuditingPolicyArgs(\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=True,\n retention_in_days=6,\n ),\n tags={\n \"environment\": \"production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleServer = new Azure.MSSql.Server(\"exampleServer\", new Azure.MSSql.ServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"missadministrator\",\n AdministratorLoginPassword = \"thisIsKat11\",\n AzureadAdministrator = new Azure.MSSql.Inputs.ServerAzureadAdministratorArgs\n {\n LoginUsername = \"AzureAD Admin\",\n ObjectId = \"00000000-0000-0000-0000-000000000000\",\n },\n ExtendedAuditingPolicy = new Azure.MSSql.Inputs.ServerExtendedAuditingPolicyArgs\n {\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n StorageAccountAccessKeyIsSecondary = true,\n RetentionInDays = 6,\n },\n Tags = \n {\n { \"environment\", \"production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = mssql.NewServer(ctx, \"exampleServer\", \u0026mssql.ServerArgs{\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(\"thisIsKat11\"),\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\tExtendedAuditingPolicy: \u0026mssql.ServerExtendedAuditingPolicyArgs{\n\t\t\t\tStorageEndpoint: exampleAccount.PrimaryBlobEndpoint,\n\t\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(true),\n\t\t\t\tRetentionInDays: pulumi.Int(6),\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{{% /example %}}\n{{% /examples %}}", "properties": { "administratorLogin": { "type": "string", "description": "The administrator's login name for the new server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The password associated with the `administrator_login` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n" }, "azureadAdministrator": { "$ref": "#/types/azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator", "description": "An `azuread_administrator` 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" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:mssql/ServerExtendedAuditingPolicy:ServerExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "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 `identity` 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" }, "name": { "type": "string", "description": "The name of the Microsoft SQL Server. This needs to be globally unique within Azure.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this server. Defaults to `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Microsoft SQL Server.\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" }, "version": { "type": "string", "description": "This servers MS SQL version. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server).\n" } }, "required": [ "administratorLogin", "administratorLoginPassword", "extendedAuditingPolicy", "fullyQualifiedDomainName", "location", "name", "resourceGroupName", "restorableDroppedDatabaseIds", "version" ], "inputProperties": { "administratorLogin": { "type": "string", "description": "The administrator's login name for the new server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The password associated with the `administrator_login` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n" }, "azureadAdministrator": { "$ref": "#/types/azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator", "description": "An `azuread_administrator` 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" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:mssql/ServerExtendedAuditingPolicy:ServerExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "identity": { "$ref": "#/types/azure:mssql/ServerIdentity:ServerIdentity", "description": "An `identity` 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" }, "name": { "type": "string", "description": "The name of the Microsoft SQL Server. This needs to be globally unique within Azure.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this server. Defaults to `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Microsoft SQL Server.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "version": { "type": "string", "description": "This servers MS SQL version. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server).\n" } }, "requiredInputs": [ "administratorLogin", "administratorLoginPassword", "resourceGroupName", "version" ], "stateInputs": { "description": "Input properties used for looking up and filtering Server resources.\n", "properties": { "administratorLogin": { "type": "string", "description": "The administrator's login name for the new server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The password associated with the `administrator_login` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n" }, "azureadAdministrator": { "$ref": "#/types/azure:mssql/ServerAzureadAdministrator:ServerAzureadAdministrator", "description": "An `azuread_administrator` 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" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:mssql/ServerExtendedAuditingPolicy:ServerExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "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 `identity` 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" }, "name": { "type": "string", "description": "The name of the Microsoft SQL Server. This needs to be globally unique within Azure.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this server. Defaults to `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Microsoft SQL Server.\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" }, "version": { "type": "string", "description": "This servers MS SQL version. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server).\n" } }, "type": "object" } }, "azure:mssql/serverExtendedAuditingPolicy:ServerExtendedAuditingPolicy": { "description": "Manages a Ms Sql Server Extended Auditing Policy.\n\n\u003e **NOTE:** The Server Extended Auditing Policy Can be set inline here as well as with the mssql_server_extended_auditing_policy resource resource. You can only use one or the other and using both will cause a conflict.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mssql.Server(\"exampleServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"missadministrator\",\n administratorLoginPassword: \"AdminPassword123!\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleServerExtendedAuditingPolicy = new azure.mssql.ServerExtendedAuditingPolicy(\"exampleServerExtendedAuditingPolicy\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mssql.Server(\"exampleServer\",\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!\")\nexample_account = azure.storage.Account(\"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_server_extended_auditing_policy = azure.mssql.ServerExtendedAuditingPolicy(\"exampleServerExtendedAuditingPolicy\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MSSql.Server(\"exampleServer\", new Azure.MSSql.ServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"missadministrator\",\n AdministratorLoginPassword = \"AdminPassword123!\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleServerExtendedAuditingPolicy = new Azure.MSSql.ServerExtendedAuditingPolicy(\"exampleServerExtendedAuditingPolicy\", new Azure.MSSql.ServerExtendedAuditingPolicyArgs\n {\n ServerId = exampleServer.Id,\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n StorageAccountAccessKeyIsSecondary = false,\n RetentionInDays = 6,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", \u0026mssql.ServerArgs{\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = mssql.NewServerExtendedAuditingPolicy(ctx, \"exampleServerExtendedAuditingPolicy\", \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{{% /example %}}\n{{% /examples %}}", "properties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for in the storage account.\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" }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Is `storage_account_access_key` value the storage's secondary key?\n" }, "storageEndpoint": { "type": "string", "description": "The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.\n" } }, "required": [ "serverId", "storageEndpoint" ], "inputProperties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for in the storage account.\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" }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Is `storage_account_access_key` value the storage's secondary key?\n" }, "storageEndpoint": { "type": "string", "description": "The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.\n" } }, "requiredInputs": [ "serverId", "storageEndpoint" ], "stateInputs": { "description": "Input properties used for looking up and filtering ServerExtendedAuditingPolicy resources.\n", "properties": { "retentionInDays": { "type": "integer", "description": "The number of days to retain logs for in the storage account.\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" }, "storageAccountAccessKeyIsSecondary": { "type": "boolean", "description": "Is `storage_account_access_key` value the storage's secondary key?\n" }, "storageEndpoint": { "type": "string", "description": "The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleSqlServer.name,\n state: \"Enabled\",\n storageEndpoint: exampleAccount.primaryBlobEndpoint,\n storageAccountAccessKey: exampleAccount.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\",\n resource_group_name=example_resource_group.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 disabled_alerts=[\n \"Sql_Injection\",\n \"Data_Exfiltration\",\n ],\n retention_days=20)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", new Azure.MSSql.ServerSecurityAlertPolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleSqlServer.Name,\n State = \"Enabled\",\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n DisabledAlerts = \n {\n \"Sql_Injection\",\n \"Data_Exfiltration\",\n },\n RetentionDays = 20,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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\t_, err = mssql.NewServerSecurityAlertPolicy(ctx, \"exampleServerSecurityAlertPolicy\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\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{{% /example %}}\n{{% /examples %}}", "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": "Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.\n" }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of e-mail 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 in the Threat Detection audit logs. Defaults to `0`.\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, whether it is enabled or disabled or a policy has not been applied yet on the specific database server. Allowed values are: `Disabled`, `Enabled`.\n" }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account.\n" }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\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": "Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.\n" }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of e-mail 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 in the Threat Detection audit logs. Defaults to `0`.\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, whether it is enabled or disabled or a policy has not been applied yet on the specific database server. Allowed values are: `Disabled`, `Enabled`.\n" }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account.\n" }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\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": "Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.\n" }, "emailAddresses": { "type": "array", "items": { "type": "string" }, "description": "Specifies an array of e-mail 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 in the Threat Detection audit logs. Defaults to `0`.\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, whether it is enabled or disabled or a policy has not been applied yet on the specific database server. Allowed values are: `Disabled`, `Enabled`.\n" }, "storageAccountAccessKey": { "type": "string", "description": "Specifies the identifier key of the Threat Detection audit storage account.\n" }, "storageEndpoint": { "type": "string", "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n" } }, "type": "object" } }, "azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment": { "description": "Manages the Vulnerability Assessment for a MS SQL Server.\n\n\u003e **NOTE** Vulnerability Assessment is currently only available for MS SQL databases.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleSqlServer.name,\n state: \"Enabled\",\n});\nconst exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\",\n resource_group_name=example_resource_group.name,\n server_name=example_sql_server.name,\n state=\"Enabled\")\nexample_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\",\n server_security_alert_policy_id=example_server_security_alert_policy.id,\n storage_container_path=pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f\"{primary_blob_endpoint}{name}/\"),\n storage_account_access_key=example_account.primary_access_key,\n recurring_scans=azure.mssql.ServerVulnerabilityAssessmentRecurringScansArgs(\n enabled=True,\n email_subscription_admins=True,\n emails=[\n \"email@example1.com\",\n \"email@example2.com\",\n ],\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", new Azure.MSSql.ServerSecurityAlertPolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleSqlServer.Name,\n State = \"Enabled\",\n });\n var exampleServerVulnerabilityAssessment = new Azure.MSSql.ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", new Azure.MSSql.ServerVulnerabilityAssessmentArgs\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 = \n {\n \"email@example1.com\",\n \"email@example2.com\",\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/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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\texampleContainer, err := storage.NewContainer(ctx, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleServerSecurityAlertPolicy\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleSqlServer.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, \"exampleServerVulnerabilityAssessment\", \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%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{{% /example %}}\n{{% /examples %}}", "properties": { "recurringScans": { "$ref": "#/types/azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans", "description": "The recurring scans settings. The `recurring_scans` block supports fields documented below.\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 identifier key of the storage account for vulnerability assessment scan results. If `storage_container_sas_key` isn't specified, `storage_account_access_key` is required.\n" }, "storageContainerPath": { "type": "string", "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n" }, "storageContainerSasKey": { "type": "string", "description": "A shared access signature (SAS Key) that has write access to the blob container specified in `storage_container_path` parameter. If `storage_account_access_key` isn't specified, `storage_container_sas_key` is required.\n" } }, "required": [ "recurringScans", "serverSecurityAlertPolicyId", "storageContainerPath" ], "inputProperties": { "recurringScans": { "$ref": "#/types/azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans", "description": "The recurring scans settings. The `recurring_scans` block supports fields documented below.\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 identifier key of the storage account for vulnerability assessment scan results. If `storage_container_sas_key` isn't specified, `storage_account_access_key` is required.\n" }, "storageContainerPath": { "type": "string", "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n" }, "storageContainerSasKey": { "type": "string", "description": "A shared access signature (SAS Key) that has write access to the blob container specified in `storage_container_path` parameter. If `storage_account_access_key` isn't specified, `storage_container_sas_key` is required.\n" } }, "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": "The recurring scans settings. The `recurring_scans` block supports fields documented below.\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 identifier key of the storage account for vulnerability assessment scan results. If `storage_container_sas_key` isn't specified, `storage_account_access_key` is required.\n" }, "storageContainerPath": { "type": "string", "description": "A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n" }, "storageContainerSasKey": { "type": "string", "description": "A shared access signature (SAS Key) that has write access to the blob container specified in `storage_container_path` parameter. If `storage_account_access_key` isn't specified, `storage_container_sas_key` is required.\n" } }, "type": "object" } }, "azure:mssql/virtualMachine:VirtualMachine": { "description": "Manages a Microsoft SQL Virtual Machine\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a brief Managed MsSql Virtual Machine.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleVirtualMachine = azure.compute.getVirtualMachine({\n name: \"example-vm\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleMssql_virtualMachineVirtualMachine = new azure.mssql.VirtualMachine(\"exampleMssql/virtualMachineVirtualMachine\", {\n virtualMachineId: exampleVirtualMachine.then(exampleVirtualMachine =\u003e exampleVirtualMachine.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_virtual_machine = azure.compute.get_virtual_machine(name=\"example-vm\",\n resource_group_name=\"example-resources\")\nexample_mssql_virtual_machine_virtual_machine = azure.mssql.VirtualMachine(\"exampleMssql/virtualMachineVirtualMachine\",\n virtual_machine_id=example_virtual_machine.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=azure.mssql.VirtualMachineAutoPatchingArgs(\n day_of_week=\"Sunday\",\n maintenance_window_duration_in_minutes=60,\n maintenance_window_starting_hour=2,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleVirtualMachine = Output.Create(Azure.Compute.GetVirtualMachine.InvokeAsync(new Azure.Compute.GetVirtualMachineArgs\n {\n Name = \"example-vm\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleMssql_virtualMachineVirtualMachine = new Azure.MSSql.VirtualMachine(\"exampleMssql/virtualMachineVirtualMachine\", new Azure.MSSql.VirtualMachineArgs\n {\n VirtualMachineId = exampleVirtualMachine.Apply(exampleVirtualMachine =\u003e exampleVirtualMachine.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVirtualMachine, 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, \"exampleMssql_virtualMachineVirtualMachine\", \u0026mssql.VirtualMachineArgs{\n\t\t\tVirtualMachineId: pulumi.String(exampleVirtualMachine.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{{% /example %}}\n{{% /examples %}}", "properties": { "autoPatching": { "$ref": "#/types/azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching", "description": "An `auto_patching` block as defined below.\n" }, "keyVaultCredential": { "$ref": "#/types/azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential", "description": "(Optional) An `key_vault_credential` 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 `1433`.\n" }, "sqlConnectivityType": { "type": "string", "description": "The connectivity type used for this SQL Server. Defaults to `PRIVATE`.\n" }, "sqlConnectivityUpdatePassword": { "type": "string", "description": "The SQL Server sysadmin login password.\n" }, "sqlConnectivityUpdateUsername": { "type": "string", "description": "The SQL Server sysadmin login to create.\n" }, "sqlLicenseType": { "type": "string", "description": "The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit) and `PAYG` (Pay-As-You-Go). 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. Changing this forces a new resource to be created.\n" } }, "required": [ "sqlLicenseType", "virtualMachineId" ], "inputProperties": { "autoPatching": { "$ref": "#/types/azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching", "description": "An `auto_patching` block as defined below.\n" }, "keyVaultCredential": { "$ref": "#/types/azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential", "description": "(Optional) An `key_vault_credential` 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 `1433`.\n" }, "sqlConnectivityType": { "type": "string", "description": "The connectivity type used for this SQL Server. Defaults to `PRIVATE`.\n" }, "sqlConnectivityUpdatePassword": { "type": "string", "description": "The SQL Server sysadmin login password.\n" }, "sqlConnectivityUpdateUsername": { "type": "string", "description": "The SQL Server sysadmin login to create.\n" }, "sqlLicenseType": { "type": "string", "description": "The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit) and `PAYG` (Pay-As-You-Go). 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. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "sqlLicenseType", "virtualMachineId" ], "stateInputs": { "description": "Input properties used for looking up and filtering VirtualMachine resources.\n", "properties": { "autoPatching": { "$ref": "#/types/azure:mssql/VirtualMachineAutoPatching:VirtualMachineAutoPatching", "description": "An `auto_patching` block as defined below.\n" }, "keyVaultCredential": { "$ref": "#/types/azure:mssql/VirtualMachineKeyVaultCredential:VirtualMachineKeyVaultCredential", "description": "(Optional) An `key_vault_credential` 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 `1433`.\n" }, "sqlConnectivityType": { "type": "string", "description": "The connectivity type used for this SQL Server. Defaults to `PRIVATE`.\n" }, "sqlConnectivityUpdatePassword": { "type": "string", "description": "The SQL Server sysadmin login password.\n" }, "sqlConnectivityUpdateUsername": { "type": "string", "description": "The SQL Server sysadmin login to create.\n" }, "sqlLicenseType": { "type": "string", "description": "The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit) and `PAYG` (Pay-As-You-Go). 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. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:mysql/activeDirectoryAdministrator:ActiveDirectoryAdministrator": { "description": "Allows you to set a user or group as the AD administrator for an MySQL server in Azure\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mysqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n version: \"5.7\",\n});\nconst exampleActiveDirectoryAdministrator = new azure.mysql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", {\n serverName: exampleServer.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_server = azure.mysql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mysqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"B_Gen5_2\",\n storage_mb=5120,\n version=\"5.7\")\nexample_active_directory_administrator = azure.mysql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\",\n server_name=example_server.name,\n resource_group_name=example_resource_group.name,\n login=\"sqladmin\",\n tenant_id=current.tenant_id,\n object_id=current.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mysqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n Version = \"5.7\",\n });\n var exampleActiveDirectoryAdministrator = new Azure.MySql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", new Azure.MySql.ActiveDirectoryAdministratorArgs\n {\n ServerName = exampleServer.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Login = \"sqladmin\",\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleServer, err := mysql.NewServer(ctx, \"exampleServer\", \u0026mysql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mysqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\tVersion: pulumi.String(\"5.7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewActiveDirectoryAdministrator(ctx, \"exampleActiveDirectoryAdministrator\", \u0026mysql.ActiveDirectoryAdministratorArgs{\n\t\t\tServerName: exampleServer.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group for the MySQL server. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "The name of the MySQL 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\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group for the MySQL server. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "The name of the MySQL 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" } }, "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\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group for the MySQL server. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "The name of the MySQL 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" } }, "type": "object" } }, "azure:mysql/configuration:Configuration": { "description": "Sets a MySQL Configuration value on a MySQL 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mysqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n version: \"5.7\",\n autoGrowEnabled: true,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: true,\n infrastructureEncryptionEnabled: true,\n publicNetworkAccessEnabled: false,\n sslEnforcementEnabled: true,\n sslMinimalTlsVersionEnforced: \"TLS1_2\",\n});\nconst exampleConfiguration = new azure.mysql.Configuration(\"exampleConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n value: \"600\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mysql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mysqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"B_Gen5_2\",\n storage_mb=5120,\n version=\"5.7\",\n auto_grow_enabled=True,\n backup_retention_days=7,\n geo_redundant_backup_enabled=True,\n infrastructure_encryption_enabled=True,\n public_network_access_enabled=False,\n ssl_enforcement_enabled=True,\n ssl_minimal_tls_version_enforced=\"TLS1_2\")\nexample_configuration = azure.mysql.Configuration(\"exampleConfiguration\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n value=\"600\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mysqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n Version = \"5.7\",\n AutoGrowEnabled = true,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = true,\n InfrastructureEncryptionEnabled = true,\n PublicNetworkAccessEnabled = false,\n SslEnforcementEnabled = true,\n SslMinimalTlsVersionEnforced = \"TLS1_2\",\n });\n var exampleConfiguration = new Azure.MySql.Configuration(\"exampleConfiguration\", new Azure.MySql.ConfigurationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n Value = \"600\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 := mysql.NewServer(ctx, \"exampleServer\", \u0026mysql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mysqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\tVersion: pulumi.String(\"5.7\"),\n\t\t\tAutoGrowEnabled: pulumi.Bool(true),\n\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled: pulumi.Bool(true),\n\t\t\tInfrastructureEncryptionEnabled: 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\t_, err = mysql.NewConfiguration(ctx, \"exampleConfiguration\", \u0026mysql.ConfigurationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleServer.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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "Specifies the name of the MySQL 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 Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MySQL Server. Changing this forces a new resource to be created.\n" }, "value": { "type": "string", "description": "Specifies the value of the MySQL 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 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 Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MySQL Server. Changing this forces a new resource to be created.\n" }, "value": { "type": "string", "description": "Specifies the value of the MySQL Configuration. See the MySQL documentation for valid values.\n" } }, "requiredInputs": [ "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 MySQL 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 Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MySQL Server. Changing this forces a new resource to be created.\n" }, "value": { "type": "string", "description": "Specifies the value of the MySQL Configuration. See the MySQL documentation for valid values.\n" } }, "type": "object" } }, "azure:mysql/database:Database": { "description": "Manages a MySQL Database within a MySQL Server\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mysqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n version: \"5.7\",\n autoGrowEnabled: true,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: true,\n infrastructureEncryptionEnabled: true,\n publicNetworkAccessEnabled: false,\n sslEnforcementEnabled: true,\n sslMinimalTlsVersionEnforced: \"TLS1_2\",\n});\nconst exampleDatabase = new azure.mysql.Database(\"exampleDatabase\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n charset: \"utf8\",\n collation: \"utf8_unicode_ci\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mysql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mysqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"B_Gen5_2\",\n storage_mb=5120,\n version=\"5.7\",\n auto_grow_enabled=True,\n backup_retention_days=7,\n geo_redundant_backup_enabled=True,\n infrastructure_encryption_enabled=True,\n public_network_access_enabled=False,\n ssl_enforcement_enabled=True,\n ssl_minimal_tls_version_enforced=\"TLS1_2\")\nexample_database = azure.mysql.Database(\"exampleDatabase\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n charset=\"utf8\",\n collation=\"utf8_unicode_ci\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mysqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n Version = \"5.7\",\n AutoGrowEnabled = true,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = true,\n InfrastructureEncryptionEnabled = true,\n PublicNetworkAccessEnabled = false,\n SslEnforcementEnabled = true,\n SslMinimalTlsVersionEnforced = \"TLS1_2\",\n });\n var exampleDatabase = new Azure.MySql.Database(\"exampleDatabase\", new Azure.MySql.DatabaseArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n Charset = \"utf8\",\n Collation = \"utf8_unicode_ci\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 := mysql.NewServer(ctx, \"exampleServer\", \u0026mysql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mysqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\tVersion: pulumi.String(\"5.7\"),\n\t\t\tAutoGrowEnabled: pulumi.Bool(true),\n\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled: pulumi.Bool(true),\n\t\t\tInfrastructureEncryptionEnabled: 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\t_, err = mysql.NewDatabase(ctx, \"exampleDatabase\", \u0026mysql.DatabaseArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleServer.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{{% /example %}}\n{{% /examples %}}", "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 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" }, "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 Server. Changing this forces a new resource to be created.\n" } }, "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 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 Server. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:mysql/firewallRule:FirewallRule": { "description": "Manages a Firewall Rule for a MySQL Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Single IP Address)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {});\n// ...\nconst exampleFirewallRule = new azure.mysql.FirewallRule(\"exampleFirewallRule\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mysql.Server(\"exampleServer\")\n# ...\nexample_firewall_rule = azure.mysql.FirewallRule(\"exampleFirewallRule\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n });\n // ...\n var exampleFirewallRule = new Azure.MySql.FirewallRule(\"exampleFirewallRule\", new Azure.MySql.FirewallRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n StartIpAddress = \"40.112.8.12\",\n EndIpAddress = \"40.112.8.12\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 := mysql.NewServer(ctx, \"exampleServer\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026mysql.FirewallRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### IP Range)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {});\n// ...\nconst exampleFirewallRule = new azure.mysql.FirewallRule(\"exampleFirewallRule\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mysql.Server(\"exampleServer\")\n# ...\nexample_firewall_rule = azure.mysql.FirewallRule(\"exampleFirewallRule\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n });\n // ...\n var exampleFirewallRule = new Azure.MySql.FirewallRule(\"exampleFirewallRule\", new Azure.MySql.FirewallRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n StartIpAddress = \"40.112.0.0\",\n EndIpAddress = \"40.112.255.255\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 := mysql.NewServer(ctx, \"exampleServer\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026mysql.FirewallRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### Allow Access To Azure Services)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {});\n// ...\nconst exampleFirewallRule = new azure.mysql.FirewallRule(\"exampleFirewallRule\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mysql.Server(\"exampleServer\")\n# ...\nexample_firewall_rule = azure.mysql.FirewallRule(\"exampleFirewallRule\",\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\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n });\n // ...\n var exampleFirewallRule = new Azure.MySql.FirewallRule(\"exampleFirewallRule\", new Azure.MySql.FirewallRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n StartIpAddress = \"0.0.0.0\",\n EndIpAddress = \"0.0.0.0\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 := mysql.NewServer(ctx, \"exampleServer\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mysql.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026mysql.FirewallRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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 Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MySQL 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" }, "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 Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MySQL 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" } }, "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" }, "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 Server exists. Changing this forces a new resource to be created.\n" }, "serverName": { "type": "string", "description": "Specifies the name of the MySQL 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" } }, "type": "object" } }, "azure:mysql/server:Server": { "description": "Manages a MySQL Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mysqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n version: \"5.7\",\n autoGrowEnabled: true,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: true,\n infrastructureEncryptionEnabled: true,\n publicNetworkAccessEnabled: false,\n sslEnforcementEnabled: true,\n sslMinimalTlsVersionEnforced: \"TLS1_2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.mysql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mysqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"B_Gen5_2\",\n storage_mb=5120,\n version=\"5.7\",\n auto_grow_enabled=True,\n backup_retention_days=7,\n geo_redundant_backup_enabled=True,\n infrastructure_encryption_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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mysqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n Version = \"5.7\",\n AutoGrowEnabled = true,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = true,\n InfrastructureEncryptionEnabled = true,\n PublicNetworkAccessEnabled = false,\n SslEnforcementEnabled = true,\n SslMinimalTlsVersionEnforced = \"TLS1_2\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 = mysql.NewServer(ctx, \"exampleServer\", \u0026mysql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mysqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\tVersion: pulumi.String(\"5.7\"),\n\t\t\tAutoGrowEnabled: pulumi.Bool(true),\n\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled: pulumi.Bool(true),\n\t\t\tInfrastructureEncryptionEnabled: 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{{% /example %}}\n{{% /examples %}}", "properties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MySQL Server. Required when `create_mode` is `Default`. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the MySQL Server. Required when `create_mode` is `Default`.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 MySQL 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 supported for the Basic tier.\n" }, "identity": { "$ref": "#/types/azure:mysql/ServerIdentity:ServerIdentity", "description": "An `identity` block as defined below.\n" }, "infrastructureEncryptionEnabled": { "type": "boolean", "description": "Whether or not infrastructure is encrypted for this server. Defaults to `false`. 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 MySQL Server. Changing this forces a new resource to be created. This needs to be globally unique within Azure.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this server. Defaults to `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the MySQL Server. Changing this forces a new resource to be created.\n" }, "restorePointInTime": { "type": "string", "description": "When `create_mode` is `PointInTimeRestore`, specifies the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been moved to the boolean attribute `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\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 `TLSEnforcementDisabled`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#StorageProfile).\n" }, "storageProfile": { "$ref": "#/types/azure:mysql/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been moved to the top level. This block will be removed in version 3.0 of the provider." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "threatDetectionPolicy": { "$ref": "#/types/azure:mysql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy", "description": "Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threat_detection_policy` block supports fields documented below.\n" }, "version": { "type": "string", "description": "Specifies the version of MySQL to use. Valid values are `5.6`, `5.7`, and `8.0`. Changing this forces a new resource to be created.\n" } }, "required": [ "administratorLogin", "autoGrowEnabled", "backupRetentionDays", "fqdn", "geoRedundantBackupEnabled", "location", "name", "resourceGroupName", "skuName", "sslEnforcement", "storageMb", "storageProfile", "version" ], "inputProperties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MySQL Server. Required when `create_mode` is `Default`. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the MySQL Server. Required when `create_mode` is `Default`.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 supported for the Basic tier.\n" }, "identity": { "$ref": "#/types/azure:mysql/ServerIdentity:ServerIdentity", "description": "An `identity` block as defined below.\n" }, "infrastructureEncryptionEnabled": { "type": "boolean", "description": "Whether or not infrastructure is encrypted for this server. Defaults to `false`. 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 MySQL Server. Changing this forces a new resource to be created. This needs to be globally unique within Azure.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this server. Defaults to `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the MySQL Server. Changing this forces a new resource to be created.\n" }, "restorePointInTime": { "type": "string", "description": "When `create_mode` is `PointInTimeRestore`, specifies the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been moved to the boolean attribute `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\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 `TLSEnforcementDisabled`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#StorageProfile).\n" }, "storageProfile": { "$ref": "#/types/azure:mysql/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been moved to the top level. This block will be removed in version 3.0 of the provider." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "threatDetectionPolicy": { "$ref": "#/types/azure:mysql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy", "description": "Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threat_detection_policy` block supports fields documented below.\n" }, "version": { "type": "string", "description": "Specifies the version of MySQL to use. Valid values are `5.6`, `5.7`, and `8.0`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "resourceGroupName", "skuName", "version" ], "stateInputs": { "description": "Input properties used for looking up and filtering Server resources.\n", "properties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MySQL Server. Required when `create_mode` is `Default`. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the MySQL Server. Required when `create_mode` is `Default`.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 MySQL 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 supported for the Basic tier.\n" }, "identity": { "$ref": "#/types/azure:mysql/ServerIdentity:ServerIdentity", "description": "An `identity` block as defined below.\n" }, "infrastructureEncryptionEnabled": { "type": "boolean", "description": "Whether or not infrastructure is encrypted for this server. Defaults to `false`. 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 MySQL Server. Changing this forces a new resource to be created. This needs to be globally unique within Azure.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this server. Defaults to `true`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the MySQL Server. Changing this forces a new resource to be created.\n" }, "restorePointInTime": { "type": "string", "description": "When `create_mode` is `PointInTimeRestore`, specifies the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been moved to the boolean attribute `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\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 `TLSEnforcementDisabled`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/mysql/servers/create#StorageProfile).\n" }, "storageProfile": { "$ref": "#/types/azure:mysql/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been moved to the top level. This block will be removed in version 3.0 of the provider." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "threatDetectionPolicy": { "$ref": "#/types/azure:mysql/ServerThreatDetectionPolicy:ServerThreatDetectionPolicy", "description": "Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threat_detection_policy` block supports fields documented below.\n" }, "version": { "type": "string", "description": "Specifies the version of MySQL to use. Valid values are `5.6`, `5.7`, and `8.0`. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:mysql/serverKey:ServerKey": { "description": "Manages a Customer Managed Key for a MySQL Server.\n", "properties": { "keyVaultKeyId": { "type": "string", "description": "The URL to a Key Vault Key.\n" }, "serverId": { "type": "string", "description": "The ID of the MySQL 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 MySQL Server. Changing this forces a new resource to be created.\n" } }, "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 MySQL Server. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:mysql/virtualNetworkRule:VirtualNetworkRule": { "description": "Manages a MySQL Virtual Network Rule.\n\n\u003e **NOTE:** MySQL Virtual Network Rules [can only be used with SKU Tiers of `GeneralPurpose` or `MemoryOptimized`](https://docs.microsoft.com/en-us/azure/mysql/concepts-data-access-and-security-vnet)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.7.29.0/29\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.7.29.0/29\"],\n serviceEndpoints: [\"Microsoft.Sql\"],\n});\nconst exampleServer = new azure.mysql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"mysqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n version: \"5.7\",\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: false,\n sslEnforcementEnabled: true,\n});\nconst exampleVirtualNetworkRule = new azure.mysql.VirtualNetworkRule(\"exampleVirtualNetworkRule\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n subnetId: internal.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.7.29.0/29\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=example_resource_group.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.mysql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"mysqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"B_Gen5_2\",\n storage_mb=5120,\n version=\"5.7\",\n backup_retention_days=7,\n geo_redundant_backup_enabled=False,\n ssl_enforcement_enabled=True)\nexample_virtual_network_rule = azure.mysql.VirtualNetworkRule(\"exampleVirtualNetworkRule\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n subnet_id=internal.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.7.29.0/29\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.7.29.0/29\",\n },\n ServiceEndpoints = \n {\n \"Microsoft.Sql\",\n },\n });\n var exampleServer = new Azure.MySql.Server(\"exampleServer\", new Azure.MySql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"mysqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n Version = \"5.7\",\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = false,\n SslEnforcementEnabled = true,\n });\n var exampleVirtualNetworkRule = new Azure.MySql.VirtualNetworkRule(\"exampleVirtualNetworkRule\", new Azure.MySql.VirtualNetworkRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n SubnetId = @internal.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mysql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\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.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 := mysql.NewServer(ctx, \"exampleServer\", \u0026mysql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"mysqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"B_Gen5_2\"),\n\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\tVersion: pulumi.String(\"5.7\"),\n\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\tGeoRedundantBackupEnabled: pulumi.Bool(false),\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 = mysql.NewVirtualNetworkRule(ctx, \"exampleVirtualNetworkRule\", \u0026mysql.VirtualNetworkRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleServer.Name,\n\t\t\tSubnetId: internal.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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the MySQL 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MySQL 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 MySQL 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 MySQL server will be connected to.\n" } }, "required": [ "name", "resourceGroupName", "serverName", "subnetId" ], "inputProperties": { "name": { "type": "string", "description": "The name of the MySQL 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MySQL 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 MySQL 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 MySQL server will be connected to.\n" } }, "requiredInputs": [ "resourceGroupName", "serverName", "subnetId" ], "stateInputs": { "description": "Input properties used for looking up and filtering VirtualNetworkRule resources.\n", "properties": { "name": { "type": "string", "description": "The name of the MySQL 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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MySQL 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 MySQL 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 MySQL server will be connected to.\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```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.netapp.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\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});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.netapp.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n active_directory=azure.netapp.AccountActiveDirectoryArgs(\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```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.NetApp.Account(\"exampleAccount\", new Azure.NetApp.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ActiveDirectory = new Azure.NetApp.Inputs.AccountActiveDirectoryArgs\n {\n Username = \"aduser\",\n Password = \"aduserpwd\",\n SmbServerName = \"SMBSERVER\",\n DnsServers = \n {\n \"1.2.3.4\",\n },\n Domain = \"westcentralus.com\",\n OrganizationalUnit = \"OU=FirstLevel\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 = netapp.NewAccount(ctx, \"exampleAccount\", \u0026netapp.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n", "properties": { "activeDirectory": { "$ref": "#/types/azure:netapp/AccountActiveDirectory:AccountActiveDirectory", "description": "A `active_directory` 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" }, "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 `active_directory` 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" }, "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" } }, "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 `active_directory` 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" }, "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" } }, "type": "object" } }, "azure:netapp/pool:Pool": { "description": "Manages a Pool within a NetApp Account.\n\n## NetApp Pool Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.netapp.Account(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst examplePool = new azure.netapp.Pool(\"examplePool\", {\n accountName: exampleAccount.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n serviceLevel: \"Premium\",\n sizeInTb: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.netapp.Account(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_pool = azure.netapp.Pool(\"examplePool\",\n account_name=example_account.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n service_level=\"Premium\",\n size_in_tb=4)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.NetApp.Account(\"exampleAccount\", new Azure.NetApp.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePool = new Azure.NetApp.Pool(\"examplePool\", new Azure.NetApp.PoolArgs\n {\n AccountName = exampleAccount.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ServiceLevel = \"Premium\",\n SizeInTb = 4,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026netapp.AccountArgs{\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 = netapp.NewPool(ctx, \"examplePool\", \u0026netapp.PoolArgs{\n\t\t\tAccountName: exampleAccount.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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", "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 Pool. Changing this forces a new resource to be created.\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`, or `Ultra`.\n" }, "sizeInTb": { "type": "integer", "description": "Provisioned size of the pool in TB. Value must be between `4` and `500`.\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" }, "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" }, "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`, or `Ultra`.\n" }, "sizeInTb": { "type": "integer", "description": "Provisioned size of the pool in TB. Value must be between `4` and `500`.\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" }, "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" }, "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`, or `Ultra`.\n" }, "sizeInTb": { "type": "integer", "description": "Provisioned size of the pool in TB. Value must be between `4` and `500`.\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```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"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(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst examplePool = new azure.netapp.Pool(\"examplePool\", {\n accountName: exampleAccount.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n serviceLevel: \"Premium\",\n sizeInTb: \"4\",\n});\nconst exampleVolume = new azure.netapp.Volume(\"exampleVolume\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleAccount.name,\n poolName: examplePool.name,\n volumePath: \"my-unique-file-path\",\n serviceLevel: \"Premium\",\n subnetId: azurerm_subnet.test.id,\n storageQuotaInGb: \"100\",\n});\nconst exampleSnapshot = new azure.netapp.Snapshot(\"exampleSnapshot\", {\n accountName: exampleAccount.name,\n poolName: examplePool.name,\n volumeName: exampleVolume.name,\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\",\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"netapp\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\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(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_pool = azure.netapp.Pool(\"examplePool\",\n account_name=example_account.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n service_level=\"Premium\",\n size_in_tb=4)\nexample_volume = azure.netapp.Volume(\"exampleVolume\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=azurerm_subnet[\"test\"][\"id\"],\n storage_quota_in_gb=100)\nexample_snapshot = azure.netapp.Snapshot(\"exampleSnapshot\",\n account_name=example_account.name,\n pool_name=example_pool.name,\n volume_name=example_volume.name,\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n Delegations = \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 = \n {\n \"Microsoft.Network/networkinterfaces/*\",\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n var exampleAccount = new Azure.NetApp.Account(\"exampleAccount\", new Azure.NetApp.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePool = new Azure.NetApp.Pool(\"examplePool\", new Azure.NetApp.PoolArgs\n {\n AccountName = exampleAccount.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ServiceLevel = \"Premium\",\n SizeInTb = 4,\n });\n var exampleVolume = new Azure.NetApp.Volume(\"exampleVolume\", new Azure.NetApp.VolumeArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleAccount.Name,\n PoolName = examplePool.Name,\n VolumePath = \"my-unique-file-path\",\n ServiceLevel = \"Premium\",\n SubnetId = azurerm_subnet.Test.Id,\n StorageQuotaInGb = 100,\n });\n var exampleSnapshot = new Azure.NetApp.Snapshot(\"exampleSnapshot\", new Azure.NetApp.SnapshotArgs\n {\n AccountName = exampleAccount.Name,\n PoolName = examplePool.Name,\n VolumeName = exampleVolume.Name,\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\t_, err = network.NewSubnet(ctx, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.0.2.0/24\"),\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, \"exampleAccount\", \u0026netapp.AccountArgs{\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\texamplePool, err := netapp.NewPool(ctx, \"examplePool\", \u0026netapp.PoolArgs{\n\t\t\tAccountName: exampleAccount.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleVolume\", \u0026netapp.VolumeArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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: pulumi.Any(azurerm_subnet.Test.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, \"exampleSnapshot\", \u0026netapp.SnapshotArgs{\n\t\t\tAccountName: exampleAccount.Name,\n\t\t\tPoolName: examplePool.Name,\n\t\t\tVolumeName: exampleVolume.Name,\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\treturn nil\n\t})\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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" } }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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" } }, "type": "object" } }, "azure:netapp/volume:Volume": { "description": "Manages a NetApp Volume.\n\n## NetApp Volume Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"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(\"exampleAccount\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst examplePool = new azure.netapp.Pool(\"examplePool\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleAccount.name,\n serviceLevel: \"Premium\",\n sizeInTb: 4,\n});\nconst exampleVolume = new azure.netapp.Volume(\"exampleVolume\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n accountName: exampleAccount.name,\n poolName: examplePool.name,\n volumePath: \"my-unique-file-path\",\n serviceLevel: \"Premium\",\n subnetId: exampleSubnet.id,\n protocols: [\"NFSv4.1\"],\n storageQuotaInGb: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\",\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"netapp\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\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(\"exampleAccount\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_pool = azure.netapp.Pool(\"examplePool\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n account_name=example_account.name,\n service_level=\"Premium\",\n size_in_tb=4)\nexample_volume = azure.netapp.Volume(\"exampleVolume\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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 protocols=[\"NFSv4.1\"],\n storage_quota_in_gb=100)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n Delegations = \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 = \n {\n \"Microsoft.Network/networkinterfaces/*\",\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n var exampleAccount = new Azure.NetApp.Account(\"exampleAccount\", new Azure.NetApp.AccountArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePool = new Azure.NetApp.Pool(\"examplePool\", new Azure.NetApp.PoolArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleAccount.Name,\n ServiceLevel = \"Premium\",\n SizeInTb = 4,\n });\n var exampleVolume = new Azure.NetApp.Volume(\"exampleVolume\", new Azure.NetApp.VolumeArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AccountName = exampleAccount.Name,\n PoolName = examplePool.Name,\n VolumePath = \"my-unique-file-path\",\n ServiceLevel = \"Premium\",\n SubnetId = exampleSubnet.Id,\n Protocols = \n {\n \"NFSv4.1\",\n },\n StorageQuotaInGb = 100,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.0.2.0/24\"),\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, \"exampleAccount\", \u0026netapp.AccountArgs{\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\texamplePool, err := netapp.NewPool(ctx, \"examplePool\", \u0026netapp.PoolArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\t_, err = netapp.NewVolume(ctx, \"exampleVolume\", \u0026netapp.VolumeArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"NFSv4.1\"),\n\t\t\t},\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\treturn nil\n\t})\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" }, "exportPolicyRules": { "type": "array", "items": { "$ref": "#/types/azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule" }, "description": "One or more `export_policy_rule` block 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" }, "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" }, "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" }, "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`. Changing this forces a new resource to be created and data will be lost.\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" }, "serviceLevel": { "type": "string", "description": "The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`.\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" }, "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" } }, "required": [ "accountName", "location", "mountIpAddresses", "name", "poolName", "protocols", "resourceGroupName", "serviceLevel", "storageQuotaInGb", "subnetId", "volumePath" ], "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" }, "exportPolicyRules": { "type": "array", "items": { "$ref": "#/types/azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule" }, "description": "One or more `export_policy_rule` block 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 Volume. 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" }, "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`. Changing this forces a new resource to be created and data will be lost.\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" }, "serviceLevel": { "type": "string", "description": "The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`.\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" }, "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" } }, "requiredInputs": [ "accountName", "poolName", "resourceGroupName", "serviceLevel", "storageQuotaInGb", "subnetId", "volumePath" ], "stateInputs": { "description": "Input properties used for looking up and filtering Volume 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" }, "exportPolicyRules": { "type": "array", "items": { "$ref": "#/types/azure:netapp/VolumeExportPolicyRule:VolumeExportPolicyRule" }, "description": "One or more `export_policy_rule` block 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" }, "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" }, "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" }, "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`. Changing this forces a new resource to be created and data will be lost.\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" }, "serviceLevel": { "type": "string", "description": "The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`.\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" }, "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" } }, "type": "object" } }, "azure:network/applicationGateway:ApplicationGateway": { "description": "Manages an Application Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n addressSpaces: [\"10.254.0.0/16\"],\n});\nconst frontend = new azure.network.Subnet(\"frontend\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.254.0.0/24\"],\n});\nconst backend = new azure.network.Subnet(\"backend\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.254.2.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n allocationMethod: \"Dynamic\",\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 resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"Standard_Small\",\n tier: \"Standard\",\n capacity: 2,\n },\n gatewayIpConfigurations: [{\n name: \"my-gateway-ip-configuration\",\n subnetId: frontend.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 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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n address_spaces=[\"10.254.0.0/16\"])\nfrontend = azure.network.Subnet(\"frontend\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.254.0.0/24\"])\nbackend = azure.network.Subnet(\"backend\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.254.2.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n allocation_method=\"Dynamic\")\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 resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.network.ApplicationGatewaySkuArgs(\n name=\"Standard_Small\",\n tier=\"Standard\",\n capacity=2,\n ),\n gateway_ip_configurations=[azure.network.ApplicationGatewayGatewayIpConfigurationArgs(\n name=\"my-gateway-ip-configuration\",\n subnet_id=frontend.id,\n )],\n frontend_ports=[azure.network.ApplicationGatewayFrontendPortArgs(\n name=frontend_port_name,\n port=80,\n )],\n frontend_ip_configurations=[azure.network.ApplicationGatewayFrontendIpConfigurationArgs(\n name=frontend_ip_configuration_name,\n public_ip_address_id=example_public_ip.id,\n )],\n backend_address_pools=[azure.network.ApplicationGatewayBackendAddressPoolArgs(\n name=backend_address_pool_name,\n )],\n backend_http_settings=[azure.network.ApplicationGatewayBackendHttpSettingArgs(\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=[azure.network.ApplicationGatewayHttpListenerArgs(\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=[azure.network.ApplicationGatewayRequestRoutingRuleArgs(\n name=request_routing_rule_name,\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AddressSpaces = \n {\n \"10.254.0.0/16\",\n },\n });\n var frontend = new Azure.Network.Subnet(\"frontend\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.254.0.0/24\",\n },\n });\n var backend = new Azure.Network.Subnet(\"backend\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.254.2.0/24\",\n },\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AllocationMethod = \"Dynamic\",\n });\n var backendAddressPoolName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-beap\");\n var frontendPortName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feport\");\n var frontendIpConfigurationName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feip\");\n var httpSettingName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-be-htst\");\n var listenerName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-httplstn\");\n var requestRoutingRuleName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-rqrt\");\n var redirectConfigurationName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-rdrcfg\");\n var network = new Azure.Network.ApplicationGateway(\"network\", new Azure.Network.ApplicationGatewayArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Network.Inputs.ApplicationGatewaySkuArgs\n {\n Name = \"Standard_Small\",\n Tier = \"Standard\",\n Capacity = 2,\n },\n GatewayIpConfigurations = \n {\n new Azure.Network.Inputs.ApplicationGatewayGatewayIpConfigurationArgs\n {\n Name = \"my-gateway-ip-configuration\",\n SubnetId = frontend.Id,\n },\n },\n FrontendPorts = \n {\n new Azure.Network.Inputs.ApplicationGatewayFrontendPortArgs\n {\n Name = frontendPortName,\n Port = 80,\n },\n },\n FrontendIpConfigurations = \n {\n new Azure.Network.Inputs.ApplicationGatewayFrontendIpConfigurationArgs\n {\n Name = frontendIpConfigurationName,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n BackendAddressPools = \n {\n new Azure.Network.Inputs.ApplicationGatewayBackendAddressPoolArgs\n {\n Name = backendAddressPoolName,\n },\n },\n BackendHttpSettings = \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 = \n {\n new Azure.Network.Inputs.ApplicationGatewayHttpListenerArgs\n {\n Name = listenerName,\n FrontendIpConfigurationName = frontendIpConfigurationName,\n FrontendPortName = frontendPortName,\n Protocol = \"Http\",\n },\n },\n RequestRoutingRules = \n {\n new Azure.Network.Inputs.ApplicationGatewayRequestRoutingRuleArgs\n {\n Name = requestRoutingRuleName,\n RuleType = \"Basic\",\n HttpListenerName = listenerName,\n BackendAddressPoolName = backendAddressPoolName,\n BackendHttpSettingsName = httpSettingName,\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/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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.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\tfrontend, err := network.NewSubnet(ctx, \"frontend\", \u0026network.SubnetArgs{\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.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\t_, err = network.NewSubnet(ctx, \"backend\", \u0026network.SubnetArgs{\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.254.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, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\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.NewApplicationGateway(ctx, \"network\", \u0026network.ApplicationGatewayArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSku: \u0026network.ApplicationGatewaySkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard_Small\"),\n\t\t\t\tTier: pulumi.String(\"Standard\"),\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: frontend.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\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{{% /example %}}\n{{% /examples %}}", "properties": { "authenticationCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate" }, "description": "One or more `authentication_certificate` blocks as defined below.\n" }, "autoscaleConfiguration": { "$ref": "#/types/azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration", "description": "A `autoscale_configuration` block as defined below.\n" }, "backendAddressPools": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool" }, "description": "One or more `backend_address_pool` blocks as defined below.\n" }, "backendHttpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting" }, "description": "One or more `backend_http_settings` blocks as defined below.\n" }, "customErrorConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration" }, "description": "One or more `custom_error_configuration` blocks as defined below.\n" }, "enableHttp2": { "type": "boolean", "description": "Is HTTP2 enabled on the application gateway resource? Defaults to `false`.\n" }, "firewallPolicyId": { "type": "string", "description": "The ID of the Web Application Firewall Policy.\n" }, "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration" }, "description": "One or more `frontend_ip_configuration` blocks as defined below.\n" }, "frontendPorts": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort" }, "description": "One or more `frontend_port` blocks as defined below.\n" }, "gatewayIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration" }, "description": "One or more `gateway_ip_configuration` blocks as defined below.\n" }, "httpListeners": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener" }, "description": "One or more `http_listener` blocks as defined below.\n" }, "identity": { "$ref": "#/types/azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity", "description": "A `identity` block.\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" }, "probes": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe" }, "description": "One or more `probe` blocks as defined below.\n" }, "redirectConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration" }, "description": "A `redirect_configuration` block as defined below.\n" }, "requestRoutingRules": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule" }, "description": "One or more `request_routing_rule` 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 `rewrite_rule_set` blocks as defined below. Only valid for v2 SKUs.\n" }, "sku": { "$ref": "#/types/azure:network/ApplicationGatewaySku:ApplicationGatewaySku", "description": "A `sku` block as defined below.\n" }, "sslCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate" }, "description": "One or more `ssl_certificate` blocks as defined below.\n" }, "sslPolicies": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy" }, "description": "a `ssl policy` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "trustedRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate" }, "description": "One or more `trusted_root_certificate` blocks as defined below.\n" }, "urlPathMaps": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap" }, "description": "One or more `url_path_map` blocks as defined below.\n" }, "wafConfiguration": { "$ref": "#/types/azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration", "description": "A `waf_configuration` block as defined below.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A collection of availability zones to spread the Application Gateway over.\n" } }, "required": [ "backendAddressPools", "backendHttpSettings", "frontendIpConfigurations", "frontendPorts", "gatewayIpConfigurations", "httpListeners", "location", "name", "requestRoutingRules", "resourceGroupName", "sku", "sslPolicies" ], "inputProperties": { "authenticationCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayAuthenticationCertificate:ApplicationGatewayAuthenticationCertificate" }, "description": "One or more `authentication_certificate` blocks as defined below.\n" }, "autoscaleConfiguration": { "$ref": "#/types/azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration", "description": "A `autoscale_configuration` block as defined below.\n" }, "backendAddressPools": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool" }, "description": "One or more `backend_address_pool` blocks as defined below.\n" }, "backendHttpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting" }, "description": "One or more `backend_http_settings` blocks as defined below.\n" }, "customErrorConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration" }, "description": "One or more `custom_error_configuration` blocks as defined below.\n" }, "enableHttp2": { "type": "boolean", "description": "Is HTTP2 enabled on the application gateway resource? Defaults to `false`.\n" }, "firewallPolicyId": { "type": "string", "description": "The ID of the Web Application Firewall Policy.\n" }, "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration" }, "description": "One or more `frontend_ip_configuration` blocks as defined below.\n" }, "frontendPorts": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort" }, "description": "One or more `frontend_port` blocks as defined below.\n" }, "gatewayIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration" }, "description": "One or more `gateway_ip_configuration` blocks as defined below.\n" }, "httpListeners": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener" }, "description": "One or more `http_listener` blocks as defined below.\n" }, "identity": { "$ref": "#/types/azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity", "description": "A `identity` block.\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" }, "probes": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe" }, "description": "One or more `probe` blocks as defined below.\n" }, "redirectConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration" }, "description": "A `redirect_configuration` block as defined below.\n" }, "requestRoutingRules": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule" }, "description": "One or more `request_routing_rule` 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 `rewrite_rule_set` blocks as defined below. Only valid for v2 SKUs.\n" }, "sku": { "$ref": "#/types/azure:network/ApplicationGatewaySku:ApplicationGatewaySku", "description": "A `sku` block as defined below.\n" }, "sslCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate" }, "description": "One or more `ssl_certificate` blocks as defined below.\n" }, "sslPolicies": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy" }, "description": "a `ssl policy` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "trustedRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate" }, "description": "One or more `trusted_root_certificate` blocks as defined below.\n" }, "urlPathMaps": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap" }, "description": "One or more `url_path_map` blocks as defined below.\n" }, "wafConfiguration": { "$ref": "#/types/azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration", "description": "A `waf_configuration` block as defined below.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A collection of availability zones to spread the Application Gateway over.\n" } }, "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 `authentication_certificate` blocks as defined below.\n" }, "autoscaleConfiguration": { "$ref": "#/types/azure:network/ApplicationGatewayAutoscaleConfiguration:ApplicationGatewayAutoscaleConfiguration", "description": "A `autoscale_configuration` block as defined below.\n" }, "backendAddressPools": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendAddressPool:ApplicationGatewayBackendAddressPool" }, "description": "One or more `backend_address_pool` blocks as defined below.\n" }, "backendHttpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayBackendHttpSetting:ApplicationGatewayBackendHttpSetting" }, "description": "One or more `backend_http_settings` blocks as defined below.\n" }, "customErrorConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayCustomErrorConfiguration:ApplicationGatewayCustomErrorConfiguration" }, "description": "One or more `custom_error_configuration` blocks as defined below.\n" }, "enableHttp2": { "type": "boolean", "description": "Is HTTP2 enabled on the application gateway resource? Defaults to `false`.\n" }, "firewallPolicyId": { "type": "string", "description": "The ID of the Web Application Firewall Policy.\n" }, "frontendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayFrontendIpConfiguration:ApplicationGatewayFrontendIpConfiguration" }, "description": "One or more `frontend_ip_configuration` blocks as defined below.\n" }, "frontendPorts": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayFrontendPort:ApplicationGatewayFrontendPort" }, "description": "One or more `frontend_port` blocks as defined below.\n" }, "gatewayIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayGatewayIpConfiguration:ApplicationGatewayGatewayIpConfiguration" }, "description": "One or more `gateway_ip_configuration` blocks as defined below.\n" }, "httpListeners": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayHttpListener:ApplicationGatewayHttpListener" }, "description": "One or more `http_listener` blocks as defined below.\n" }, "identity": { "$ref": "#/types/azure:network/ApplicationGatewayIdentity:ApplicationGatewayIdentity", "description": "A `identity` block.\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" }, "probes": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayProbe:ApplicationGatewayProbe" }, "description": "One or more `probe` blocks as defined below.\n" }, "redirectConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRedirectConfiguration:ApplicationGatewayRedirectConfiguration" }, "description": "A `redirect_configuration` block as defined below.\n" }, "requestRoutingRules": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayRequestRoutingRule:ApplicationGatewayRequestRoutingRule" }, "description": "One or more `request_routing_rule` 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 `rewrite_rule_set` blocks as defined below. Only valid for v2 SKUs.\n" }, "sku": { "$ref": "#/types/azure:network/ApplicationGatewaySku:ApplicationGatewaySku", "description": "A `sku` block as defined below.\n" }, "sslCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewaySslCertificate:ApplicationGatewaySslCertificate" }, "description": "One or more `ssl_certificate` blocks as defined below.\n" }, "sslPolicies": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewaySslPolicy:ApplicationGatewaySslPolicy" }, "description": "a `ssl policy` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "trustedRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayTrustedRootCertificate:ApplicationGatewayTrustedRootCertificate" }, "description": "One or more `trusted_root_certificate` blocks as defined below.\n" }, "urlPathMaps": { "type": "array", "items": { "$ref": "#/types/azure:network/ApplicationGatewayUrlPathMap:ApplicationGatewayUrlPathMap" }, "description": "One or more `url_path_map` blocks as defined below.\n" }, "wafConfiguration": { "$ref": "#/types/azure:network/ApplicationGatewayWafConfiguration:ApplicationGatewayWafConfiguration", "description": "A `waf_configuration` block as defined below.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A collection of availability zones to spread the Application Gateway over.\n" } }, "type": "object" } }, "azure:network/applicationSecurityGroup:ApplicationSecurityGroup": { "description": "Manages an Application Security Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleApplicationSecurityGroup = new azure.network.ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n Hello: \"World\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_application_security_group = azure.network.ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"Hello\": \"World\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleApplicationSecurityGroup = new Azure.Network.ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", new Azure.Network.ApplicationSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"Hello\", \"World\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleApplicationSecurityGroup\", \u0026network.ApplicationSecurityGroupArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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.\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" }, "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.\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 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" }, "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.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:network/ddosProtectionPlan:DdosProtectionPlan": { "description": "Manages an AzureNetwork DDoS Protection Plan.\n\n\u003e **NOTE** Azure only allows `one` DDoS Protection Plan per region.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDdosProtectionPlan = new azure.network.DdosProtectionPlan(\"exampleDdosProtectionPlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_ddos_protection_plan = azure.network.DdosProtectionPlan(\"exampleDdosProtectionPlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDdosProtectionPlan = new Azure.Network.DdosProtectionPlan(\"exampleDdosProtectionPlan\", new Azure.Network.DdosProtectionPlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleDdosProtectionPlan\", \u0026network.DdosProtectionPlanArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 ID's 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" }, "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" } }, "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" }, "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 ID's associated with the DDoS Protection Plan.\n" } }, "type": "object" } }, "azure:network/expressRouteCircuit:ExpressRouteCircuit": { "description": "Manages an ExpressRoute circuit.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n service_provider_name=\"Equinix\",\n peering_location=\"Silicon Valley\",\n bandwidth_in_mbps=50,\n sku=azure.network.ExpressRouteCircuitSkuArgs(\n tier=\"Standard\",\n family=\"MeteredData\",\n ),\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\", new Azure.Network.ExpressRouteCircuitArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewExpressRouteCircuit(ctx, \"exampleExpressRouteCircuit\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "allowClassicOperations": { "type": "boolean", "description": "Allow the circuit to interact with classic (RDFE) resources. The default value is `false`.\n" }, "bandwidthInMbps": { "type": "integer", "description": "The bandwidth in Mbps of the circuit being 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.\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" }, "serviceProviderName": { "type": "string", "description": "The name of the ExpressRoute Service Provider.\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 `sku` 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": [ "bandwidthInMbps", "location", "name", "peeringLocation", "resourceGroupName", "serviceKey", "serviceProviderName", "serviceProviderProvisioningState", "sku" ], "inputProperties": { "allowClassicOperations": { "type": "boolean", "description": "Allow the circuit to interact with classic (RDFE) resources. The default value is `false`.\n" }, "bandwidthInMbps": { "type": "integer", "description": "The bandwidth in Mbps of the circuit being 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.\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" }, "serviceProviderName": { "type": "string", "description": "The name of the ExpressRoute Service Provider.\n" }, "sku": { "$ref": "#/types/azure:network/ExpressRouteCircuitSku:ExpressRouteCircuitSku", "description": "A `sku` 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": [ "bandwidthInMbps", "peeringLocation", "resourceGroupName", "serviceProviderName", "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. The default value is `false`.\n" }, "bandwidthInMbps": { "type": "integer", "description": "The bandwidth in Mbps of the circuit being 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.\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" }, "serviceProviderName": { "type": "string", "description": "The name of the ExpressRoute Service Provider.\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 `sku` 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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(\"exampleExpressRouteCircuitAuthorization\", {\n expressRouteCircuitName: exampleExpressRouteCircuit.name,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n service_provider_name=\"Equinix\",\n peering_location=\"Silicon Valley\",\n bandwidth_in_mbps=50,\n sku=azure.network.ExpressRouteCircuitSkuArgs(\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(\"exampleExpressRouteCircuitAuthorization\",\n express_route_circuit_name=example_express_route_circuit.name,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\", new Azure.Network.ExpressRouteCircuitArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 var exampleExpressRouteCircuitAuthorization = new Azure.Network.ExpressRouteCircuitAuthorization(\"exampleExpressRouteCircuitAuthorization\", new Azure.Network.ExpressRouteCircuitAuthorizationArgs\n {\n ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"exampleExpressRouteCircuit\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleExpressRouteCircuitAuthorization\", \u0026network.ExpressRouteCircuitAuthorizationArgs{\n\t\t\tExpressRouteCircuitName: exampleExpressRouteCircuit.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "authorizationKey": { "type": "string", "description": "The Authorization Key.\n" }, "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.\n" }, "name": { "type": "string", "description": "The name of the ExpressRoute circuit. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate 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.\n" }, "name": { "type": "string", "description": "The name of the ExpressRoute circuit. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the ExpressRoute circuit. Changing this forces a new resource to be created.\n" } }, "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" }, "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.\n" }, "name": { "type": "string", "description": "The name of the ExpressRoute circuit. Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the ExpressRoute circuit. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/expressRouteCircuitPeering:ExpressRouteCircuitPeering": { "description": "Manages an ExpressRoute Circuit Peering.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creating A Microsoft Peering)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleExpressRouteCircuit = new azure.network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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(\"exampleExpressRouteCircuitPeering\", {\n peeringType: \"MicrosoftPeering\",\n expressRouteCircuitName: exampleExpressRouteCircuit.name,\n resourceGroupName: exampleResourceGroup.name,\n peerAsn: 100,\n primaryPeerAddressPrefix: \"123.0.0.0/30\",\n secondaryPeerAddressPrefix: \"123.0.0.4/30\",\n vlanId: 300,\n microsoftPeeringConfig: {\n advertisedPublicPrefixes: [\"123.1.0.0/24\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_express_route_circuit = azure.network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n service_provider_name=\"Equinix\",\n peering_location=\"Silicon Valley\",\n bandwidth_in_mbps=50,\n sku=azure.network.ExpressRouteCircuitSkuArgs(\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(\"exampleExpressRouteCircuitPeering\",\n peering_type=\"MicrosoftPeering\",\n express_route_circuit_name=example_express_route_circuit.name,\n resource_group_name=example_resource_group.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 vlan_id=300,\n microsoft_peering_config=azure.network.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs(\n advertised_public_prefixes=[\"123.1.0.0/24\"],\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleExpressRouteCircuit = new Azure.Network.ExpressRouteCircuit(\"exampleExpressRouteCircuit\", new Azure.Network.ExpressRouteCircuitArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.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 var exampleExpressRouteCircuitPeering = new Azure.Network.ExpressRouteCircuitPeering(\"exampleExpressRouteCircuitPeering\", new Azure.Network.ExpressRouteCircuitPeeringArgs\n {\n PeeringType = \"MicrosoftPeering\",\n ExpressRouteCircuitName = exampleExpressRouteCircuit.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n PeerAsn = 100,\n PrimaryPeerAddressPrefix = \"123.0.0.0/30\",\n SecondaryPeerAddressPrefix = \"123.0.0.4/30\",\n VlanId = 300,\n MicrosoftPeeringConfig = new Azure.Network.Inputs.ExpressRouteCircuitPeeringMicrosoftPeeringConfigArgs\n {\n AdvertisedPublicPrefixes = \n {\n \"123.1.0.0/24\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleExpressRouteCircuit, err := network.NewExpressRouteCircuit(ctx, \"exampleExpressRouteCircuit\", \u0026network.ExpressRouteCircuitArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleExpressRouteCircuitPeering\", \u0026network.ExpressRouteCircuitPeeringArgs{\n\t\t\tPeeringType: pulumi.String(\"MicrosoftPeering\"),\n\t\t\tExpressRouteCircuitName: exampleExpressRouteCircuit.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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.\n" }, "microsoftPeeringConfig": { "$ref": "#/types/azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig", "description": "A `microsoft_peering_config` block as defined below. Required when `peering_type` is set to `MicrosoftPeering`.\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" }, "primaryAzurePort": { "type": "string", "description": "The Primary Port used by Azure for this Peering.\n" }, "primaryPeerAddressPrefix": { "type": "string", "description": "A `/30` subnet for the primary link.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate 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 `peering_type` is set to `MicrosoftPeering`.\n" }, "secondaryAzurePort": { "type": "string", "description": "The Secondary Port used by Azure for this Peering.\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" } }, "required": [ "azureAsn", "expressRouteCircuitName", "peerAsn", "peeringType", "primaryAzurePort", "primaryPeerAddressPrefix", "resourceGroupName", "secondaryAzurePort", "secondaryPeerAddressPrefix", "vlanId" ], "inputProperties": { "expressRouteCircuitName": { "type": "string", "description": "The name of the ExpressRoute Circuit in which to create the Peering.\n" }, "microsoftPeeringConfig": { "$ref": "#/types/azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig", "description": "A `microsoft_peering_config` block as defined below. Required when `peering_type` is set to `MicrosoftPeering`.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate 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 `peering_type` is set to `MicrosoftPeering`.\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" } }, "requiredInputs": [ "expressRouteCircuitName", "peeringType", "primaryPeerAddressPrefix", "resourceGroupName", "secondaryPeerAddressPrefix", "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.\n" }, "microsoftPeeringConfig": { "$ref": "#/types/azure:network/ExpressRouteCircuitPeeringMicrosoftPeeringConfig:ExpressRouteCircuitPeeringMicrosoftPeeringConfig", "description": "A `microsoft_peering_config` block as defined below. Required when `peering_type` is set to `MicrosoftPeering`.\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" }, "primaryAzurePort": { "type": "string", "description": "The Primary Port used by Azure for this Peering.\n" }, "primaryPeerAddressPrefix": { "type": "string", "description": "A `/30` subnet for the primary link.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate 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 `peering_type` is set to `MicrosoftPeering`.\n" }, "secondaryAzurePort": { "type": "string", "description": "The Secondary Port used by Azure for this Peering.\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" } }, "azure:network/expressRouteGateway:ExpressRouteGateway": { "description": "Manages an ExpressRoute gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"exampleVirtualWan\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"exampleVirtualHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n virtualWanId: exampleVirtualWan.id,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleExpressRouteGateway = new azure.network.ExpressRouteGateway(\"exampleExpressRouteGateway\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"exampleVirtualWan\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_virtual_hub = azure.network.VirtualHub(\"exampleVirtualHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n virtual_wan_id=example_virtual_wan.id,\n address_prefix=\"10.0.1.0/24\")\nexample_express_route_gateway = azure.network.ExpressRouteGateway(\"exampleExpressRouteGateway\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n virtual_hub_id=example_virtual_hub.id,\n scale_units=1,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualWan = new Azure.Network.VirtualWan(\"exampleVirtualWan\", new Azure.Network.VirtualWanArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleVirtualHub = new Azure.Network.VirtualHub(\"exampleVirtualHub\", new Azure.Network.VirtualHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n VirtualWanId = exampleVirtualWan.Id,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleExpressRouteGateway = new Azure.Network.ExpressRouteGateway(\"exampleExpressRouteGateway\", new Azure.Network.ExpressRouteGatewayArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n VirtualHubId = exampleVirtualHub.Id,\n ScaleUnits = 1,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualWan\", \u0026network.VirtualWanArgs{\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\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"exampleVirtualHub\", \u0026network.VirtualHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleExpressRouteGateway\", \u0026network.ExpressRouteGatewayArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 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.\n" } }, "required": [ "location", "name", "resourceGroupName", "scaleUnits", "virtualHubId" ], "inputProperties": { "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.\n" } }, "requiredInputs": [ "resourceGroupName", "scaleUnits", "virtualHubId" ], "stateInputs": { "description": "Input properties used for looking up and filtering ExpressRouteGateway 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" }, "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.\n" } }, "type": "object" } }, "azure:network/firewall:Firewall": { "description": "Manages an Azure Firewall.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"North Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"exampleFirewall\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"North Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"exampleFirewall\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.FirewallIpConfigurationArgs(\n name=\"configuration\",\n subnet_id=example_subnet.id,\n public_ip_address_id=example_public_ip.id,\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"North Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n });\n var exampleFirewall = new Azure.Network.Firewall(\"exampleFirewall\", new Azure.Network.FirewallArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"North Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleFirewall\", \u0026network.FirewallArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/FirewallIpConfiguration:FirewallIpConfiguration" }, "description": "An `ip_configuration` 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 `management_ip_configuration` block as documented below, which allows force-tunnelling of traffic to be performed by the firewall. Adding or removing this block or changing the `subnet_id` in an existing block 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" }, "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" }, "threatIntelMode": { "type": "string", "description": "The operation mode for threat intelligence-based filtering. Possible values are: `Off`, `Alert` and `Deny`. Defaults to `Alert`\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "Specifies the availability zones in which the Azure Firewall should be created. Changing this forces a new resource to be created.\n" } }, "required": [ "ipConfigurations", "location", "name", "resourceGroupName" ], "inputProperties": { "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/FirewallIpConfiguration:FirewallIpConfiguration" }, "description": "An `ip_configuration` 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 `management_ip_configuration` block as documented below, which allows force-tunnelling of traffic to be performed by the firewall. Adding or removing this block or changing the `subnet_id` in an existing block 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" }, "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" }, "threatIntelMode": { "type": "string", "description": "The operation mode for threat intelligence-based filtering. Possible values are: `Off`, `Alert` and `Deny`. Defaults to `Alert`\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "Specifies the availability zones in which the Azure Firewall should be created. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "ipConfigurations", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Firewall resources.\n", "properties": { "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/FirewallIpConfiguration:FirewallIpConfiguration" }, "description": "An `ip_configuration` 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 `management_ip_configuration` block as documented below, which allows force-tunnelling of traffic to be performed by the firewall. Adding or removing this block or changing the `subnet_id` in an existing block 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" }, "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" }, "threatIntelMode": { "type": "string", "description": "The operation mode for threat intelligence-based filtering. Possible values are: `Off`, `Alert` and `Deny`. Defaults to `Alert`\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "Specifies the availability zones in which the Azure Firewall should be created. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/firewallApplicationRuleCollection:FirewallApplicationRuleCollection": { "description": "Manages an Application Rule Collection within an Azure Firewall.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"North Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"exampleFirewall\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"configuration\",\n subnetId: exampleSubnet.id,\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleFirewallApplicationRuleCollection = new azure.network.FirewallApplicationRuleCollection(\"exampleFirewallApplicationRuleCollection\", {\n azureFirewallName: exampleFirewall.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"North Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"exampleFirewall\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.FirewallIpConfigurationArgs(\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(\"exampleFirewallApplicationRuleCollection\",\n azure_firewall_name=example_firewall.name,\n resource_group_name=example_resource_group.name,\n priority=100,\n action=\"Allow\",\n rules=[azure.network.FirewallApplicationRuleCollectionRuleArgs(\n name=\"testrule\",\n source_addresses=[\"10.0.0.0/16\"],\n target_fqdns=[\"*.google.com\"],\n protocols=[azure.network.FirewallApplicationRuleCollectionRuleProtocolArgs(\n port=443,\n type=\"Https\",\n )],\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"North Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n });\n var exampleFirewall = new Azure.Network.Firewall(\"exampleFirewall\", new Azure.Network.FirewallArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.FirewallIpConfigurationArgs\n {\n Name = \"configuration\",\n SubnetId = exampleSubnet.Id,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleFirewallApplicationRuleCollection = new Azure.Network.FirewallApplicationRuleCollection(\"exampleFirewallApplicationRuleCollection\", new Azure.Network.FirewallApplicationRuleCollectionArgs\n {\n AzureFirewallName = exampleFirewall.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Priority = 100,\n Action = \"Allow\",\n Rules = \n {\n new Azure.Network.Inputs.FirewallApplicationRuleCollectionRuleArgs\n {\n Name = \"testrule\",\n SourceAddresses = \n {\n \"10.0.0.0/16\",\n },\n TargetFqdns = \n {\n \"*.google.com\",\n },\n Protocols = \n {\n new Azure.Network.Inputs.FirewallApplicationRuleCollectionRuleProtocolArgs\n {\n Port = 443,\n Type = \"Https\",\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"North Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleFirewall\", \u0026network.FirewallArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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, \"exampleFirewallApplicationRuleCollection\", \u0026network.FirewallApplicationRuleCollectionArgs{\n\t\t\tAzureFirewallName: exampleFirewall.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `100` - `65000`.\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 `rule` 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" }, "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 `100` - `65000`.\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 `rule` 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" }, "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 `100` - `65000`.\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 `rule` blocks as defined below.\n" } }, "type": "object" } }, "azure:network/firewallNatRuleCollection:FirewallNatRuleCollection": { "description": "Manages a NAT Rule Collection within an Azure Firewall.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"North Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"exampleFirewall\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"configuration\",\n subnetId: exampleSubnet.id,\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleFirewallNatRuleCollection = new azure.network.FirewallNatRuleCollection(\"exampleFirewallNatRuleCollection\", {\n azureFirewallName: exampleFirewall.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"North Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"exampleFirewall\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.FirewallIpConfigurationArgs(\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(\"exampleFirewallNatRuleCollection\",\n azure_firewall_name=example_firewall.name,\n resource_group_name=example_resource_group.name,\n priority=100,\n action=\"Dnat\",\n rules=[azure.network.FirewallNatRuleCollectionRuleArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"North Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n });\n var exampleFirewall = new Azure.Network.Firewall(\"exampleFirewall\", new Azure.Network.FirewallArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.FirewallIpConfigurationArgs\n {\n Name = \"configuration\",\n SubnetId = exampleSubnet.Id,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleFirewallNatRuleCollection = new Azure.Network.FirewallNatRuleCollection(\"exampleFirewallNatRuleCollection\", new Azure.Network.FirewallNatRuleCollectionArgs\n {\n AzureFirewallName = exampleFirewall.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Priority = 100,\n Action = \"Dnat\",\n Rules = \n {\n new Azure.Network.Inputs.FirewallNatRuleCollectionRuleArgs\n {\n Name = \"testrule\",\n SourceAddresses = \n {\n \"10.0.0.0/16\",\n },\n DestinationPorts = \n {\n \"53\",\n },\n DestinationAddresses = \n {\n examplePublicIp.IpAddress,\n },\n TranslatedPort = \"53\",\n TranslatedAddress = \"8.8.8.8\",\n Protocols = \n {\n \"TCP\",\n \"UDP\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"North Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleFirewall\", \u0026network.FirewallArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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, \"exampleFirewallNatRuleCollection\", \u0026network.FirewallNatRuleCollectionArgs{\n\t\t\tAzureFirewallName: exampleFirewall.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `100` - `65000`.\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 `rule` 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" }, "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 `100` - `65000`.\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 `rule` 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" }, "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 `100` - `65000`.\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 `rule` blocks as defined below.\n" } }, "type": "object" } }, "azure:network/firewallNetworkRuleCollection:FirewallNetworkRuleCollection": { "description": "Manages a Network Rule Collection within an Azure Firewall.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"North Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n});\nconst exampleFirewall = new azure.network.Firewall(\"exampleFirewall\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"configuration\",\n subnetId: exampleSubnet.id,\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleFirewallNetworkRuleCollection = new azure.network.FirewallNetworkRuleCollection(\"exampleFirewallNetworkRuleCollection\", {\n azureFirewallName: exampleFirewall.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"North Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\")\nexample_firewall = azure.network.Firewall(\"exampleFirewall\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.FirewallIpConfigurationArgs(\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(\"exampleFirewallNetworkRuleCollection\",\n azure_firewall_name=example_firewall.name,\n resource_group_name=example_resource_group.name,\n priority=100,\n action=\"Allow\",\n rules=[azure.network.FirewallNetworkRuleCollectionRuleArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"North Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n });\n var exampleFirewall = new Azure.Network.Firewall(\"exampleFirewall\", new Azure.Network.FirewallArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.FirewallIpConfigurationArgs\n {\n Name = \"configuration\",\n SubnetId = exampleSubnet.Id,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleFirewallNetworkRuleCollection = new Azure.Network.FirewallNetworkRuleCollection(\"exampleFirewallNetworkRuleCollection\", new Azure.Network.FirewallNetworkRuleCollectionArgs\n {\n AzureFirewallName = exampleFirewall.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Priority = 100,\n Action = \"Allow\",\n Rules = \n {\n new Azure.Network.Inputs.FirewallNetworkRuleCollectionRuleArgs\n {\n Name = \"testrule\",\n SourceAddresses = \n {\n \"10.0.0.0/16\",\n },\n DestinationPorts = \n {\n \"53\",\n },\n DestinationAddresses = \n {\n \"8.8.8.8\",\n \"8.8.4.4\",\n },\n Protocols = \n {\n \"TCP\",\n \"UDP\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"North Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleFirewall\", \u0026network.FirewallArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\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, \"exampleFirewallNetworkRuleCollection\", \u0026network.FirewallNetworkRuleCollectionArgs{\n\t\t\tAzureFirewallName: exampleFirewall.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `100` - `65000`.\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 `rule` 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" }, "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 `100` - `65000`.\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 `rule` 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" }, "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 `100` - `65000`.\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 `rule` blocks as defined below.\n" } }, "type": "object" } }, "azure:network/firewallPolicy:FirewallPolicy": { "description": "Manages a Firewall Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.network.FirewallPolicy(\"example\", {\n location: \"West Europe\",\n resourceGroupName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.FirewallPolicy(\"example\",\n location=\"West Europe\",\n resource_group_name=\"example\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Network.FirewallPolicy(\"example\", new Azure.Network.FirewallPolicyArgs\n {\n Location = \"West Europe\",\n ResourceGroupName = \"example\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewFirewallPolicy(ctx, \"example\", \u0026network.FirewallPolicyArgs{\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: 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{{% /example %}}\n{{% /examples %}}", "properties": { "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 `dns` 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" }, "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" }, "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" }, "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 `threat_intelligence_allowlist` 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" } }, "required": [ "childPolicies", "firewalls", "location", "name", "resourceGroupName", "ruleCollectionGroups" ], "inputProperties": { "basePolicyId": { "type": "string", "description": "The ID of the base Firewall Policy.\n" }, "dns": { "$ref": "#/types/azure:network/FirewallPolicyDns:FirewallPolicyDns", "description": "A `dns` 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" }, "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" }, "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 `threat_intelligence_allowlist` 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" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering FirewallPolicy resources.\n", "properties": { "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 `dns` 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" }, "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" }, "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" }, "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 `threat_intelligence_allowlist` 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" } }, "type": "object" } }, "azure:network/iPGroup:IPGroup": { "description": "Manages an IP group that contains a list of CIDRs and/or IP addresses.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus\"});\nconst exampleIPGroup = new azure.network.IPGroup(\"exampleIPGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus\")\nexample_ip_group = azure.network.IPGroup(\"exampleIPGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus\",\n });\n var exampleIPGroup = new Azure.Network.IPGroup(\"exampleIPGroup\", new Azure.Network.IPGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Cidrs = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\t_, err = network.NewIPGroup(ctx, \"exampleIPGroup\", \u0026network.IPGroupArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "cidrs": { "type": "array", "items": { "type": "string" }, "description": "A list of CIDRs or IP addresses.\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": [ "location", "name", "resourceGroupName" ], "inputProperties": { "cidrs": { "type": "array", "items": { "type": "string" }, "description": "A list of CIDRs or IP addresses.\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" } }, "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" }, "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" } }, "type": "object" } }, "azure:network/localNetworkGateway:LocalNetworkGateway": { "description": "Manages a local network gateway connection over which specific connections can be configured.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US\"});\nconst home = new azure.network.LocalNetworkGateway(\"home\", {\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\", location=\"West US\")\nhome = azure.network.LocalNetworkGateway(\"home\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var home = new Azure.Network.LocalNetworkGateway(\"home\", new Azure.Network.LocalNetworkGatewayArgs\n {\n ResourceGroupName = example.Name,\n Location = example.Location,\n GatewayAddress = \"12.13.14.15\",\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\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.NewLocalNetworkGateway(ctx, \"home\", \u0026network.LocalNetworkGatewayArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "addressSpaces": { "type": "array", "items": { "type": "string" }, "description": "The list of string CIDRs representing the\naddress spaces the gateway exposes.\n" }, "bgpSettings": { "$ref": "#/types/azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings", "description": "A `bgp_settings` block as defined below containing the\nLocal Network Gateway's BGP speaker settings.\n" }, "gatewayAddress": { "type": "string", "description": "The IP address of the gateway to which to\nconnect.\n" }, "location": { "type": "string", "description": "The location/region where the local network gateway is\ncreated. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the local network gateway. Changing this\nforces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the local network gateway.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "addressSpaces", "gatewayAddress", "location", "name", "resourceGroupName" ], "inputProperties": { "addressSpaces": { "type": "array", "items": { "type": "string" }, "description": "The list of string CIDRs representing the\naddress spaces the gateway exposes.\n" }, "bgpSettings": { "$ref": "#/types/azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings", "description": "A `bgp_settings` block as defined below containing the\nLocal Network Gateway's BGP speaker settings.\n" }, "gatewayAddress": { "type": "string", "description": "The IP address of the gateway to which to\nconnect.\n" }, "location": { "type": "string", "description": "The location/region where the local network gateway is\ncreated. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the local network gateway. Changing this\nforces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the local network gateway.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "addressSpaces", "gatewayAddress", "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\naddress spaces the gateway exposes.\n" }, "bgpSettings": { "$ref": "#/types/azure:network/LocalNetworkGatewayBgpSettings:LocalNetworkGatewayBgpSettings", "description": "A `bgp_settings` block as defined below containing the\nLocal Network Gateway's BGP speaker settings.\n" }, "gatewayAddress": { "type": "string", "description": "The IP address of the gateway to which to\nconnect.\n" }, "location": { "type": "string", "description": "The location/region where the local network gateway is\ncreated. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the local network gateway. Changing this\nforces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the local network gateway.\n" }, "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 a Azure NAT Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"eastus2\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n zones: [\"1\"],\n});\nconst examplePublicIpPrefix = new azure.network.PublicIpPrefix(\"examplePublicIpPrefix\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n prefixLength: 30,\n zones: [\"1\"],\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"exampleNatGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n publicIpAddressIds: [examplePublicIp.id],\n publicIpPrefixIds: [examplePublicIpPrefix.id],\n skuName: \"Standard\",\n idleTimeoutInMinutes: 10,\n zones: [\"1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"eastus2\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\",\n zones=[\"1\"])\nexample_public_ip_prefix = azure.network.PublicIpPrefix(\"examplePublicIpPrefix\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n prefix_length=30,\n zones=[\"1\"])\nexample_nat_gateway = azure.network.NatGateway(\"exampleNatGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n public_ip_address_ids=[example_public_ip.id],\n public_ip_prefix_ids=[example_public_ip_prefix.id],\n sku_name=\"Standard\",\n idle_timeout_in_minutes=10,\n zones=[\"1\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus2\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n Zones = \n {\n \"1\",\n },\n });\n var examplePublicIpPrefix = new Azure.Network.PublicIpPrefix(\"examplePublicIpPrefix\", new Azure.Network.PublicIpPrefixArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PrefixLength = 30,\n Zones = \n {\n \"1\",\n },\n });\n var exampleNatGateway = new Azure.Network.NatGateway(\"exampleNatGateway\", new Azure.Network.NatGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PublicIpAddressIds = \n {\n examplePublicIp.Id,\n },\n PublicIpPrefixIds = \n {\n examplePublicIpPrefix.Id,\n },\n SkuName = \"Standard\",\n IdleTimeoutInMinutes = 10,\n Zones = \n {\n \"1\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tZones: pulumi.String(pulumi.String{\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\texamplePublicIpPrefix, err := network.NewPublicIpPrefix(ctx, \"examplePublicIpPrefix\", \u0026network.PublicIpPrefixArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPrefixLength: pulumi.Int(30),\n\t\t\tZones: pulumi.String(pulumi.String{\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 = network.NewNatGateway(ctx, \"exampleNatGateway\", \u0026network.NatGatewayArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPublicIpAddressIds: pulumi.StringArray{\n\t\t\t\texamplePublicIp.ID(),\n\t\t\t},\n\t\t\tPublicIpPrefixIds: pulumi.StringArray{\n\t\t\t\texamplePublicIpPrefix.ID(),\n\t\t\t},\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{{% /example %}}\n{{% /examples %}}", "properties": { "idleTimeoutInMinutes": { "type": "integer", "description": "The idle timeout which should be used in minutes. Defaults to `4`.\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" }, "publicIpAddressIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Public IP Address ID's which should be associated with the NAT Gateway resource.\n", "deprecationMessage": "Inline Public IP Address ID Deprecations have been deprecated in favour of the `azurerm_nat_gateway_public_ip_association` resource. This field will be removed in the next major version of the Azure Provider." }, "publicIpPrefixIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Public IP Prefix ID's which should be associated with the NAT Gateway resource.\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. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of availability zones where the NAT Gateway should be provisioned. Changing this forces a new resource to be created.\n" } }, "required": [ "location", "name", "publicIpAddressIds", "resourceGroupName", "resourceGuid" ], "inputProperties": { "idleTimeoutInMinutes": { "type": "integer", "description": "The idle timeout which should be used in minutes. Defaults to `4`.\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" }, "publicIpAddressIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Public IP Address ID's which should be associated with the NAT Gateway resource.\n", "deprecationMessage": "Inline Public IP Address ID Deprecations have been deprecated in favour of the `azurerm_nat_gateway_public_ip_association` resource. This field will be removed in the next major version of the Azure Provider." }, "publicIpPrefixIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Public IP Prefix ID's which should be associated with the NAT Gateway resource.\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" }, "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. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of availability zones where the NAT Gateway should be provisioned. Changing this forces a new resource to be created.\n" } }, "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 `4`.\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" }, "publicIpAddressIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Public IP Address ID's which should be associated with the NAT Gateway resource.\n", "deprecationMessage": "Inline Public IP Address ID Deprecations have been deprecated in favour of the `azurerm_nat_gateway_public_ip_association` resource. This field will be removed in the next major version of the Azure Provider." }, "publicIpPrefixIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Public IP Prefix ID's which should be associated with the NAT Gateway resource.\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. Changing this forces a new resource to be created.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "A list of availability zones where the NAT Gateway should be provisioned. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/natGatewayPublicIpAssociation:NatGatewayPublicIpAssociation": { "description": "Manages the association between a Nat Gateway and a Public IP.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"exampleNatGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Standard\",\n});\nconst exampleNatGatewayPublicIpAssociation = new azure.network.NatGatewayPublicIpAssociation(\"exampleNatGatewayPublicIpAssociation\", {\n natGatewayId: exampleNatGateway.id,\n publicIpAddressId: examplePublicIp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\",\n sku=\"Standard\")\nexample_nat_gateway = azure.network.NatGateway(\"exampleNatGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Standard\")\nexample_nat_gateway_public_ip_association = azure.network.NatGatewayPublicIpAssociation(\"exampleNatGatewayPublicIpAssociation\",\n nat_gateway_id=example_nat_gateway.id,\n public_ip_address_id=example_public_ip.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n });\n var exampleNatGateway = new Azure.Network.NatGateway(\"exampleNatGateway\", new Azure.Network.NatGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Standard\",\n });\n var exampleNatGatewayPublicIpAssociation = new Azure.Network.NatGatewayPublicIpAssociation(\"exampleNatGatewayPublicIpAssociation\", new Azure.Network.NatGatewayPublicIpAssociationArgs\n {\n NatGatewayId = exampleNatGateway.Id,\n PublicIpAddressId = examplePublicIp.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleNatGateway\", \u0026network.NatGatewayArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleNatGatewayPublicIpAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:network/networkConnectionMonitor:NetworkConnectionMonitor": { "description": "Manages a Network Connection Monitor.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"exampleNetworkWatcher\", {\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n});\nconst srcVirtualMachine = exampleResourceGroup.then(exampleResourceGroup =\u003e azure.compute.getVirtualMachine({\n name: \"example-vm\",\n resourceGroupName: exampleResourceGroup.name,\n}));\nconst srcExtension = new azure.compute.Extension(\"srcExtension\", {\n virtualMachineId: srcVirtualMachine.then(srcVirtualMachine =\u003e srcVirtualMachine.id),\n publisher: \"Microsoft.Azure.NetworkWatcher\",\n type: \"NetworkWatcherAgentLinux\",\n typeHandlerVersion: \"1.4\",\n autoUpgradeMinorVersion: true,\n});\nconst exampleNetworkConnectionMonitor = new azure.network.NetworkConnectionMonitor(\"exampleNetworkConnectionMonitor\", {\n networkWatcherName: exampleNetworkWatcher.name,\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n location: exampleNetworkWatcher.location,\n autoStart: false,\n intervalInSeconds: 30,\n source: {\n virtualMachineId: srcVirtualMachine.then(srcVirtualMachine =\u003e srcVirtualMachine.id),\n port: 20020,\n },\n destination: {\n address: \"mycompany.io\",\n port: 443,\n },\n tags: {\n foo: \"bar\",\n },\n}, {\n dependsOn: [srcExtension],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.get_resource_group(name=\"example-resources\")\nexample_network_watcher = azure.network.NetworkWatcher(\"exampleNetworkWatcher\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nsrc_virtual_machine = azure.compute.get_virtual_machine(name=\"example-vm\",\n resource_group_name=example_resource_group.name)\nsrc_extension = azure.compute.Extension(\"srcExtension\",\n virtual_machine_id=src_virtual_machine.id,\n publisher=\"Microsoft.Azure.NetworkWatcher\",\n type=\"NetworkWatcherAgentLinux\",\n type_handler_version=\"1.4\",\n auto_upgrade_minor_version=True)\nexample_network_connection_monitor = azure.network.NetworkConnectionMonitor(\"exampleNetworkConnectionMonitor\",\n network_watcher_name=example_network_watcher.name,\n resource_group_name=example_resource_group.name,\n location=example_network_watcher.location,\n auto_start=False,\n interval_in_seconds=30,\n source=azure.network.NetworkConnectionMonitorSourceArgs(\n virtual_machine_id=src_virtual_machine.id,\n port=20020,\n ),\n destination=azure.network.NetworkConnectionMonitorDestinationArgs(\n address=\"mycompany.io\",\n port=443,\n ),\n tags={\n \"foo\": \"bar\",\n },\n opts=ResourceOptions(depends_on=[src_extension]))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleNetworkWatcher = new Azure.Network.NetworkWatcher(\"exampleNetworkWatcher\", new Azure.Network.NetworkWatcherArgs\n {\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n });\n var srcVirtualMachine = exampleResourceGroup.Apply(exampleResourceGroup =\u003e Output.Create(Azure.Compute.GetVirtualMachine.InvokeAsync(new Azure.Compute.GetVirtualMachineArgs\n {\n Name = \"example-vm\",\n ResourceGroupName = exampleResourceGroup.Name,\n })));\n var srcExtension = new Azure.Compute.Extension(\"srcExtension\", new Azure.Compute.ExtensionArgs\n {\n VirtualMachineId = srcVirtualMachine.Apply(srcVirtualMachine =\u003e srcVirtualMachine.Id),\n Publisher = \"Microsoft.Azure.NetworkWatcher\",\n Type = \"NetworkWatcherAgentLinux\",\n TypeHandlerVersion = \"1.4\",\n AutoUpgradeMinorVersion = true,\n });\n var exampleNetworkConnectionMonitor = new Azure.Network.NetworkConnectionMonitor(\"exampleNetworkConnectionMonitor\", new Azure.Network.NetworkConnectionMonitorArgs\n {\n NetworkWatcherName = exampleNetworkWatcher.Name,\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Location = exampleNetworkWatcher.Location,\n AutoStart = false,\n IntervalInSeconds = 30,\n Source = new Azure.Network.Inputs.NetworkConnectionMonitorSourceArgs\n {\n VirtualMachineId = srcVirtualMachine.Apply(srcVirtualMachine =\u003e srcVirtualMachine.Id),\n Port = 20020,\n },\n Destination = new Azure.Network.Inputs.NetworkConnectionMonitorDestinationArgs\n {\n Address = \"mycompany.io\",\n Port = 443,\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n srcExtension,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, 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\texampleNetworkWatcher, err := network.NewNetworkWatcher(ctx, \"exampleNetworkWatcher\", \u0026network.NetworkWatcherArgs{\n\t\t\tLocation: pulumi.String(exampleResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.String(exampleResourceGroup.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsrcVirtualMachine, err := compute.LookupVirtualMachine(ctx, \u0026compute.LookupVirtualMachineArgs{\n\t\t\tName: \"example-vm\",\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsrcExtension, err := compute.NewExtension(ctx, \"srcExtension\", \u0026compute.ExtensionArgs{\n\t\t\tVirtualMachineId: pulumi.String(srcVirtualMachine.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\t_, err = network.NewNetworkConnectionMonitor(ctx, \"exampleNetworkConnectionMonitor\", \u0026network.NetworkConnectionMonitorArgs{\n\t\t\tNetworkWatcherName: exampleNetworkWatcher.Name,\n\t\t\tResourceGroupName: pulumi.String(exampleResourceGroup.Name),\n\t\t\tLocation: exampleNetworkWatcher.Location,\n\t\t\tAutoStart: pulumi.Bool(false),\n\t\t\tIntervalInSeconds: pulumi.Int(30),\n\t\t\tSource: \u0026network.NetworkConnectionMonitorSourceArgs{\n\t\t\t\tVirtualMachineId: pulumi.String(srcVirtualMachine.Id),\n\t\t\t\tPort: pulumi.Int(20020),\n\t\t\t},\n\t\t\tDestination: \u0026network.NetworkConnectionMonitorDestinationArgs{\n\t\t\t\tAddress: pulumi.String(\"mycompany.io\"),\n\t\t\t\tPort: pulumi.Int(443),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsrcExtension,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "autoStart": { "type": "boolean", "description": "Will the connection monitor start automatically once created? Changing this forces a new Network Connection Monitor to be created.\n" }, "destination": { "$ref": "#/types/azure:network/NetworkConnectionMonitorDestination:NetworkConnectionMonitorDestination", "description": "A `destination` block as defined below.\n" }, "intervalInSeconds": { "type": "integer", "description": "Monitoring interval in seconds.\n" }, "location": { "type": "string", "description": "The Azure Region where the Network Connection Monitor should exist. Changing this forces a new Network Connection Monitor to be created.\n" }, "name": { "type": "string", "description": "The name which should be used for this Network Connection Monitor. Changing this forces a new Network Connection Monitor to be created.\n" }, "networkWatcherName": { "type": "string", "description": "The name of the Network Watcher. Changing this forces a new Network Connection Monitor to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Network Connection Monitor should exist. Changing this forces a new Network Connection Monitor to be created.\n" }, "source": { "$ref": "#/types/azure:network/NetworkConnectionMonitorSource:NetworkConnectionMonitorSource", "description": "A `source` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Network Connection Monitor.\n" } }, "required": [ "destination", "location", "name", "networkWatcherName", "resourceGroupName", "source" ], "inputProperties": { "autoStart": { "type": "boolean", "description": "Will the connection monitor start automatically once created? Changing this forces a new Network Connection Monitor to be created.\n" }, "destination": { "$ref": "#/types/azure:network/NetworkConnectionMonitorDestination:NetworkConnectionMonitorDestination", "description": "A `destination` block as defined below.\n" }, "intervalInSeconds": { "type": "integer", "description": "Monitoring interval in seconds.\n" }, "location": { "type": "string", "description": "The Azure Region where the Network Connection Monitor should exist. Changing this forces a new Network Connection Monitor to be created.\n" }, "name": { "type": "string", "description": "The name which should be used for this Network Connection Monitor. Changing this forces a new Network Connection Monitor to be created.\n" }, "networkWatcherName": { "type": "string", "description": "The name of the Network Watcher. Changing this forces a new Network Connection Monitor to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Network Connection Monitor should exist. Changing this forces a new Network Connection Monitor to be created.\n" }, "source": { "$ref": "#/types/azure:network/NetworkConnectionMonitorSource:NetworkConnectionMonitorSource", "description": "A `source` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Network Connection Monitor.\n" } }, "requiredInputs": [ "destination", "networkWatcherName", "resourceGroupName", "source" ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkConnectionMonitor resources.\n", "properties": { "autoStart": { "type": "boolean", "description": "Will the connection monitor start automatically once created? Changing this forces a new Network Connection Monitor to be created.\n" }, "destination": { "$ref": "#/types/azure:network/NetworkConnectionMonitorDestination:NetworkConnectionMonitorDestination", "description": "A `destination` block as defined below.\n" }, "intervalInSeconds": { "type": "integer", "description": "Monitoring interval in seconds.\n" }, "location": { "type": "string", "description": "The Azure Region where the Network Connection Monitor should exist. Changing this forces a new Network Connection Monitor to be created.\n" }, "name": { "type": "string", "description": "The name which should be used for this Network Connection Monitor. Changing this forces a new Network Connection Monitor to be created.\n" }, "networkWatcherName": { "type": "string", "description": "The name of the Network Watcher. Changing this forces a new Network Connection Monitor to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Network Connection Monitor should exist. Changing this forces a new Network Connection Monitor to be created.\n" }, "source": { "$ref": "#/types/azure:network/NetworkConnectionMonitorSource:NetworkConnectionMonitorSource", "description": "A `source` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Network Connection Monitor.\n" } }, "type": "object" } }, "azure:network/networkInterface:NetworkInterface": { "description": "Manages a Network Interface.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\n name=\"internal\",\n subnet_id=example_subnet.id,\n private_ip_address_allocation=\"Dynamic\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\t_, err = network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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" }, "enableAcceleratedNetworking": { "type": "boolean", "description": "Should Accelerated Networking be enabled? Defaults to `false`.\n" }, "enableIpForwarding": { "type": "boolean", "description": "Should IP Forwarding be enabled? Defaults to `false`.\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 `internal_dns_name_label` 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 `internal_domain_name_suffix`.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration" }, "description": "One or more `ip_configuration` blocks as defined below.\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 Static IP Address which should be used.\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", "dnsServers", "internalDnsNameLabel", "internalDomainNameSuffix", "ipConfigurations", "location", "macAddress", "name", "privateIpAddress", "privateIpAddresses", "resourceGroupName", "virtualMachineId" ], "inputProperties": { "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" }, "enableAcceleratedNetworking": { "type": "boolean", "description": "Should Accelerated Networking be enabled? Defaults to `false`.\n" }, "enableIpForwarding": { "type": "boolean", "description": "Should IP Forwarding be enabled? Defaults to `false`.\n" }, "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 `ip_configuration` blocks as defined below.\n" }, "location": { "type": "string", "description": "The location where the Network Interface should exist. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the Network Interface. 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 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" } }, "requiredInputs": [ "ipConfigurations", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkInterface resources.\n", "properties": { "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" }, "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" }, "enableAcceleratedNetworking": { "type": "boolean", "description": "Should Accelerated Networking be enabled? Defaults to `false`.\n" }, "enableIpForwarding": { "type": "boolean", "description": "Should IP Forwarding be enabled? Defaults to `false`.\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 `internal_dns_name_label` 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 `internal_domain_name_suffix`.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/NetworkInterfaceIpConfiguration:NetworkInterfaceIpConfiguration" }, "description": "One or more `ip_configuration` blocks as defined below.\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 Static IP Address which should be used.\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" } }, "type": "object" } }, "azure:network/networkInterfaceApplicationGatewayBackendAddressPoolAssociation:NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation": { "description": "Manages the association between a Network Interface and a Application Gateway's Backend Address Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst frontend = new azure.network.Subnet(\"frontend\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst backend = new azure.network.Subnet(\"backend\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Dynamic\",\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 resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: {\n name: \"Standard_Small\",\n tier: \"Standard\",\n capacity: 2,\n },\n gatewayIpConfigurations: [{\n name: \"my-gateway-ip-configuration\",\n subnetId: frontend.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 httpListenerName: listenerName,\n backendAddressPoolName: backendAddressPoolName,\n backendHttpSettingsName: httpSettingName,\n }],\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: frontend.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation = new azure.network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(\"exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nfrontend = azure.network.Subnet(\"frontend\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nbackend = azure.network.Subnet(\"backend\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Dynamic\")\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 resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=azure.network.ApplicationGatewaySkuArgs(\n name=\"Standard_Small\",\n tier=\"Standard\",\n capacity=2,\n ),\n gateway_ip_configurations=[azure.network.ApplicationGatewayGatewayIpConfigurationArgs(\n name=\"my-gateway-ip-configuration\",\n subnet_id=frontend.id,\n )],\n frontend_ports=[azure.network.ApplicationGatewayFrontendPortArgs(\n name=frontend_port_name,\n port=80,\n )],\n frontend_ip_configurations=[azure.network.ApplicationGatewayFrontendIpConfigurationArgs(\n name=frontend_ip_configuration_name,\n public_ip_address_id=example_public_ip.id,\n )],\n backend_address_pools=[azure.network.ApplicationGatewayBackendAddressPoolArgs(\n name=backend_address_pool_name,\n )],\n backend_http_settings=[azure.network.ApplicationGatewayBackendHttpSettingArgs(\n name=http_setting_name,\n cookie_based_affinity=\"Disabled\",\n port=80,\n protocol=\"Http\",\n request_timeout=1,\n )],\n http_listeners=[azure.network.ApplicationGatewayHttpListenerArgs(\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=[azure.network.ApplicationGatewayRequestRoutingRuleArgs(\n name=request_routing_rule_name,\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 )])\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\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(\"exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var frontend = new Azure.Network.Subnet(\"frontend\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var backend = new Azure.Network.Subnet(\"backend\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n });\n var backendAddressPoolName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-beap\");\n var frontendPortName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feport\");\n var frontendIpConfigurationName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-feip\");\n var httpSettingName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-be-htst\");\n var listenerName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-httplstn\");\n var requestRoutingRuleName = exampleVirtualNetwork.Name.Apply(name =\u003e $\"{name}-rqrt\");\n var network = new Azure.Network.ApplicationGateway(\"network\", new Azure.Network.ApplicationGatewayArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = new Azure.Network.Inputs.ApplicationGatewaySkuArgs\n {\n Name = \"Standard_Small\",\n Tier = \"Standard\",\n Capacity = 2,\n },\n GatewayIpConfigurations = \n {\n new Azure.Network.Inputs.ApplicationGatewayGatewayIpConfigurationArgs\n {\n Name = \"my-gateway-ip-configuration\",\n SubnetId = frontend.Id,\n },\n },\n FrontendPorts = \n {\n new Azure.Network.Inputs.ApplicationGatewayFrontendPortArgs\n {\n Name = frontendPortName,\n Port = 80,\n },\n },\n FrontendIpConfigurations = \n {\n new Azure.Network.Inputs.ApplicationGatewayFrontendIpConfigurationArgs\n {\n Name = frontendIpConfigurationName,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n BackendAddressPools = \n {\n new Azure.Network.Inputs.ApplicationGatewayBackendAddressPoolArgs\n {\n Name = backendAddressPoolName,\n },\n },\n BackendHttpSettings = \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 = \n {\n new Azure.Network.Inputs.ApplicationGatewayHttpListenerArgs\n {\n Name = listenerName,\n FrontendIpConfigurationName = frontendIpConfigurationName,\n FrontendPortName = frontendPortName,\n Protocol = \"Http\",\n },\n },\n RequestRoutingRules = \n {\n new Azure.Network.Inputs.ApplicationGatewayRequestRoutingRuleArgs\n {\n Name = requestRoutingRuleName,\n RuleType = \"Basic\",\n HttpListenerName = listenerName,\n BackendAddressPoolName = backendAddressPoolName,\n BackendHttpSettingsName = httpSettingName,\n },\n },\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = frontend.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation = new Azure.Network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociation(\"exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation\", new Azure.Network.NetworkInterfaceApplicationGatewayBackendAddressPoolAssociationArgs\n {\n NetworkInterfaceId = exampleNetworkInterface.Id,\n IpConfigurationName = \"testconfiguration1\",\n BackendAddressPoolId = network.BackendAddressPools.Apply(backendAddressPools =\u003e backendAddressPools[0].Id),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\tfrontend, err := network.NewSubnet(ctx, \"frontend\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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.NewSubnet(ctx, \"backend\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\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\tnetwork, err := network.NewApplicationGateway(ctx, \"network\", \u0026network.ApplicationGatewayArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tSku: \u0026network.ApplicationGatewaySkuArgs{\n\t\t\t\tName: pulumi.String(\"Standard_Small\"),\n\t\t\t\tTier: pulumi.String(\"Standard\"),\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: frontend.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\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, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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: 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, \"exampleNetworkInterfaceApplicationGatewayBackendAddressPoolAssociation\", \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 backendAddressPools[0].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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:network/networkInterfaceApplicationSecurityGroupAssociation:NetworkInterfaceApplicationSecurityGroupAssociation": { "description": "Manages the association between a Network Interface and a Application Security Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleApplicationSecurityGroup = new azure.network.ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleNetworkInterfaceApplicationSecurityGroupAssociation = new azure.network.NetworkInterfaceApplicationSecurityGroupAssociation(\"exampleNetworkInterfaceApplicationSecurityGroupAssociation\", {\n networkInterfaceId: exampleNetworkInterface.id,\n applicationSecurityGroupId: exampleApplicationSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_application_security_group = azure.network.ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\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(\"exampleNetworkInterfaceApplicationSecurityGroupAssociation\",\n network_interface_id=example_network_interface.id,\n application_security_group_id=example_application_security_group.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleApplicationSecurityGroup = new Azure.Network.ApplicationSecurityGroup(\"exampleApplicationSecurityGroup\", new Azure.Network.ApplicationSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleNetworkInterfaceApplicationSecurityGroupAssociation = new Azure.Network.NetworkInterfaceApplicationSecurityGroupAssociation(\"exampleNetworkInterfaceApplicationSecurityGroupAssociation\", new Azure.Network.NetworkInterfaceApplicationSecurityGroupAssociationArgs\n {\n NetworkInterfaceId = exampleNetworkInterface.Id,\n ApplicationSecurityGroupId = exampleApplicationSecurityGroup.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleApplicationSecurityGroup, err := network.NewApplicationSecurityGroup(ctx, \"exampleApplicationSecurityGroup\", \u0026network.ApplicationSecurityGroupArgs{\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\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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(\"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, \"exampleNetworkInterfaceApplicationSecurityGroupAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "networkInterfaceId": { "type": "string", "description": "The ID of the Network Interface. Changing this forces a new resource to be created.\n" } }, "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" }, "networkInterfaceId": { "type": "string", "description": "The ID of the Network Interface. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/networkInterfaceBackendAddressPoolAssociation:NetworkInterfaceBackendAddressPoolAssociation": { "description": "Manages the association between a Network Interface and a Load Balancer's Backend Address Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"primary\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleBackendAddressPool = new azure.lb.BackendAddressPool(\"exampleBackendAddressPool\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleNetworkInterfaceBackendAddressPoolAssociation = new azure.network.NetworkInterfaceBackendAddressPoolAssociation(\"exampleNetworkInterfaceBackendAddressPoolAssociation\", {\n networkInterfaceId: exampleNetworkInterface.id,\n ipConfigurationName: \"testconfiguration1\",\n backendAddressPoolId: exampleBackendAddressPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"primary\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_backend_address_pool = azure.lb.BackendAddressPool(\"exampleBackendAddressPool\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id)\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\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(\"exampleNetworkInterfaceBackendAddressPoolAssociation\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"primary\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleBackendAddressPool = new Azure.Lb.BackendAddressPool(\"exampleBackendAddressPool\", new Azure.Lb.BackendAddressPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleNetworkInterfaceBackendAddressPoolAssociation = new Azure.Network.NetworkInterfaceBackendAddressPoolAssociation(\"exampleNetworkInterfaceBackendAddressPoolAssociation\", new Azure.Network.NetworkInterfaceBackendAddressPoolAssociationArgs\n {\n NetworkInterfaceId = exampleNetworkInterface.Id,\n IpConfigurationName = \"testconfiguration1\",\n BackendAddressPoolId = exampleBackendAddressPool.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleBackendAddressPool\", \u0026lb.BackendAddressPoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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(\"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, \"exampleNetworkInterfaceBackendAddressPoolAssociation\", \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{{% /example %}}\n{{% /examples %}}", "properties": { "backendAddressPoolId": { "type": "string", "description": "The ID of the Load Balancer 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 Load Balancer 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" } }, "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 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" } }, "type": "object" } }, "azure:network/networkInterfaceNatRuleAssociation:NetworkInterfaceNatRuleAssociation": { "description": "Manages the association between a Network Interface and a Load Balancer's NAT Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: \"primary\",\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleNatRule = new azure.lb.NatRule(\"exampleNatRule\", {\n resourceGroupName: exampleResourceGroup.name,\n loadbalancerId: exampleLoadBalancer.id,\n protocol: \"Tcp\",\n frontendPort: 3389,\n backendPort: 3389,\n frontendIpConfigurationName: \"primary\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleNetworkInterfaceNatRuleAssociation = new azure.network.NetworkInterfaceNatRuleAssociation(\"exampleNetworkInterfaceNatRuleAssociation\", {\n networkInterfaceId: exampleNetworkInterface.id,\n ipConfigurationName: \"testconfiguration1\",\n natRuleId: exampleNatRule.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=\"primary\",\n public_ip_address_id=example_public_ip.id,\n )])\nexample_nat_rule = azure.lb.NatRule(\"exampleNatRule\",\n resource_group_name=example_resource_group.name,\n loadbalancer_id=example_load_balancer.id,\n protocol=\"Tcp\",\n frontend_port=3389,\n backend_port=3389,\n frontend_ip_configuration_name=\"primary\")\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\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(\"exampleNetworkInterfaceNatRuleAssociation\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = \"primary\",\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleNatRule = new Azure.Lb.NatRule(\"exampleNatRule\", new Azure.Lb.NatRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n LoadbalancerId = exampleLoadBalancer.Id,\n Protocol = \"Tcp\",\n FrontendPort = 3389,\n BackendPort = 3389,\n FrontendIpConfigurationName = \"primary\",\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleNetworkInterfaceNatRuleAssociation = new Azure.Network.NetworkInterfaceNatRuleAssociation(\"exampleNetworkInterfaceNatRuleAssociation\", new Azure.Network.NetworkInterfaceNatRuleAssociationArgs\n {\n NetworkInterfaceId = exampleNetworkInterface.Id,\n IpConfigurationName = \"testconfiguration1\",\n NatRuleId = exampleNatRule.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleNatRule\", \u0026lb.NatRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLoadbalancerId: exampleLoadBalancer.ID(),\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, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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(\"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, \"exampleNetworkInterfaceNatRuleAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:network/networkInterfaceSecurityGroupAssociation:NetworkInterfaceSecurityGroupAssociation": { "description": "Manages the association between a Network Interface and a Network Security Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleNetworkInterfaceSecurityGroupAssociation = new azure.network.NetworkInterfaceSecurityGroupAssociation(\"exampleNetworkInterfaceSecurityGroupAssociation\", {\n networkInterfaceId: exampleNetworkInterface.id,\n networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_network_interface = azure.network.NetworkInterface(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\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(\"exampleNetworkInterfaceSecurityGroupAssociation\",\n network_interface_id=example_network_interface.id,\n network_security_group_id=example_network_security_group.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", new Azure.Network.NetworkSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \n {\n new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs\n {\n Name = \"testconfiguration1\",\n SubnetId = exampleSubnet.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n },\n },\n });\n var exampleNetworkInterfaceSecurityGroupAssociation = new Azure.Network.NetworkInterfaceSecurityGroupAssociation(\"exampleNetworkInterfaceSecurityGroupAssociation\", new Azure.Network.NetworkInterfaceSecurityGroupAssociationArgs\n {\n NetworkInterfaceId = exampleNetworkInterface.Id,\n NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"exampleNetworkSecurityGroup\", \u0026network.NetworkSecurityGroupArgs{\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\texampleNetworkInterface, err := network.NewNetworkInterface(ctx, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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(\"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, \"exampleNetworkInterfaceSecurityGroupAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:network/networkPacketCapture:NetworkPacketCapture": { "description": "Configures Network Packet Capturing against a Virtual Machine using a Network Watcher.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"exampleNetworkWatcher\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"exampleVirtualMachine\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n networkInterfaceIds: [exampleNetworkInterface.id],\n vmSize: \"Standard_F2\",\n storageImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.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(\"exampleExtension\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n virtualMachineName: exampleVirtualMachine.name,\n publisher: \"Microsoft.Azure.NetworkWatcher\",\n type: \"NetworkWatcherAgentLinux\",\n typeHandlerVersion: \"1.4\",\n autoUpgradeMinorVersion: true,\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleNetworkPacketCapture = new azure.network.NetworkPacketCapture(\"exampleNetworkPacketCapture\", {\n networkWatcherName: exampleNetworkWatcher.name,\n resourceGroupName: exampleResourceGroup.name,\n targetResourceId: exampleVirtualMachine.id,\n storageLocation: {\n storageAccountId: exampleAccount.id,\n },\n}, {\n dependsOn: [exampleExtension],\n});\n```\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 `azure.compute.Extension` resource.\n{{% /example %}}\n{{% /examples %}}", "properties": { "filters": { "type": "array", "items": { "$ref": "#/types/azure:network/NetworkPacketCaptureFilter:NetworkPacketCaptureFilter" }, "description": "One or more `filter` 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 `0` (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 `1073741824` (1GB). Changing this forces a new resource to be created.\n" }, "maximumCaptureDuration": { "type": "integer", "description": "The maximum duration of the capture session in seconds. Defaults to `18000` (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" }, "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 exists. Changing this forces a new resource to be created.\n" }, "storageLocation": { "$ref": "#/types/azure:network/NetworkPacketCaptureStorageLocation:NetworkPacketCaptureStorageLocation", "description": "A `storage_location` block as defined below. Changing this forces a new resource to be created.\n" }, "targetResourceId": { "type": "string", "description": "The ID of the Resource to capture packets from. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "networkWatcherName", "resourceGroupName", "storageLocation", "targetResourceId" ], "inputProperties": { "filters": { "type": "array", "items": { "$ref": "#/types/azure:network/NetworkPacketCaptureFilter:NetworkPacketCaptureFilter" }, "description": "One or more `filter` 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 `0` (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 `1073741824` (1GB). Changing this forces a new resource to be created.\n" }, "maximumCaptureDuration": { "type": "integer", "description": "The maximum duration of the capture session in seconds. Defaults to `18000` (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" }, "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 exists. Changing this forces a new resource to be created.\n" }, "storageLocation": { "$ref": "#/types/azure:network/NetworkPacketCaptureStorageLocation:NetworkPacketCaptureStorageLocation", "description": "A `storage_location` block as defined below. Changing this forces a new resource to be created.\n" }, "targetResourceId": { "type": "string", "description": "The ID of the Resource to capture packets from. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "networkWatcherName", "resourceGroupName", "storageLocation", "targetResourceId" ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkPacketCapture resources.\n", "properties": { "filters": { "type": "array", "items": { "$ref": "#/types/azure:network/NetworkPacketCaptureFilter:NetworkPacketCaptureFilter" }, "description": "One or more `filter` 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 `0` (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 `1073741824` (1GB). Changing this forces a new resource to be created.\n" }, "maximumCaptureDuration": { "type": "integer", "description": "The maximum duration of the capture session in seconds. Defaults to `18000` (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" }, "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 exists. Changing this forces a new resource to be created.\n" }, "storageLocation": { "$ref": "#/types/azure:network/NetworkPacketCaptureStorageLocation:NetworkPacketCaptureStorageLocation", "description": "A `storage_location` block as defined below. Changing this forces a new resource to be created.\n" }, "targetResourceId": { "type": "string", "description": "The ID of the Resource to capture packets from. Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n security_rules=[azure.network.NetworkSecurityGroupSecurityRuleArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", new Azure.Network.NetworkSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SecurityRules = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewNetworkSecurityGroup(ctx, \"exampleNetworkSecurityGroup\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleNetworkSecurityRule = new azure.network.NetworkSecurityRule(\"exampleNetworkSecurityRule\", {\n priority: 100,\n direction: \"Outbound\",\n access: \"Allow\",\n protocol: \"Tcp\",\n sourcePortRange: \"*\",\n destinationPortRange: \"*\",\n sourceAddressPrefix: \"*\",\n destinationAddressPrefix: \"*\",\n resourceGroupName: exampleResourceGroup.name,\n networkSecurityGroupName: exampleNetworkSecurityGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_network_security_rule = azure.network.NetworkSecurityRule(\"exampleNetworkSecurityRule\",\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_resource_group.name,\n network_security_group_name=example_network_security_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", new Azure.Network.NetworkSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleNetworkSecurityRule = new Azure.Network.NetworkSecurityRule(\"exampleNetworkSecurityRule\", new Azure.Network.NetworkSecurityRuleArgs\n {\n Priority = 100,\n Direction = \"Outbound\",\n Access = \"Allow\",\n Protocol = \"Tcp\",\n SourcePortRange = \"*\",\n DestinationPortRange = \"*\",\n SourceAddressPrefix = \"*\",\n DestinationAddressPrefix = \"*\",\n ResourceGroupName = exampleResourceGroup.Name,\n NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"exampleNetworkSecurityGroup\", \u0026network.NetworkSecurityGroupArgs{\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 = network.NewNetworkSecurityRule(ctx, \"exampleNetworkSecurityRule\", \u0026network.NetworkSecurityRuleArgs{\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: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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/en-us/cli/azure/network?view=azure-cli-latest#az-network-list-service-tags). This is required if `destination_address_prefixes` 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 `destination_address_prefix` is not specified.\n" }, "destinationApplicationSecurityGroupIds": { "type": "string", "description": "A List of destination Application Security Group ID's\n" }, "destinationPortRange": { "type": "string", "description": "Destination Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `destination_port_ranges` is not specified.\n" }, "destinationPortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of destination ports or port ranges. This is required if `destination_port_range` 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`, 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. This is required if `source_address_prefixes` 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 `source_address_prefix` is not specified.\n" }, "sourceApplicationSecurityGroupIds": { "type": "string", "description": "A List of source Application Security Group ID's\n" }, "sourcePortRange": { "type": "string", "description": "Source Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `source_port_ranges` is not specified.\n" }, "sourcePortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of source ports or port ranges. This is required if `source_port_range` 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/en-us/cli/azure/network?view=azure-cli-latest#az-network-list-service-tags). This is required if `destination_address_prefixes` 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 `destination_address_prefix` is not specified.\n" }, "destinationApplicationSecurityGroupIds": { "type": "string", "description": "A List of destination Application Security Group ID's\n" }, "destinationPortRange": { "type": "string", "description": "Destination Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `destination_port_ranges` is not specified.\n" }, "destinationPortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of destination ports or port ranges. This is required if `destination_port_range` 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`, 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. This is required if `source_address_prefixes` 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 `source_address_prefix` is not specified.\n" }, "sourceApplicationSecurityGroupIds": { "type": "string", "description": "A List of source Application Security Group ID's\n" }, "sourcePortRange": { "type": "string", "description": "Source Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `source_port_ranges` is not specified.\n" }, "sourcePortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of source ports or port ranges. This is required if `source_port_range` 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/en-us/cli/azure/network?view=azure-cli-latest#az-network-list-service-tags). This is required if `destination_address_prefixes` 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 `destination_address_prefix` is not specified.\n" }, "destinationApplicationSecurityGroupIds": { "type": "string", "description": "A List of destination Application Security Group ID's\n" }, "destinationPortRange": { "type": "string", "description": "Destination Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `destination_port_ranges` is not specified.\n" }, "destinationPortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of destination ports or port ranges. This is required if `destination_port_range` 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`, 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. This is required if `source_address_prefixes` 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 `source_address_prefix` is not specified.\n" }, "sourceApplicationSecurityGroupIds": { "type": "string", "description": "A List of source Application Security Group ID's\n" }, "sourcePortRange": { "type": "string", "description": "Source Port or Range. Integer or range between `0` and `65535` or `*` to match any. This is required if `source_port_ranges` is not specified.\n" }, "sourcePortRanges": { "type": "array", "items": { "type": "string" }, "description": "List of source ports or port ranges. This is required if `source_port_range` is not specified.\n" } }, "type": "object" } }, "azure:network/networkWatcher:NetworkWatcher": { "description": "Manages a Network Watcher.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"exampleNetworkWatcher\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_network_watcher = azure.network.NetworkWatcher(\"exampleNetworkWatcher\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNetworkWatcher = new Azure.Network.NetworkWatcher(\"exampleNetworkWatcher\", new Azure.Network.NetworkWatcherArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewNetworkWatcher(ctx, \"exampleNetworkWatcher\", \u0026network.NetworkWatcherArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:network/networkWatcherFlowLog:NetworkWatcherFlowLog": { "description": "Manages a Network Watcher Flow Log.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst testResourceGroup = new azure.core.ResourceGroup(\"testResourceGroup\", {location: \"eastus\"});\nconst testNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"testNetworkSecurityGroup\", {\n location: testResourceGroup.location,\n resourceGroupName: testResourceGroup.name,\n});\nconst testNetworkWatcher = new azure.network.NetworkWatcher(\"testNetworkWatcher\", {\n location: testResourceGroup.location,\n resourceGroupName: testResourceGroup.name,\n});\nconst testAccount = new azure.storage.Account(\"testAccount\", {\n resourceGroupName: testResourceGroup.name,\n location: testResourceGroup.location,\n accountTier: \"Standard\",\n accountKind: \"StorageV2\",\n accountReplicationType: \"LRS\",\n enableHttpsTrafficOnly: true,\n});\nconst testAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"testAnalyticsWorkspace\", {\n location: testResourceGroup.location,\n resourceGroupName: testResourceGroup.name,\n sku: \"PerGB2018\",\n});\nconst testNetworkWatcherFlowLog = new azure.network.NetworkWatcherFlowLog(\"testNetworkWatcherFlowLog\", {\n networkWatcherName: testNetworkWatcher.name,\n resourceGroupName: testResourceGroup.name,\n networkSecurityGroupId: testNetworkSecurityGroup.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\ntest_resource_group = azure.core.ResourceGroup(\"testResourceGroup\", location=\"eastus\")\ntest_network_security_group = azure.network.NetworkSecurityGroup(\"testNetworkSecurityGroup\",\n location=test_resource_group.location,\n resource_group_name=test_resource_group.name)\ntest_network_watcher = azure.network.NetworkWatcher(\"testNetworkWatcher\",\n location=test_resource_group.location,\n resource_group_name=test_resource_group.name)\ntest_account = azure.storage.Account(\"testAccount\",\n resource_group_name=test_resource_group.name,\n location=test_resource_group.location,\n account_tier=\"Standard\",\n account_kind=\"StorageV2\",\n account_replication_type=\"LRS\",\n enable_https_traffic_only=True)\ntest_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"testAnalyticsWorkspace\",\n location=test_resource_group.location,\n resource_group_name=test_resource_group.name,\n sku=\"PerGB2018\")\ntest_network_watcher_flow_log = azure.network.NetworkWatcherFlowLog(\"testNetworkWatcherFlowLog\",\n network_watcher_name=test_network_watcher.name,\n resource_group_name=test_resource_group.name,\n network_security_group_id=test_network_security_group.id,\n storage_account_id=test_account.id,\n enabled=True,\n retention_policy=azure.network.NetworkWatcherFlowLogRetentionPolicyArgs(\n enabled=True,\n days=7,\n ),\n traffic_analytics=azure.network.NetworkWatcherFlowLogTrafficAnalyticsArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var testResourceGroup = new Azure.Core.ResourceGroup(\"testResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"eastus\",\n });\n var testNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"testNetworkSecurityGroup\", new Azure.Network.NetworkSecurityGroupArgs\n {\n Location = testResourceGroup.Location,\n ResourceGroupName = testResourceGroup.Name,\n });\n var testNetworkWatcher = new Azure.Network.NetworkWatcher(\"testNetworkWatcher\", new Azure.Network.NetworkWatcherArgs\n {\n Location = testResourceGroup.Location,\n ResourceGroupName = testResourceGroup.Name,\n });\n var testAccount = new Azure.Storage.Account(\"testAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = testResourceGroup.Name,\n Location = testResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountKind = \"StorageV2\",\n AccountReplicationType = \"LRS\",\n EnableHttpsTrafficOnly = true,\n });\n var testAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"testAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = testResourceGroup.Location,\n ResourceGroupName = testResourceGroup.Name,\n Sku = \"PerGB2018\",\n });\n var testNetworkWatcherFlowLog = new Azure.Network.NetworkWatcherFlowLog(\"testNetworkWatcherFlowLog\", new Azure.Network.NetworkWatcherFlowLogArgs\n {\n NetworkWatcherName = testNetworkWatcher.Name,\n ResourceGroupName = testResourceGroup.Name,\n NetworkSecurityGroupId = testNetworkSecurityGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestResourceGroup, err := core.NewResourceGroup(ctx, \"testResourceGroup\", \u0026core.ResourceGroupArgs{\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\ttestNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"testNetworkSecurityGroup\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tLocation: testResourceGroup.Location,\n\t\t\tResourceGroupName: testResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestNetworkWatcher, err := network.NewNetworkWatcher(ctx, \"testNetworkWatcher\", \u0026network.NetworkWatcherArgs{\n\t\t\tLocation: testResourceGroup.Location,\n\t\t\tResourceGroupName: testResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestAccount, err := storage.NewAccount(ctx, \"testAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: testResourceGroup.Name,\n\t\t\tLocation: testResourceGroup.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\tEnableHttpsTrafficOnly: 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, \"testAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tLocation: testResourceGroup.Location,\n\t\t\tResourceGroupName: testResourceGroup.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, \"testNetworkWatcherFlowLog\", \u0026network.NetworkWatcherFlowLogArgs{\n\t\t\tNetworkWatcherName: testNetworkWatcher.Name,\n\t\t\tResourceGroupName: testResourceGroup.Name,\n\t\t\tNetworkSecurityGroupId: testNetworkSecurityGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "enabled": { "type": "boolean", "description": "Boolean flag to enable/disable traffic analytics.\n" }, "networkSecurityGroupId": { "type": "string", "description": "The ID of the Network Security Group for which to enable flow logs for. Changing this forces a new resource to be created.\n" }, "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 `retention_policy` block as documented below.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account where flow logs are stored.\n" }, "trafficAnalytics": { "$ref": "#/types/azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics", "description": "A `traffic_analytics` block as documented below.\n" }, "version": { "type": "integer", "description": "The version (revision) of the flow log. Possible values are `1` and `2`.\n" } }, "required": [ "enabled", "networkSecurityGroupId", "networkWatcherName", "resourceGroupName", "retentionPolicy", "storageAccountId", "version" ], "inputProperties": { "enabled": { "type": "boolean", "description": "Boolean flag to enable/disable traffic analytics.\n" }, "networkSecurityGroupId": { "type": "string", "description": "The ID of the Network Security Group for which to enable flow logs for. Changing this forces a new resource to be created.\n" }, "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 `retention_policy` block as documented below.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account where flow logs are stored.\n" }, "trafficAnalytics": { "$ref": "#/types/azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics", "description": "A `traffic_analytics` block as documented below.\n" }, "version": { "type": "integer", "description": "The version (revision) of the flow log. Possible values are `1` and `2`.\n" } }, "requiredInputs": [ "enabled", "networkSecurityGroupId", "networkWatcherName", "resourceGroupName", "retentionPolicy", "storageAccountId" ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkWatcherFlowLog resources.\n", "properties": { "enabled": { "type": "boolean", "description": "Boolean flag to enable/disable traffic analytics.\n" }, "networkSecurityGroupId": { "type": "string", "description": "The ID of the Network Security Group for which to enable flow logs for. Changing this forces a new resource to be created.\n" }, "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 `retention_policy` block as documented below.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account where flow logs are stored.\n" }, "trafficAnalytics": { "$ref": "#/types/azure:network/NetworkWatcherFlowLogTrafficAnalytics:NetworkWatcherFlowLogTrafficAnalytics", "description": "A `traffic_analytics` block as documented below.\n" }, "version": { "type": "integer", "description": "The version (revision) of the flow log. Possible values are `1` and `2`.\n" } }, "type": "object" } }, "azure:network/packetCapture:PacketCapture": { "description": "Configures Packet Capturing against a Virtual Machine using a Network Watcher.\n\n\u003e **NOTE:** This resource has been deprecated in favour of the `azure.network.NetworkConnectionMonitor` resource and will be removed in the next major version of the AzureRM Provider. The new resource shares the same fields as this one, and information on migrating across can be found in this guide.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNetworkWatcher = new azure.network.NetworkWatcher(\"exampleNetworkWatcher\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkInterface = new azure.network.NetworkInterface(\"exampleNetworkInterface\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n ipConfigurations: [{\n name: \"testconfiguration1\",\n subnetId: exampleSubnet.id,\n privateIpAddressAllocation: \"Dynamic\",\n }],\n});\nconst exampleVirtualMachine = new azure.compute.VirtualMachine(\"exampleVirtualMachine\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n networkInterfaceIds: [exampleNetworkInterface.id],\n vmSize: \"Standard_F2\",\n storageImageReference: {\n publisher: \"Canonical\",\n offer: \"UbuntuServer\",\n sku: \"16.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(\"exampleExtension\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n virtualMachineName: exampleVirtualMachine.name,\n publisher: \"Microsoft.Azure.NetworkWatcher\",\n type: \"NetworkWatcherAgentLinux\",\n typeHandlerVersion: \"1.4\",\n autoUpgradeMinorVersion: true,\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst examplePacketCapture = new azure.network.PacketCapture(\"examplePacketCapture\", {\n networkWatcherName: exampleNetworkWatcher.name,\n resourceGroupName: exampleResourceGroup.name,\n targetResourceId: exampleVirtualMachine.id,\n storageLocation: {\n storageAccountId: exampleAccount.id,\n },\n}, {\n dependsOn: [exampleExtension],\n});\n```\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 `azure.compute.Extension` resource.\n{{% /example %}}\n{{% /examples %}}", "properties": { "filters": { "type": "array", "items": { "$ref": "#/types/azure:network/PacketCaptureFilter:PacketCaptureFilter" }, "description": "One or more `filter` 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 `0` (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 `1073741824` (1GB). Changing this forces a new resource to be created.\n" }, "maximumCaptureDuration": { "type": "integer", "description": "The maximum duration of the capture session in seconds. Defaults to `18000` (5 hours). Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name to use for this Packet Capture. Changing this forces a new resource to be created.\n" }, "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 exists. Changing this forces a new resource to be created.\n" }, "storageLocation": { "$ref": "#/types/azure:network/PacketCaptureStorageLocation:PacketCaptureStorageLocation", "description": "A `storage_location` block as defined below. Changing this forces a new resource to be created.\n" }, "targetResourceId": { "type": "string", "description": "The ID of the Resource to capture packets from. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "networkWatcherName", "resourceGroupName", "storageLocation", "targetResourceId" ], "inputProperties": { "filters": { "type": "array", "items": { "$ref": "#/types/azure:network/PacketCaptureFilter:PacketCaptureFilter" }, "description": "One or more `filter` 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 `0` (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 `1073741824` (1GB). Changing this forces a new resource to be created.\n" }, "maximumCaptureDuration": { "type": "integer", "description": "The maximum duration of the capture session in seconds. Defaults to `18000` (5 hours). Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name to use for this Packet Capture. Changing this forces a new resource to be created.\n" }, "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 exists. Changing this forces a new resource to be created.\n" }, "storageLocation": { "$ref": "#/types/azure:network/PacketCaptureStorageLocation:PacketCaptureStorageLocation", "description": "A `storage_location` block as defined below. Changing this forces a new resource to be created.\n" }, "targetResourceId": { "type": "string", "description": "The ID of the Resource to capture packets from. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "networkWatcherName", "resourceGroupName", "storageLocation", "targetResourceId" ], "stateInputs": { "description": "Input properties used for looking up and filtering PacketCapture resources.\n", "properties": { "filters": { "type": "array", "items": { "$ref": "#/types/azure:network/PacketCaptureFilter:PacketCaptureFilter" }, "description": "One or more `filter` 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 `0` (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 `1073741824` (1GB). Changing this forces a new resource to be created.\n" }, "maximumCaptureDuration": { "type": "integer", "description": "The maximum duration of the capture session in seconds. Defaults to `18000` (5 hours). Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name to use for this Packet Capture. Changing this forces a new resource to be created.\n" }, "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 exists. Changing this forces a new resource to be created.\n" }, "storageLocation": { "$ref": "#/types/azure:network/PacketCaptureStorageLocation:PacketCaptureStorageLocation", "description": "A `storage_location` block as defined below. Changing this forces a new resource to be created.\n" }, "targetResourceId": { "type": "string", "description": "The ID of the Resource to capture packets from. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/pointToPointVpnGateway:PointToPointVpnGateway": { "description": "Manages a Point-to-Site VPN Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.network.PointToPointVpnGateway(\"example\", {\n location: azurerm_resource_group.example.location,\n resourceGroupName: azurerm_resource_group.example.resource_group_name,\n virtualHubId: azurerm_virtual_hub.example.id,\n vpnServerConfigurationId: azurerm_vpn_server_configuration.example.id,\n scaleUnit: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.PointToPointVpnGateway(\"example\",\n location=azurerm_resource_group[\"example\"][\"location\"],\n resource_group_name=azurerm_resource_group[\"example\"][\"resource_group_name\"],\n virtual_hub_id=azurerm_virtual_hub[\"example\"][\"id\"],\n vpn_server_configuration_id=azurerm_vpn_server_configuration[\"example\"][\"id\"],\n scale_unit=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Network.PointToPointVpnGateway(\"example\", new Azure.Network.PointToPointVpnGatewayArgs\n {\n Location = azurerm_resource_group.Example.Location,\n ResourceGroupName = azurerm_resource_group.Example.Resource_group_name,\n VirtualHubId = azurerm_virtual_hub.Example.Id,\n VpnServerConfigurationId = azurerm_vpn_server_configuration.Example.Id,\n ScaleUnit = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := network.NewPointToPointVpnGateway(ctx, \"example\", \u0026network.PointToPointVpnGatewayArgs{\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Example.Location),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Resource_group_name),\n\t\t\tVirtualHubId: pulumi.Any(azurerm_virtual_hub.Example.Id),\n\t\t\tVpnServerConfigurationId: pulumi.Any(azurerm_vpn_server_configuration.Example.Id),\n\t\t\tScaleUnit: 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{{% /example %}}\n{{% /examples %}}", "properties": { "connectionConfiguration": { "$ref": "#/types/azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration", "description": "A `connection_configuration` 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" }, "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" }, "scaleUnit": { "type": "integer", "description": "The 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": [ "connectionConfiguration", "location", "name", "resourceGroupName", "scaleUnit", "virtualHubId", "vpnServerConfigurationId" ], "inputProperties": { "connectionConfiguration": { "$ref": "#/types/azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration", "description": "A `connection_configuration` 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" }, "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" }, "scaleUnit": { "type": "integer", "description": "The 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" } }, "requiredInputs": [ "connectionConfiguration", "resourceGroupName", "scaleUnit", "virtualHubId", "vpnServerConfigurationId" ], "stateInputs": { "description": "Input properties used for looking up and filtering PointToPointVpnGateway resources.\n", "properties": { "connectionConfiguration": { "$ref": "#/types/azure:network/PointToPointVpnGatewayConnectionConfiguration:PointToPointVpnGatewayConnectionConfiguration", "description": "A `connection_configuration` 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" }, "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" }, "scaleUnit": { "type": "integer", "description": "The 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" } }, "type": "object" } }, "azure:network/profile:Profile": { "description": "Manages a Network Profile.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.1.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"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(\"exampleProfile\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n address_spaces=[\"10.1.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.1.0.0/24\",\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"Microsoft.ContainerInstance/containerGroups\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/action\"],\n ),\n )])\nexample_profile = azure.network.Profile(\"exampleProfile\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n container_network_interface=azure.network.ProfileContainerNetworkInterfaceArgs(\n name=\"examplecnic\",\n ip_configurations=[{\n \"name\": \"exampleipconfig\",\n \"subnet_id\": example_subnet.id,\n }],\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.1.0.0/16\",\n },\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.1.0.0/24\",\n Delegations = \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 = \n {\n \"Microsoft.Network/virtualNetworks/subnets/action\",\n },\n },\n },\n },\n });\n var exampleProfile = new Azure.Network.Profile(\"exampleProfile\", new Azure.Network.ProfileArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n ContainerNetworkInterface = new Azure.Network.Inputs.ProfileContainerNetworkInterfaceArgs\n {\n Name = \"examplecnic\",\n IpConfigurations = \n {\n new Azure.Network.Inputs.ProfileContainerNetworkInterfaceIpConfigurationArgs\n {\n Name = \"exampleipconfig\",\n SubnetId = exampleSubnet.Id,\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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.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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.1.0.0/24\"),\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, \"exampleProfile\", \u0026network.ProfileArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "containerNetworkInterface": { "$ref": "#/types/azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface", "description": "A `container_network_interface` block as documented below.\n" }, "containerNetworkInterfaceIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Container Network Interface ID's.\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 to assign to the resource.\n" } }, "required": [ "containerNetworkInterface", "containerNetworkInterfaceIds", "location", "name", "resourceGroupName" ], "inputProperties": { "containerNetworkInterface": { "$ref": "#/types/azure:network/ProfileContainerNetworkInterface:ProfileContainerNetworkInterface", "description": "A `container_network_interface` 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" }, "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 to assign 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 `container_network_interface` block as documented below.\n" }, "containerNetworkInterfaceIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Container Network Interface ID's.\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 to assign to the resource.\n" } }, "type": "object" } }, "azure:network/publicIp:PublicIp": { "description": "Manages a Public IP Address.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n allocationMethod: \"Static\",\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n allocation_method=\"Static\",\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AllocationMethod = \"Static\",\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "allocationMethod": { "type": "string", "description": "Defines the allocation method for this IP address. Possible values are `Static` or `Dynamic`.\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" }, "fqdn": { "type": "string", "description": "Fully qualified domain name of the A DNS record associated with the public IP. `domain_name_label` must be specified to get the `fqdn`. This is the concatenation of the `domain_name_label` 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" }, "ipVersion": { "type": "string", "description": "The IP Version to use, IPv6 or 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 resource . Changing this forces a\nnew resource to be created.\n" }, "publicIpPrefixId": { "type": "string", "description": "If specified then public IP address allocated will be provided from the public IP prefix resource.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the public ip.\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 `Basic`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Public IP in.\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" }, "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" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes.\n" }, "ipVersion": { "type": "string", "description": "The IP Version to use, IPv6 or 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 resource . Changing this forces a\nnew resource to be created.\n" }, "publicIpPrefixId": { "type": "string", "description": "If specified then public IP address allocated will be provided from the public IP prefix resource.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the public ip.\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 `Basic`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Public IP in.\n" } }, "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" }, "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" }, "fqdn": { "type": "string", "description": "Fully qualified domain name of the A DNS record associated with the public IP. `domain_name_label` must be specified to get the `fqdn`. This is the concatenation of the `domain_name_label` 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" }, "ipVersion": { "type": "string", "description": "The IP Version to use, IPv6 or 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 resource . Changing this forces a\nnew resource to be created.\n" }, "publicIpPrefixId": { "type": "string", "description": "If specified then public IP address allocated will be provided from the public IP prefix resource.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the public ip.\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 `Basic`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Public IP in.\n" } }, "type": "object" } }, "azure:network/publicIpPrefix:PublicIpPrefix": { "description": "Manages a Public IP Prefix.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst examplePublicIpPrefix = new azure.network.PublicIpPrefix(\"examplePublicIpPrefix\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n prefixLength: 31,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_public_ip_prefix = azure.network.PublicIpPrefix(\"examplePublicIpPrefix\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n prefix_length=31,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var examplePublicIpPrefix = new Azure.Network.PublicIpPrefix(\"examplePublicIpPrefix\", new Azure.Network.PublicIpPrefixArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n PrefixLength = 31,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"examplePublicIpPrefix\", \u0026network.PublicIpPrefixArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "ipPrefix": { "type": "string", "description": "The IP address prefix value that was allocated.\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 `28`(16 addresses). 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 Public IP Prefix.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Public IP Prefix in.\n" } }, "required": [ "ipPrefix", "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" }, "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 `28`(16 addresses). 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 Public IP Prefix.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Public IP Prefix in.\n" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering PublicIpPrefix resources.\n", "properties": { "ipPrefix": { "type": "string", "description": "The IP address prefix value that was allocated.\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 `28`(16 addresses). 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 Public IP Prefix.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "zones": { "type": "string", "description": "A collection containing the availability zone to allocate the Public IP Prefix in.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleRouteTable = new azure.network.RouteTable(\"exampleRouteTable\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleRoute = new azure.network.Route(\"exampleRoute\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_route_table = azure.network.RouteTable(\"exampleRouteTable\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_route = azure.network.Route(\"exampleRoute\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleRouteTable = new Azure.Network.RouteTable(\"exampleRouteTable\", new Azure.Network.RouteTableArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleRoute = new Azure.Network.Route(\"exampleRoute\", new Azure.Network.RouteArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n RouteTableName = exampleRouteTable.Name,\n AddressPrefix = \"10.1.0.0/16\",\n NextHopType = \"vnetlocal\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleRouteTable, err := network.NewRouteTable(ctx, \"exampleRouteTable\", \u0026network.RouteTableArgs{\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 = network.NewRoute(ctx, \"exampleRoute\", \u0026network.RouteArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "addressPrefix": { "type": "string", "description": "The destination CIDR to which the route applies, such as `10.1.0.0/16`\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 CIDR to which the route applies, such as `10.1.0.0/16`\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" } }, "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 CIDR to which the route applies, such as `10.1.0.0/16`\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" } }, "type": "object" } }, "azure:network/routeFilter:RouteFilter": { "description": "Manages a Route Filter.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.network.RouteFilter(\"example\", {\n location: \"East US\",\n resourceGroupName: \"example\",\n rule: {\n access: \"Allow\",\n communities: [\"12076:52004\"],\n name: \"rule\",\n ruleType: \"Community\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.RouteFilter(\"example\",\n location=\"East US\",\n resource_group_name=\"example\",\n rule=azure.network.RouteFilterRuleArgs(\n access=\"Allow\",\n communities=[\"12076:52004\"],\n name=\"rule\",\n rule_type=\"Community\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Network.RouteFilter(\"example\", new Azure.Network.RouteFilterArgs\n {\n Location = \"East US\",\n ResourceGroupName = \"example\",\n Rule = new Azure.Network.Inputs.RouteFilterRuleArgs\n {\n Access = \"Allow\",\n Communities = \n {\n \"12076:52004\",\n },\n Name = \"rule\",\n RuleType = \"Community\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"East US\"),\n\t\t\tResourceGroupName: pulumi.String(\"example\"),\n\t\t\tRule: \u0026network.RouteFilterRuleArgs{\n\t\t\t\tAccess: pulumi.String(\"Allow\"),\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\tName: pulumi.String(\"rule\"),\n\t\t\t\tRuleType: pulumi.String(\"Community\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 `rules` 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" }, "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 `rules` 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" }, "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 `rules` 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/routeTable:RouteTable": { "description": "Manages a Route Table\n\n\u003e **NOTE on Route Tables and Routes:** There is 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\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleRouteTable = new azure.network.RouteTable(\"exampleRouteTable\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n disableBgpRoutePropagation: false,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_route_table = azure.network.RouteTable(\"exampleRouteTable\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n disable_bgp_route_propagation=False,\n routes=[azure.network.RouteTableRouteArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleRouteTable = new Azure.Network.RouteTable(\"exampleRouteTable\", new Azure.Network.RouteTableArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n DisableBgpRoutePropagation = false,\n Routes = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewRouteTable(ctx, \"exampleRouteTable\", \u0026network.RouteTableArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDisableBgpRoutePropagation: pulumi.Bool(false),\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{{% /example %}}\n{{% /examples %}}", "properties": { "disableBgpRoutePropagation": { "type": "boolean", "description": "Boolean flag which controls propagation of routes learned by BGP on that route table. True means disable.\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" }, "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": { "disableBgpRoutePropagation": { "type": "boolean", "description": "Boolean flag which controls propagation of routes learned by BGP on that route table. True means disable.\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" }, "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": { "disableBgpRoutePropagation": { "type": "boolean", "description": "Boolean flag which controls propagation of routes learned by BGP on that route table. True means disable.\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" }, "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/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 Subnet's.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.1.0/24\"],\n delegations: [{\n name: \"acctestdelegation\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\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=[azure.network.SubnetDelegationArgs(\n name=\"acctestdelegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.1.0/24\",\n },\n Delegations = \n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"acctestdelegation\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"Microsoft.ContainerInstance/containerGroups\",\n Actions = \n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n \"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action\",\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\t_, err = network.NewSubnet(ctx, \"exampleSubnet\", \u0026network.SubnetArgs{\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\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"acctestdelegation\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "addressPrefix": { "type": "string", "description": "The address prefix to use for the subnet.\n", "deprecationMessage": "Use the `address_prefixes` property instead." }, "addressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "The address prefixes to use for the subnet.\n" }, "delegations": { "type": "array", "items": { "$ref": "#/types/azure:network/SubnetDelegation:SubnetDelegation" }, "description": "One or more `delegation` blocks as defined below.\n" }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link endpoint on the subnet. Default value is `false`. Conflicts with enforce_private_link_service_network_policies.\n" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link service on the subnet. Default valule is `false`. Conflicts with `enforce_private_link_endpoint_network_policies`.\n" }, "name": { "type": "string", "description": "The name of the subnet. 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 subnet. Changing this forces a new resource to be created.\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` and `Microsoft.Web`.\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": [ "addressPrefix", "addressPrefixes", "name", "resourceGroupName", "virtualNetworkName" ], "inputProperties": { "addressPrefix": { "type": "string", "description": "The address prefix to use for the subnet.\n", "deprecationMessage": "Use the `address_prefixes` property instead." }, "addressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "The address prefixes to use for the subnet.\n" }, "delegations": { "type": "array", "items": { "$ref": "#/types/azure:network/SubnetDelegation:SubnetDelegation" }, "description": "One or more `delegation` blocks as defined below.\n" }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link endpoint on the subnet. Default value is `false`. Conflicts with enforce_private_link_service_network_policies.\n" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link service on the subnet. Default valule is `false`. Conflicts with `enforce_private_link_endpoint_network_policies`.\n" }, "name": { "type": "string", "description": "The name of the subnet. 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 subnet. Changing this forces a new resource to be created.\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` and `Microsoft.Web`.\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" } }, "requiredInputs": [ "resourceGroupName", "virtualNetworkName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Subnet resources.\n", "properties": { "addressPrefix": { "type": "string", "description": "The address prefix to use for the subnet.\n", "deprecationMessage": "Use the `address_prefixes` property instead." }, "addressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "The address prefixes to use for the subnet.\n" }, "delegations": { "type": "array", "items": { "$ref": "#/types/azure:network/SubnetDelegation:SubnetDelegation" }, "description": "One or more `delegation` blocks as defined below.\n" }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link endpoint on the subnet. Default value is `false`. Conflicts with enforce_private_link_service_network_policies.\n" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link service on the subnet. Default valule is `false`. Conflicts with `enforce_private_link_endpoint_network_policies`.\n" }, "name": { "type": "string", "description": "The name of the subnet. 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 subnet. Changing this forces a new resource to be created.\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` and `Microsoft.Web`.\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" } }, "type": "object" } }, "azure:network/subnetNatGatewayAssociation:SubnetNatGatewayAssociation": { "description": "Associates a NAT Gateway with a Subnet within a Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US 2\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n});\nconst exampleNatGateway = new azure.network.NatGateway(\"exampleNatGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnetNatGatewayAssociation = new azure.network.SubnetNatGatewayAssociation(\"exampleSubnetNatGatewayAssociation\", {\n subnetId: exampleSubnet.id,\n natGatewayId: exampleNatGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US 2\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\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_nat_gateway = azure.network.NatGateway(\"exampleNatGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_subnet_nat_gateway_association = azure.network.SubnetNatGatewayAssociation(\"exampleSubnetNatGatewayAssociation\",\n subnet_id=example_subnet.id,\n nat_gateway_id=example_nat_gateway.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US 2\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.2.0/24\",\n },\n });\n var exampleNatGateway = new Azure.Network.NatGateway(\"exampleNatGateway\", new Azure.Network.NatGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnetNatGatewayAssociation = new Azure.Network.SubnetNatGatewayAssociation(\"exampleSubnetNatGatewayAssociation\", new Azure.Network.SubnetNatGatewayAssociationArgs\n {\n SubnetId = exampleSubnet.Id,\n NatGatewayId = exampleNatGateway.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"East US 2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\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\texampleNatGateway, err := network.NewNatGateway(ctx, \"exampleNatGateway\", \u0026network.NatGatewayArgs{\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 = network.NewSubnetNatGatewayAssociation(ctx, \"exampleSubnetNatGatewayAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "subnetId": { "type": "string", "description": "The ID of the Subnet. Changing this forces a new resource to be created.\n" } }, "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" }, "subnetId": { "type": "string", "description": "The ID of the Subnet. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/subnetNetworkSecurityGroupAssociation:SubnetNetworkSecurityGroupAssociation": { "description": "Associates a Network Security Group with a Subnet within a Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleSubnetNetworkSecurityGroupAssociation\", {\n subnetId: exampleSubnet.id,\n networkSecurityGroupId: exampleNetworkSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n security_rules=[azure.network.NetworkSecurityGroupSecurityRuleArgs(\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(\"exampleSubnetNetworkSecurityGroupAssociation\",\n subnet_id=example_subnet.id,\n network_security_group_id=example_network_security_group.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", new Azure.Network.NetworkSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SecurityRules = \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 var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation(\"exampleSubnetNetworkSecurityGroupAssociation\", new Azure.Network.SubnetNetworkSecurityGroupAssociationArgs\n {\n SubnetId = exampleSubnet.Id,\n NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"exampleNetworkSecurityGroup\", \u0026network.NetworkSecurityGroupArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSubnetNetworkSecurityGroupAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "subnetId": { "type": "string", "description": "The ID of the Subnet. Changing this forces a new resource to be created.\n" } }, "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" }, "subnetId": { "type": "string", "description": "The ID of the Subnet. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/subnetRouteTableAssociation:SubnetRouteTableAssociation": { "description": "Associates a Route Table with a Subnet within a Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst exampleRouteTable = new azure.network.RouteTable(\"exampleRouteTable\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleSubnetRouteTableAssociation\", {\n subnetId: exampleSubnet.id,\n routeTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_route_table = azure.network.RouteTable(\"exampleRouteTable\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n routes=[azure.network.RouteTableRouteArgs(\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(\"exampleSubnetRouteTableAssociation\",\n subnet_id=example_subnet.id,\n route_table_id=example_route_table.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var exampleRouteTable = new Azure.Network.RouteTable(\"exampleRouteTable\", new Azure.Network.RouteTableArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Routes = \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 var exampleSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation(\"exampleSubnetRouteTableAssociation\", new Azure.Network.SubnetRouteTableAssociationArgs\n {\n SubnetId = exampleSubnet.Id,\n RouteTableId = exampleRouteTable.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texampleRouteTable, err := network.NewRouteTable(ctx, \"exampleRouteTable\", \u0026network.RouteTableArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleSubnetRouteTableAssociation\", \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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "subnetId": { "type": "string", "description": "The ID of the Subnet. Changing this forces a new resource to be created.\n" } }, "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" }, "subnetId": { "type": "string", "description": "The ID of the Subnet. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/trafficManagerEndpoint:TrafficManagerEndpoint": { "description": "Manages a Traffic Manager Endpoint.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", {\n resourceGroupName: exampleResourceGroup.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});\nconst exampleTrafficManagerEndpoint = new azure.network.TrafficManagerEndpoint(\"exampleTrafficManagerEndpoint\", {\n resourceGroupName: exampleResourceGroup.name,\n profileName: exampleTrafficManagerProfile.name,\n type: \"externalEndpoints\",\n weight: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\",\n resource_group_name=example_resource_group.name,\n traffic_routing_method=\"Weighted\",\n dns_config=azure.network.TrafficManagerProfileDnsConfigArgs(\n relative_name=server.hex,\n ttl=100,\n ),\n monitor_config=azure.network.TrafficManagerProfileMonitorConfigArgs(\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_endpoint = azure.network.TrafficManagerEndpoint(\"exampleTrafficManagerEndpoint\",\n resource_group_name=example_resource_group.name,\n profile_name=example_traffic_manager_profile.name,\n type=\"externalEndpoints\",\n weight=100)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", new Azure.Network.TrafficManagerProfileArgs\n {\n ResourceGroupName = exampleResourceGroup.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 var exampleTrafficManagerEndpoint = new Azure.Network.TrafficManagerEndpoint(\"exampleTrafficManagerEndpoint\", new Azure.Network.TrafficManagerEndpointArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ProfileName = exampleTrafficManagerProfile.Name,\n Type = \"externalEndpoints\",\n Weight = 100,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleTrafficManagerProfile, err := network.NewTrafficManagerProfile(ctx, \"exampleTrafficManagerProfile\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\t_, err = network.NewTrafficManagerEndpoint(ctx, \"exampleTrafficManagerEndpoint\", \u0026network.TrafficManagerEndpointArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tProfileName: exampleTrafficManagerProfile.Name,\n\t\t\tType: pulumi.String(\"externalEndpoints\"),\n\t\t\tWeight: 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{{% /example %}}\n{{% /examples %}}", "properties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerEndpointCustomHeader:TrafficManagerEndpointCustomHeader" }, "description": "One or more `custom_header` blocks as defined below\n" }, "endpointLocation": { "type": "string", "description": "Specifies the Azure location of the Endpoint,\nthis must be specified for Profiles using the `Performance` routing method\nif the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.\nFor Endpoints of type `azureEndpoints` the value will be taken from the\nlocation of the Azure target resource.\n" }, "endpointMonitorStatus": { "type": "string" }, "endpointStatus": { "type": "string", "description": "The status of the Endpoint, can be set to\neither `Enabled` or `Disabled`. Defaults to `Enabled`.\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/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).\n" }, "minChildEndpoints": { "type": "integer", "description": "This argument specifies the minimum number\nof endpoints that must be ‘online’ in the child profile in order for the\nparent profile to direct traffic to any of the endpoints in that child\nprofile. This argument only applies to Endpoints of type `nestedEndpoints`\nand defaults to `1`.\n" }, "name": { "type": "string", "description": "The name of the Traffic Manager endpoint. Changing this forces a\nnew resource to be created.\n" }, "priority": { "type": "integer", "description": "Specifies the priority of this Endpoint, this must be\nspecified for Profiles using the `Priority` traffic routing method. Supports\nvalues between 1 and 1000, with no Endpoints sharing the same value. If\nomitted the value will be computed in order of creation.\n" }, "profileName": { "type": "string", "description": "The name of the Traffic Manager Profile to attach\ncreate the Traffic Manager endpoint.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Traffic Manager Profile exists.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerEndpointSubnet:TrafficManagerEndpointSubnet" }, "description": "One or more `subnet` blocks as defined below\n" }, "target": { "type": "string", "description": "The FQDN DNS name of the target. This argument must be\nprovided for an endpoint of type `externalEndpoints`, for other types it\nwill be computed.\n" }, "targetResourceId": { "type": "string", "description": "The resource id of an Azure resource to\ntarget. This argument must be provided for an endpoint of type\n`azureEndpoints` or `nestedEndpoints`.\n" }, "type": { "type": "string", "description": "The Endpoint type, must be one of:\n- `azureEndpoints`\n- `externalEndpoints`\n- `nestedEndpoints`\n" }, "weight": { "type": "integer", "description": "Specifies how much traffic should be distributed to this\nendpoint, this must be specified for Profiles using the `Weighted` traffic\nrouting method. Supports values between 1 and 1000.\n" } }, "required": [ "endpointLocation", "endpointMonitorStatus", "endpointStatus", "name", "priority", "profileName", "resourceGroupName", "target", "type", "weight" ], "inputProperties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerEndpointCustomHeader:TrafficManagerEndpointCustomHeader" }, "description": "One or more `custom_header` blocks as defined below\n" }, "endpointLocation": { "type": "string", "description": "Specifies the Azure location of the Endpoint,\nthis must be specified for Profiles using the `Performance` routing method\nif the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.\nFor Endpoints of type `azureEndpoints` the value will be taken from the\nlocation of the Azure target resource.\n" }, "endpointStatus": { "type": "string", "description": "The status of the Endpoint, can be set to\neither `Enabled` or `Disabled`. Defaults to `Enabled`.\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/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).\n" }, "minChildEndpoints": { "type": "integer", "description": "This argument specifies the minimum number\nof endpoints that must be ‘online’ in the child profile in order for the\nparent profile to direct traffic to any of the endpoints in that child\nprofile. This argument only applies to Endpoints of type `nestedEndpoints`\nand defaults to `1`.\n" }, "name": { "type": "string", "description": "The name of the Traffic Manager endpoint. Changing this forces a\nnew resource to be created.\n" }, "priority": { "type": "integer", "description": "Specifies the priority of this Endpoint, this must be\nspecified for Profiles using the `Priority` traffic routing method. Supports\nvalues between 1 and 1000, with no Endpoints sharing the same value. If\nomitted the value will be computed in order of creation.\n" }, "profileName": { "type": "string", "description": "The name of the Traffic Manager Profile to attach\ncreate the Traffic Manager endpoint.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Traffic Manager Profile exists.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerEndpointSubnet:TrafficManagerEndpointSubnet" }, "description": "One or more `subnet` blocks as defined below\n" }, "target": { "type": "string", "description": "The FQDN DNS name of the target. This argument must be\nprovided for an endpoint of type `externalEndpoints`, for other types it\nwill be computed.\n" }, "targetResourceId": { "type": "string", "description": "The resource id of an Azure resource to\ntarget. This argument must be provided for an endpoint of type\n`azureEndpoints` or `nestedEndpoints`.\n" }, "type": { "type": "string", "description": "The Endpoint type, must be one of:\n- `azureEndpoints`\n- `externalEndpoints`\n- `nestedEndpoints`\n" }, "weight": { "type": "integer", "description": "Specifies how much traffic should be distributed to this\nendpoint, this must be specified for Profiles using the `Weighted` traffic\nrouting method. Supports values between 1 and 1000.\n" } }, "requiredInputs": [ "profileName", "resourceGroupName", "type" ], "stateInputs": { "description": "Input properties used for looking up and filtering TrafficManagerEndpoint resources.\n", "properties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerEndpointCustomHeader:TrafficManagerEndpointCustomHeader" }, "description": "One or more `custom_header` blocks as defined below\n" }, "endpointLocation": { "type": "string", "description": "Specifies the Azure location of the Endpoint,\nthis must be specified for Profiles using the `Performance` routing method\nif the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.\nFor Endpoints of type `azureEndpoints` the value will be taken from the\nlocation of the Azure target resource.\n" }, "endpointMonitorStatus": { "type": "string" }, "endpointStatus": { "type": "string", "description": "The status of the Endpoint, can be set to\neither `Enabled` or `Disabled`. Defaults to `Enabled`.\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/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).\n" }, "minChildEndpoints": { "type": "integer", "description": "This argument specifies the minimum number\nof endpoints that must be ‘online’ in the child profile in order for the\nparent profile to direct traffic to any of the endpoints in that child\nprofile. This argument only applies to Endpoints of type `nestedEndpoints`\nand defaults to `1`.\n" }, "name": { "type": "string", "description": "The name of the Traffic Manager endpoint. Changing this forces a\nnew resource to be created.\n" }, "priority": { "type": "integer", "description": "Specifies the priority of this Endpoint, this must be\nspecified for Profiles using the `Priority` traffic routing method. Supports\nvalues between 1 and 1000, with no Endpoints sharing the same value. If\nomitted the value will be computed in order of creation.\n" }, "profileName": { "type": "string", "description": "The name of the Traffic Manager Profile to attach\ncreate the Traffic Manager endpoint.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Traffic Manager Profile exists.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:network/TrafficManagerEndpointSubnet:TrafficManagerEndpointSubnet" }, "description": "One or more `subnet` blocks as defined below\n" }, "target": { "type": "string", "description": "The FQDN DNS name of the target. This argument must be\nprovided for an endpoint of type `externalEndpoints`, for other types it\nwill be computed.\n" }, "targetResourceId": { "type": "string", "description": "The resource id of an Azure resource to\ntarget. This argument must be provided for an endpoint of type\n`azureEndpoints` or `nestedEndpoints`.\n" }, "type": { "type": "string", "description": "The Endpoint type, must be one of:\n- `azureEndpoints`\n- `externalEndpoints`\n- `nestedEndpoints`\n" }, "weight": { "type": "integer", "description": "Specifies how much traffic should be distributed to this\nendpoint, this must be specified for Profiles using the `Weighted` traffic\nrouting method. Supports values between 1 and 1000.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:trafficmanager/endpoint:Endpoint" } ] }, "azure:network/trafficManagerProfile:TrafficManagerProfile": { "description": "Manages a Traffic Manager Profile to which multiple endpoints can be attached.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", {\n resourceGroupName: exampleResourceGroup.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.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\",\n resource_group_name=example_resource_group.name,\n traffic_routing_method=\"Weighted\",\n dns_config=azure.network.TrafficManagerProfileDnsConfigArgs(\n relative_name=server.hex,\n ttl=100,\n ),\n monitor_config=azure.network.TrafficManagerProfileMonitorConfigArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", new Azure.Network.TrafficManagerProfileArgs\n {\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewTrafficManagerProfile(ctx, \"exampleTrafficManagerProfile\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "dnsConfig": { "$ref": "#/types/azure:network/TrafficManagerProfileDnsConfig:TrafficManagerProfileDnsConfig", "description": "This block specifies the DNS configuration of the Profile, it supports the fields documented below.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the created Profile.\n" }, "monitorConfig": { "$ref": "#/types/azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig", "description": "This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented 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.\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:\n" } }, "required": [ "dnsConfig", "fqdn", "monitorConfig", "name", "profileStatus", "resourceGroupName", "trafficRoutingMethod" ], "inputProperties": { "dnsConfig": { "$ref": "#/types/azure:network/TrafficManagerProfileDnsConfig:TrafficManagerProfileDnsConfig", "description": "This block specifies the DNS configuration of the Profile, it supports the fields documented below.\n" }, "monitorConfig": { "$ref": "#/types/azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig", "description": "This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented 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.\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:\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, it supports the fields documented below.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the created Profile.\n" }, "monitorConfig": { "$ref": "#/types/azure:network/TrafficManagerProfileMonitorConfig:TrafficManagerProfileMonitorConfig", "description": "This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented 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.\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:\n" } }, "type": "object" }, "aliases": [ { "type": "azure:trafficmanager/profile:Profile" } ] }, "azure:network/virtualHub:VirtualHub": { "description": "Manages a Virtual Hub within a Virtual WAN.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"exampleVirtualWan\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"exampleVirtualHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n virtualWanId: exampleVirtualWan.id,\n addressPrefix: \"10.0.1.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"exampleVirtualWan\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_virtual_hub = azure.network.VirtualHub(\"exampleVirtualHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n virtual_wan_id=example_virtual_wan.id,\n address_prefix=\"10.0.1.0/24\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualWan = new Azure.Network.VirtualWan(\"exampleVirtualWan\", new Azure.Network.VirtualWanArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleVirtualHub = new Azure.Network.VirtualHub(\"exampleVirtualHub\", new Azure.Network.VirtualHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n VirtualWanId = exampleVirtualWan.Id,\n AddressPrefix = \"10.0.1.0/24\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualWan\", \u0026network.VirtualWanArgs{\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 = network.NewVirtualHub(ctx, \"exampleVirtualHub\", \u0026network.VirtualHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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.\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 `route` blocks as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the Virtual Hub.\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": [ "addressPrefix", "location", "name", "resourceGroupName", "virtualWanId" ], "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.\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 `route` blocks as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the Virtual Hub.\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" } }, "requiredInputs": [ "addressPrefix", "resourceGroupName", "virtualWanId" ], "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.\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 `route` blocks as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the Virtual Hub.\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" } }, "type": "object" } }, "azure:network/virtualHubConnection:VirtualHubConnection": { "description": "Manages a Connection for a Virtual Hub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"172.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst test = new azure.network.VirtualWan(\"test\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"exampleVirtualHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n virtualWanId: azurerm_virtual_wan.example.id,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleVirtualHubConnection = new azure.network.VirtualHubConnection(\"exampleVirtualHubConnection\", {\n virtualHubId: exampleVirtualHub.id,\n remoteVirtualNetworkId: exampleVirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"172.0.0.0/16\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\ntest = azure.network.VirtualWan(\"test\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_virtual_hub = azure.network.VirtualHub(\"exampleVirtualHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n virtual_wan_id=azurerm_virtual_wan[\"example\"][\"id\"],\n address_prefix=\"10.0.1.0/24\")\nexample_virtual_hub_connection = azure.network.VirtualHubConnection(\"exampleVirtualHubConnection\",\n virtual_hub_id=example_virtual_hub.id,\n remote_virtual_network_id=example_virtual_network.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"172.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var test = new Azure.Network.VirtualWan(\"test\", new Azure.Network.VirtualWanArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleVirtualHub = new Azure.Network.VirtualHub(\"exampleVirtualHub\", new Azure.Network.VirtualHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n VirtualWanId = azurerm_virtual_wan.Example.Id,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleVirtualHubConnection = new Azure.Network.VirtualHubConnection(\"exampleVirtualHubConnection\", new Azure.Network.VirtualHubConnectionArgs\n {\n VirtualHubId = exampleVirtualHub.Id,\n RemoteVirtualNetworkId = exampleVirtualNetwork.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.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\t_, err = network.NewVirtualWan(ctx, \"test\", \u0026network.VirtualWanArgs{\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\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"exampleVirtualHub\", \u0026network.VirtualHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tVirtualWanId: pulumi.Any(azurerm_virtual_wan.Example.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, \"exampleVirtualHubConnection\", \u0026network.VirtualHubConnectionArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "hubToVitualNetworkTrafficAllowed": { "type": "boolean", "deprecationMessage": "Due to a breaking behavioural change in the Azure API this property is no longer functional and will be removed in version 3.0 of the provider" }, "internetSecurityEnabled": { "type": "boolean", "description": "Should Internet Security be enabled to secure internet traffic? Changing this forces a new resource to be created. Defaults to `false`.\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" }, "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" }, "vitualNetworkToHubGatewaysTrafficAllowed": { "type": "boolean", "deprecationMessage": "Due to a breaking behavioural change in the Azure API this property is no longer functional and will be removed in version 3.0 of the provider" } }, "required": [ "name", "remoteVirtualNetworkId", "virtualHubId" ], "inputProperties": { "hubToVitualNetworkTrafficAllowed": { "type": "boolean", "deprecationMessage": "Due to a breaking behavioural change in the Azure API this property is no longer functional and will be removed in version 3.0 of the provider" }, "internetSecurityEnabled": { "type": "boolean", "description": "Should Internet Security be enabled to secure internet traffic? Changing this forces a new resource to be created. Defaults to `false`.\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" }, "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" }, "vitualNetworkToHubGatewaysTrafficAllowed": { "type": "boolean", "deprecationMessage": "Due to a breaking behavioural change in the Azure API this property is no longer functional and will be removed in version 3.0 of the provider" } }, "requiredInputs": [ "remoteVirtualNetworkId", "virtualHubId" ], "stateInputs": { "description": "Input properties used for looking up and filtering VirtualHubConnection resources.\n", "properties": { "hubToVitualNetworkTrafficAllowed": { "type": "boolean", "deprecationMessage": "Due to a breaking behavioural change in the Azure API this property is no longer functional and will be removed in version 3.0 of the provider" }, "internetSecurityEnabled": { "type": "boolean", "description": "Should Internet Security be enabled to secure internet traffic? Changing this forces a new resource to be created. Defaults to `false`.\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" }, "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" }, "vitualNetworkToHubGatewaysTrafficAllowed": { "type": "boolean", "deprecationMessage": "Due to a breaking behavioural change in the Azure API this property is no longer functional and will be removed in version 3.0 of the provider" } }, "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\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleDdosProtectionPlan = new azure.network.DdosProtectionPlan(\"exampleDdosProtectionPlan\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n dnsServers: [\n \"10.0.0.4\",\n \"10.0.0.5\",\n ],\n ddosProtectionPlan: {\n id: exampleDdosProtectionPlan.id,\n enable: true,\n },\n subnets: [\n {\n name: \"subnet1\",\n addressPrefix: \"10.0.1.0/24\",\n },\n {\n name: \"subnet2\",\n addressPrefix: \"10.0.2.0/24\",\n },\n {\n name: \"subnet3\",\n addressPrefix: \"10.0.3.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_network_security_group = azure.network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_ddos_protection_plan = azure.network.DdosProtectionPlan(\"exampleDdosProtectionPlan\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n address_spaces=[\"10.0.0.0/16\"],\n dns_servers=[\n \"10.0.0.4\",\n \"10.0.0.5\",\n ],\n ddos_protection_plan=azure.network.VirtualNetworkDdosProtectionPlanArgs(\n id=example_ddos_protection_plan.id,\n enable=True,\n ),\n subnets=[\n azure.network.VirtualNetworkSubnetArgs(\n name=\"subnet1\",\n address_prefix=\"10.0.1.0/24\",\n ),\n azure.network.VirtualNetworkSubnetArgs(\n name=\"subnet2\",\n address_prefix=\"10.0.2.0/24\",\n ),\n azure.network.VirtualNetworkSubnetArgs(\n name=\"subnet3\",\n address_prefix=\"10.0.3.0/24\",\n security_group=example_network_security_group.id,\n ),\n ],\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup(\"exampleNetworkSecurityGroup\", new Azure.Network.NetworkSecurityGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleDdosProtectionPlan = new Azure.Network.DdosProtectionPlan(\"exampleDdosProtectionPlan\", new Azure.Network.DdosProtectionPlanArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n DnsServers = \n {\n \"10.0.0.4\",\n \"10.0.0.5\",\n },\n DdosProtectionPlan = new Azure.Network.Inputs.VirtualNetworkDdosProtectionPlanArgs\n {\n Id = exampleDdosProtectionPlan.Id,\n Enable = true,\n },\n Subnets = \n {\n new Azure.Network.Inputs.VirtualNetworkSubnetArgs\n {\n Name = \"subnet1\",\n AddressPrefix = \"10.0.1.0/24\",\n },\n new Azure.Network.Inputs.VirtualNetworkSubnetArgs\n {\n Name = \"subnet2\",\n AddressPrefix = \"10.0.2.0/24\",\n },\n new Azure.Network.Inputs.VirtualNetworkSubnetArgs\n {\n Name = \"subnet3\",\n AddressPrefix = \"10.0.3.0/24\",\n SecurityGroup = exampleNetworkSecurityGroup.Id,\n },\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, \"exampleNetworkSecurityGroup\", \u0026network.NetworkSecurityGroupArgs{\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\texampleDdosProtectionPlan, err := network.NewDdosProtectionPlan(ctx, \"exampleDdosProtectionPlan\", \u0026network.DdosProtectionPlanArgs{\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 = network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\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\tDdosProtectionPlan: \u0026network.VirtualNetworkDdosProtectionPlanArgs{\n\t\t\t\tId: exampleDdosProtectionPlan.ID(),\n\t\t\t\tEnable: pulumi.Bool(true),\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\tAddressPrefix: pulumi.String(\"10.0.1.0/24\"),\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\tAddressPrefix: pulumi.String(\"10.0.2.0/24\"),\n\t\t\t\t},\n\t\t\t\t\u0026network.VirtualNetworkSubnetArgs{\n\t\t\t\t\tName: pulumi.String(\"subnet3\"),\n\t\t\t\t\tAddressPrefix: pulumi.String(\"10.0.3.0/24\"),\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{{% /example %}}\n{{% /examples %}}", "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" }, "ddosProtectionPlan": { "$ref": "#/types/azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan", "description": "A `ddos_protection_plan` block as documented below.\n" }, "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "List of IP addresses of DNS servers\n" }, "guid": { "type": "string", "description": "The GUID of the virtual network.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the virtual network.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet" }, "description": "Can be specified multiple times to define multiple subnets. Each `subnet` block supports fields documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "addressSpaces", "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" }, "ddosProtectionPlan": { "$ref": "#/types/azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan", "description": "A `ddos_protection_plan` block as documented below.\n" }, "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "List of IP addresses of DNS servers\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the virtual network.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet" }, "description": "Can be specified multiple times to define multiple subnets. Each `subnet` block supports fields documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "addressSpaces", "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" }, "ddosProtectionPlan": { "$ref": "#/types/azure:network/VirtualNetworkDdosProtectionPlan:VirtualNetworkDdosProtectionPlan", "description": "A `ddos_protection_plan` block as documented below.\n" }, "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "List of IP addresses of DNS servers\n" }, "guid": { "type": "string", "description": "The GUID of the virtual network.\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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the virtual network.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkSubnet:VirtualNetworkSubnet" }, "description": "Can be specified multiple times to define multiple subnets. Each `subnet` block supports fields documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Dynamic\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\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(\"exampleVirtualNetworkGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n type=\"Vpn\",\n vpn_type=\"RouteBased\",\n active_active=False,\n enable_bgp=False,\n sku=\"Basic\",\n ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(\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=azure.network.VirtualNetworkGatewayVpnClientConfigurationArgs(\n address_spaces=[\"10.2.0.0/24\"],\n root_certificates=[azure.network.VirtualNetworkGatewayVpnClientConfigurationRootCertificateArgs(\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=[azure.network.VirtualNetworkGatewayVpnClientConfigurationRevokedCertificateArgs(\n name=\"Verizon-Global-Root-CA\",\n thumbprint=\"912198EEF23DCAC40939312FEE97DD560BAE49B1\",\n )],\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n });\n var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", new Azure.Network.VirtualNetworkGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Type = \"Vpn\",\n VpnType = \"RouteBased\",\n ActiveActive = false,\n EnableBgp = false,\n Sku = \"Basic\",\n IpConfigurations = \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 = \n {\n \"10.2.0.0/24\",\n },\n RootCertificates = \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 = \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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\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\t_, err = network.NewVirtualNetworkGateway(ctx, \"exampleVirtualNetworkGateway\", \u0026network.VirtualNetworkGatewayArgs{\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\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"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\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{{% /example %}}\n{{% /examples %}}", "properties": { "activeActive": { "type": "boolean", "description": "If `true`, an active-active Virtual Network Gateway\nwill be created. An active-active gateway requires a `HighPerformance` or an\n`UltraPerformance` sku. If `false`, an active-standby gateway will be created.\nDefaults to `false`.\n" }, "bgpSettings": { "$ref": "#/types/azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings" }, "defaultLocalNetworkGatewayId": { "type": "string", "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 tunnelling*). Refer to the\n[Azure documentation on forced tunnelling](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm).\nIf not specified, forced tunnelling is disabled.\n" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) will be enabled\nfor this Virtual Network Gateway. Defaults to `false`.\n" }, "generation": { "type": "string", "description": "The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration" }, "description": "One or two `ip_configuration` blocks documented below.\nAn active-standby gateway requires exactly one `ip_configuration` block whereas\nan active-active gateway requires exactly two `ip_configuration` blocks.\n" }, "location": { "type": "string", "description": "The location/region where the Virtual Network Gateway is\nlocated. Changing the location/region forces a new resource to be created.\n" }, "name": { "type": "string", "description": "A user-defined name of the revoked certificate.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Virtual Network Gateway. Changing the resource group name forces\na new resource to be created.\n" }, "sku": { "type": "string", "description": "Configuration of the size and capacity of the virtual network\ngateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`,\n`ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`,\n`VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and\n`generation` arguments.\nA `PolicyBased` gateway only supports the `Basic` sku. Further, the `UltraPerformance`\nsku is only supported by an `ExpressRoute` gateway.\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\n`Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.\n" }, "vpnClientConfiguration": { "$ref": "#/types/azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration", "description": "A `vpn_client_configuration` block which\nis documented below. In this block the Virtual Network Gateway can be configured\nto accept IPSec point-to-site connections.\n" }, "vpnType": { "type": "string", "description": "The routing type of the Virtual Network Gateway. Valid\noptions are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`.\n" } }, "required": [ "activeActive", "bgpSettings", "enableBgp", "generation", "ipConfigurations", "location", "name", "resourceGroupName", "sku", "type" ], "inputProperties": { "activeActive": { "type": "boolean", "description": "If `true`, an active-active Virtual Network Gateway\nwill be created. An active-active gateway requires a `HighPerformance` or an\n`UltraPerformance` sku. If `false`, an active-standby gateway will be created.\nDefaults to `false`.\n" }, "bgpSettings": { "$ref": "#/types/azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings" }, "defaultLocalNetworkGatewayId": { "type": "string", "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 tunnelling*). Refer to the\n[Azure documentation on forced tunnelling](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm).\nIf not specified, forced tunnelling is disabled.\n" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) will be enabled\nfor this Virtual Network Gateway. Defaults to `false`.\n" }, "generation": { "type": "string", "description": "The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration" }, "description": "One or two `ip_configuration` blocks documented below.\nAn active-standby gateway requires exactly one `ip_configuration` block whereas\nan active-active gateway requires exactly two `ip_configuration` blocks.\n" }, "location": { "type": "string", "description": "The location/region where the Virtual Network Gateway is\nlocated. Changing the location/region forces a new resource to be created.\n" }, "name": { "type": "string", "description": "A user-defined name of the revoked certificate.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Virtual Network Gateway. Changing the resource group name forces\na new resource to be created.\n" }, "sku": { "type": "string", "description": "Configuration of the size and capacity of the virtual network\ngateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`,\n`ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`,\n`VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and\n`generation` arguments.\nA `PolicyBased` gateway only supports the `Basic` sku. Further, the `UltraPerformance`\nsku is only supported by an `ExpressRoute` gateway.\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\n`Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.\n" }, "vpnClientConfiguration": { "$ref": "#/types/azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration", "description": "A `vpn_client_configuration` block which\nis documented below. In this block the Virtual Network Gateway can be configured\nto accept IPSec point-to-site connections.\n" }, "vpnType": { "type": "string", "description": "The routing type of the Virtual Network Gateway. Valid\noptions are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`.\n" } }, "requiredInputs": [ "ipConfigurations", "resourceGroupName", "sku", "type" ], "stateInputs": { "description": "Input properties used for looking up and filtering VirtualNetworkGateway resources.\n", "properties": { "activeActive": { "type": "boolean", "description": "If `true`, an active-active Virtual Network Gateway\nwill be created. An active-active gateway requires a `HighPerformance` or an\n`UltraPerformance` sku. If `false`, an active-standby gateway will be created.\nDefaults to `false`.\n" }, "bgpSettings": { "$ref": "#/types/azure:network/VirtualNetworkGatewayBgpSettings:VirtualNetworkGatewayBgpSettings" }, "defaultLocalNetworkGatewayId": { "type": "string", "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 tunnelling*). Refer to the\n[Azure documentation on forced tunnelling](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm).\nIf not specified, forced tunnelling is disabled.\n" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) will be enabled\nfor this Virtual Network Gateway. Defaults to `false`.\n" }, "generation": { "type": "string", "description": "The Generation of the Virtual Network gateway. Possible values include `Generation1`, `Generation2` or `None`.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/VirtualNetworkGatewayIpConfiguration:VirtualNetworkGatewayIpConfiguration" }, "description": "One or two `ip_configuration` blocks documented below.\nAn active-standby gateway requires exactly one `ip_configuration` block whereas\nan active-active gateway requires exactly two `ip_configuration` blocks.\n" }, "location": { "type": "string", "description": "The location/region where the Virtual Network Gateway is\nlocated. Changing the location/region forces a new resource to be created.\n" }, "name": { "type": "string", "description": "A user-defined name of the revoked certificate.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Virtual Network Gateway. Changing the resource group name forces\na new resource to be created.\n" }, "sku": { "type": "string", "description": "Configuration of the size and capacity of the virtual network\ngateway. Valid options are `Basic`, `Standard`, `HighPerformance`, `UltraPerformance`,\n`ErGw1AZ`, `ErGw2AZ`, `ErGw3AZ`, `VpnGw1`, `VpnGw2`, `VpnGw3`, `VpnGw4`,`VpnGw5`, `VpnGw1AZ`,\n`VpnGw2AZ`, `VpnGw3AZ`,`VpnGw4AZ` and `VpnGw5AZ` and depend on the `type`, `vpn_type` and\n`generation` arguments.\nA `PolicyBased` gateway only supports the `Basic` sku. Further, the `UltraPerformance`\nsku is only supported by an `ExpressRoute` gateway.\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\n`Vpn` or `ExpressRoute`. Changing the type forces a new resource to be created.\n" }, "vpnClientConfiguration": { "$ref": "#/types/azure:network/VirtualNetworkGatewayVpnClientConfiguration:VirtualNetworkGatewayVpnClientConfiguration", "description": "A `vpn_client_configuration` block which\nis documented below. In this block the Virtual Network Gateway can be configured\nto accept IPSec point-to-site connections.\n" }, "vpnType": { "type": "string", "description": "The routing type of the Virtual Network Gateway. Valid\noptions are `RouteBased` or `PolicyBased`. Defaults to `RouteBased`.\n" } }, "type": "object" } }, "azure:network/virtualNetworkGatewayConnection:VirtualNetworkGatewayConnection": { "description": "Manages a connection in an existing Virtual Network Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\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```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst onpremiseLocalNetworkGateway = new azure.network.LocalNetworkGateway(\"onpremiseLocalNetworkGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n gatewayAddress: \"168.62.225.23\",\n addressSpaces: [\"10.1.1.0/24\"],\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Dynamic\",\n});\nconst exampleVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"onpremiseVirtualNetworkGatewayConnection\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n type: \"IPsec\",\n virtualNetworkGatewayId: exampleVirtualNetworkGateway.id,\n localNetworkGatewayId: onpremiseLocalNetworkGateway.id,\n sharedKey: \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nonpremise_local_network_gateway = azure.network.LocalNetworkGateway(\"onpremiseLocalNetworkGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n gateway_address=\"168.62.225.23\",\n address_spaces=[\"10.1.1.0/24\"])\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\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(\"exampleVirtualNetworkGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n type=\"Vpn\",\n vpn_type=\"RouteBased\",\n active_active=False,\n enable_bgp=False,\n sku=\"Basic\",\n ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(\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(\"onpremiseVirtualNetworkGatewayConnection\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n type=\"IPsec\",\n virtual_network_gateway_id=example_virtual_network_gateway.id,\n local_network_gateway_id=onpremise_local_network_gateway.id,\n shared_key=\"4-v3ry-53cr37-1p53c-5h4r3d-k3y\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var onpremiseLocalNetworkGateway = new Azure.Network.LocalNetworkGateway(\"onpremiseLocalNetworkGateway\", new Azure.Network.LocalNetworkGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n GatewayAddress = \"168.62.225.23\",\n AddressSpaces = \n {\n \"10.1.1.0/24\",\n },\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n });\n var exampleVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"exampleVirtualNetworkGateway\", new Azure.Network.VirtualNetworkGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Type = \"Vpn\",\n VpnType = \"RouteBased\",\n ActiveActive = false,\n EnableBgp = false,\n Sku = \"Basic\",\n IpConfigurations = \n {\n new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n {\n PublicIpAddressId = examplePublicIp.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n SubnetId = exampleSubnet.Id,\n },\n },\n });\n var onpremiseVirtualNetworkGatewayConnection = new Azure.Network.VirtualNetworkGatewayConnection(\"onpremiseVirtualNetworkGatewayConnection\", new Azure.Network.VirtualNetworkGatewayConnectionArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Type = \"IPsec\",\n VirtualNetworkGatewayId = exampleVirtualNetworkGateway.Id,\n LocalNetworkGatewayId = onpremiseLocalNetworkGateway.Id,\n SharedKey = \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\tonpremiseLocalNetworkGateway, err := network.NewLocalNetworkGateway(ctx, \"onpremiseLocalNetworkGateway\", \u0026network.LocalNetworkGatewayArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"examplePublicIp\", \u0026network.PublicIpArgs{\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, \"exampleVirtualNetworkGateway\", \u0026network.VirtualNetworkGatewayArgs{\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\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, \"onpremiseVirtualNetworkGatewayConnection\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tType: pulumi.String(\"IPsec\"),\n\t\t\tVirtualNetworkGatewayId: exampleVirtualNetworkGateway.ID(),\n\t\t\tLocalNetworkGatewayId: onpremiseLocalNetworkGateway.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{{% /example %}}\n{{% example %}}\n### VNet-to-VNet connection\n\nThe following example shows a connection between two Azure virtual network\nin different locations/regions.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst usResourceGroup = new azure.core.ResourceGroup(\"usResourceGroup\", {location: \"East US\"});\nconst usVirtualNetwork = new azure.network.VirtualNetwork(\"usVirtualNetwork\", {\n location: usResourceGroup.location,\n resourceGroupName: usResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst usGateway = new azure.network.Subnet(\"usGateway\", {\n resourceGroupName: usResourceGroup.name,\n virtualNetworkName: usVirtualNetwork.name,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst usPublicIp = new azure.network.PublicIp(\"usPublicIp\", {\n location: usResourceGroup.location,\n resourceGroupName: usResourceGroup.name,\n allocationMethod: \"Dynamic\",\n});\nconst usVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"usVirtualNetworkGateway\", {\n location: usResourceGroup.location,\n resourceGroupName: usResourceGroup.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 europeResourceGroup = new azure.core.ResourceGroup(\"europeResourceGroup\", {location: \"West Europe\"});\nconst europeVirtualNetwork = new azure.network.VirtualNetwork(\"europeVirtualNetwork\", {\n location: europeResourceGroup.location,\n resourceGroupName: europeResourceGroup.name,\n addressSpaces: [\"10.1.0.0/16\"],\n});\nconst europeGateway = new azure.network.Subnet(\"europeGateway\", {\n resourceGroupName: europeResourceGroup.name,\n virtualNetworkName: europeVirtualNetwork.name,\n addressPrefix: \"10.1.1.0/24\",\n});\nconst europePublicIp = new azure.network.PublicIp(\"europePublicIp\", {\n location: europeResourceGroup.location,\n resourceGroupName: europeResourceGroup.name,\n allocationMethod: \"Dynamic\",\n});\nconst europeVirtualNetworkGateway = new azure.network.VirtualNetworkGateway(\"europeVirtualNetworkGateway\", {\n location: europeResourceGroup.location,\n resourceGroupName: europeResourceGroup.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(\"usToEurope\", {\n location: usResourceGroup.location,\n resourceGroupName: usResourceGroup.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(\"europeToUs\", {\n location: europeResourceGroup.location,\n resourceGroupName: europeResourceGroup.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_resource_group = azure.core.ResourceGroup(\"usResourceGroup\", location=\"East US\")\nus_virtual_network = azure.network.VirtualNetwork(\"usVirtualNetwork\",\n location=us_resource_group.location,\n resource_group_name=us_resource_group.name,\n address_spaces=[\"10.0.0.0/16\"])\nus_gateway = azure.network.Subnet(\"usGateway\",\n resource_group_name=us_resource_group.name,\n virtual_network_name=us_virtual_network.name,\n address_prefix=\"10.0.1.0/24\")\nus_public_ip = azure.network.PublicIp(\"usPublicIp\",\n location=us_resource_group.location,\n resource_group_name=us_resource_group.name,\n allocation_method=\"Dynamic\")\nus_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"usVirtualNetworkGateway\",\n location=us_resource_group.location,\n resource_group_name=us_resource_group.name,\n type=\"Vpn\",\n vpn_type=\"RouteBased\",\n sku=\"Basic\",\n ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(\n public_ip_address_id=us_public_ip.id,\n private_ip_address_allocation=\"Dynamic\",\n subnet_id=us_gateway.id,\n )])\neurope_resource_group = azure.core.ResourceGroup(\"europeResourceGroup\", location=\"West Europe\")\neurope_virtual_network = azure.network.VirtualNetwork(\"europeVirtualNetwork\",\n location=europe_resource_group.location,\n resource_group_name=europe_resource_group.name,\n address_spaces=[\"10.1.0.0/16\"])\neurope_gateway = azure.network.Subnet(\"europeGateway\",\n resource_group_name=europe_resource_group.name,\n virtual_network_name=europe_virtual_network.name,\n address_prefix=\"10.1.1.0/24\")\neurope_public_ip = azure.network.PublicIp(\"europePublicIp\",\n location=europe_resource_group.location,\n resource_group_name=europe_resource_group.name,\n allocation_method=\"Dynamic\")\neurope_virtual_network_gateway = azure.network.VirtualNetworkGateway(\"europeVirtualNetworkGateway\",\n location=europe_resource_group.location,\n resource_group_name=europe_resource_group.name,\n type=\"Vpn\",\n vpn_type=\"RouteBased\",\n sku=\"Basic\",\n ip_configurations=[azure.network.VirtualNetworkGatewayIpConfigurationArgs(\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(\"usToEurope\",\n location=us_resource_group.location,\n resource_group_name=us_resource_group.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(\"europeToUs\",\n location=europe_resource_group.location,\n resource_group_name=europe_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var usResourceGroup = new Azure.Core.ResourceGroup(\"usResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var usVirtualNetwork = new Azure.Network.VirtualNetwork(\"usVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = usResourceGroup.Location,\n ResourceGroupName = usResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var usGateway = new Azure.Network.Subnet(\"usGateway\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = usResourceGroup.Name,\n VirtualNetworkName = usVirtualNetwork.Name,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var usPublicIp = new Azure.Network.PublicIp(\"usPublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = usResourceGroup.Location,\n ResourceGroupName = usResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n });\n var usVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"usVirtualNetworkGateway\", new Azure.Network.VirtualNetworkGatewayArgs\n {\n Location = usResourceGroup.Location,\n ResourceGroupName = usResourceGroup.Name,\n Type = \"Vpn\",\n VpnType = \"RouteBased\",\n Sku = \"Basic\",\n IpConfigurations = \n {\n new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n {\n PublicIpAddressId = usPublicIp.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n SubnetId = usGateway.Id,\n },\n },\n });\n var europeResourceGroup = new Azure.Core.ResourceGroup(\"europeResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var europeVirtualNetwork = new Azure.Network.VirtualNetwork(\"europeVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = europeResourceGroup.Location,\n ResourceGroupName = europeResourceGroup.Name,\n AddressSpaces = \n {\n \"10.1.0.0/16\",\n },\n });\n var europeGateway = new Azure.Network.Subnet(\"europeGateway\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = europeResourceGroup.Name,\n VirtualNetworkName = europeVirtualNetwork.Name,\n AddressPrefix = \"10.1.1.0/24\",\n });\n var europePublicIp = new Azure.Network.PublicIp(\"europePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = europeResourceGroup.Location,\n ResourceGroupName = europeResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n });\n var europeVirtualNetworkGateway = new Azure.Network.VirtualNetworkGateway(\"europeVirtualNetworkGateway\", new Azure.Network.VirtualNetworkGatewayArgs\n {\n Location = europeResourceGroup.Location,\n ResourceGroupName = europeResourceGroup.Name,\n Type = \"Vpn\",\n VpnType = \"RouteBased\",\n Sku = \"Basic\",\n IpConfigurations = \n {\n new Azure.Network.Inputs.VirtualNetworkGatewayIpConfigurationArgs\n {\n PublicIpAddressId = europePublicIp.Id,\n PrivateIpAddressAllocation = \"Dynamic\",\n SubnetId = europeGateway.Id,\n },\n },\n });\n var usToEurope = new Azure.Network.VirtualNetworkGatewayConnection(\"usToEurope\", new Azure.Network.VirtualNetworkGatewayConnectionArgs\n {\n Location = usResourceGroup.Location,\n ResourceGroupName = usResourceGroup.Name,\n Type = \"Vnet2Vnet\",\n VirtualNetworkGatewayId = usVirtualNetworkGateway.Id,\n PeerVirtualNetworkGatewayId = europeVirtualNetworkGateway.Id,\n SharedKey = \"4-v3ry-53cr37-1p53c-5h4r3d-k3y\",\n });\n var europeToUs = new Azure.Network.VirtualNetworkGatewayConnection(\"europeToUs\", new Azure.Network.VirtualNetworkGatewayConnectionArgs\n {\n Location = europeResourceGroup.Location,\n ResourceGroupName = europeResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tusResourceGroup, err := core.NewResourceGroup(ctx, \"usResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"usVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tLocation: usResourceGroup.Location,\n\t\t\tResourceGroupName: usResourceGroup.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, \"usGateway\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: usResourceGroup.Name,\n\t\t\tVirtualNetworkName: usVirtualNetwork.Name,\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\tusPublicIp, err := network.NewPublicIp(ctx, \"usPublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: usResourceGroup.Location,\n\t\t\tResourceGroupName: usResourceGroup.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, \"usVirtualNetworkGateway\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tLocation: usResourceGroup.Location,\n\t\t\tResourceGroupName: usResourceGroup.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\teuropeResourceGroup, err := core.NewResourceGroup(ctx, \"europeResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"europeVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tLocation: europeResourceGroup.Location,\n\t\t\tResourceGroupName: europeResourceGroup.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, \"europeGateway\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: europeResourceGroup.Name,\n\t\t\tVirtualNetworkName: europeVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.1.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\teuropePublicIp, err := network.NewPublicIp(ctx, \"europePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tLocation: europeResourceGroup.Location,\n\t\t\tResourceGroupName: europeResourceGroup.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, \"europeVirtualNetworkGateway\", \u0026network.VirtualNetworkGatewayArgs{\n\t\t\tLocation: europeResourceGroup.Location,\n\t\t\tResourceGroupName: europeResourceGroup.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, \"usToEurope\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tLocation: usResourceGroup.Location,\n\t\t\tResourceGroupName: usResourceGroup.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, \"europeToUs\", \u0026network.VirtualNetworkGatewayConnectionArgs{\n\t\t\tLocation: europeResourceGroup.Location,\n\t\t\tResourceGroupName: europeResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "authorizationKey": { "type": "string", "description": "The authorization key associated with the\nExpress Route Circuit. This field is required only if the type is an\nExpressRoute connection.\n" }, "connectionProtocol": { "type": "string", "description": "The IKE protocol version to use. Possible\nvalues are `IKEv1` and `IKEv2`. Defaults to `IKEv2`.\nChanging this value will force a 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" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) is enabled\nfor this connection. Defaults to `false`.\n" }, "expressRouteCircuitId": { "type": "string", "description": "The ID of the Express Route Circuit\nwhen creating an ExpressRoute connection (i.e. when `type` is `ExpressRoute`).\nThe Express Route Circuit can be in the same or in a different subscription.\n" }, "expressRouteGatewayBypass": { "type": "boolean", "description": "If `true`, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.\n" }, "ipsecPolicy": { "$ref": "#/types/azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy", "description": "A `ipsec_policy` 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/en-us/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n" }, "localNetworkGatewayId": { "type": "string", "description": "The ID of the local network gateway\nwhen creating Site-to-Site connection (i.e. when `type` is `IPsec`).\n" }, "location": { "type": "string", "description": "The location/region where the connection is\nlocated. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the connection. Changing the name forces a\nnew resource to be created.\n" }, "peerVirtualNetworkGatewayId": { "type": "string", "description": "The ID of the peer virtual\nnetwork gateway when creating a VNet-to-VNet connection (i.e. when `type`\nis `Vnet2Vnet`). The peer Virtual Network Gateway can be in the same or\nin a different subscription.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the connection Changing the name forces a new resource to be created.\n" }, "routingWeight": { "type": "integer", "description": "The routing weight. Defaults to `10`.\n" }, "sharedKey": { "type": "string", "description": "The shared IPSec key. A key could be provided if a\nSite-to-Site, VNet-to-VNet or ExpressRoute connection is created.\n" }, "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": "A `traffic_selector_policy` which allows to specify traffic selector policy proposal to be used in a virtual network gateway connection.\nOnly one block can be defined for a connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n" }, "type": { "type": "string", "description": "The type of connection. Valid options are `IPsec`\n(Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet).\nEach connection type requires different mandatory arguments (refer to the\nexamples above). Changing the connection type will force a new connection\nto be created.\n" }, "usePolicyBasedTrafficSelectors": { "type": "boolean", "description": "If `true`, policy-based traffic\nselectors are enabled for this connection. Enabling policy-based traffic\nselectors requires an `ipsec_policy` block. Defaults to `false`.\n" }, "virtualNetworkGatewayId": { "type": "string", "description": "The ID of the Virtual Network Gateway\nin which the connection will be created. Changing the gateway forces a new\nresource to be created.\n" } }, "required": [ "connectionProtocol", "enableBgp", "expressRouteGatewayBypass", "location", "name", "resourceGroupName", "routingWeight", "type", "usePolicyBasedTrafficSelectors", "virtualNetworkGatewayId" ], "inputProperties": { "authorizationKey": { "type": "string", "description": "The authorization key associated with the\nExpress Route Circuit. This field is required only if the type is an\nExpressRoute connection.\n" }, "connectionProtocol": { "type": "string", "description": "The IKE protocol version to use. Possible\nvalues are `IKEv1` and `IKEv2`. Defaults to `IKEv2`.\nChanging this value will force a 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" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) is enabled\nfor this connection. Defaults to `false`.\n" }, "expressRouteCircuitId": { "type": "string", "description": "The ID of the Express Route Circuit\nwhen creating an ExpressRoute connection (i.e. when `type` is `ExpressRoute`).\nThe Express Route Circuit can be in the same or in a different subscription.\n" }, "expressRouteGatewayBypass": { "type": "boolean", "description": "If `true`, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.\n" }, "ipsecPolicy": { "$ref": "#/types/azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy", "description": "A `ipsec_policy` 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/en-us/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n" }, "localNetworkGatewayId": { "type": "string", "description": "The ID of the local network gateway\nwhen creating Site-to-Site connection (i.e. when `type` is `IPsec`).\n" }, "location": { "type": "string", "description": "The location/region where the connection is\nlocated. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the connection. Changing the name forces a\nnew resource to be created.\n" }, "peerVirtualNetworkGatewayId": { "type": "string", "description": "The ID of the peer virtual\nnetwork gateway when creating a VNet-to-VNet connection (i.e. when `type`\nis `Vnet2Vnet`). The peer Virtual Network Gateway can be in the same or\nin a different subscription.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the connection Changing the name forces a new resource to be created.\n" }, "routingWeight": { "type": "integer", "description": "The routing weight. Defaults to `10`.\n" }, "sharedKey": { "type": "string", "description": "The shared IPSec key. A key could be provided if a\nSite-to-Site, VNet-to-VNet or ExpressRoute connection is created.\n" }, "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": "A `traffic_selector_policy` which allows to specify traffic selector policy proposal to be used in a virtual network gateway connection.\nOnly one block can be defined for a connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n" }, "type": { "type": "string", "description": "The type of connection. Valid options are `IPsec`\n(Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet).\nEach connection type requires different mandatory arguments (refer to the\nexamples above). Changing the connection type will force a new connection\nto be created.\n" }, "usePolicyBasedTrafficSelectors": { "type": "boolean", "description": "If `true`, policy-based traffic\nselectors are enabled for this connection. Enabling policy-based traffic\nselectors requires an `ipsec_policy` block. Defaults to `false`.\n" }, "virtualNetworkGatewayId": { "type": "string", "description": "The ID of the Virtual Network Gateway\nin which the connection will be created. Changing the gateway forces a new\nresource to be created.\n" } }, "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\nExpress Route Circuit. This field is required only if the type is an\nExpressRoute connection.\n" }, "connectionProtocol": { "type": "string", "description": "The IKE protocol version to use. Possible\nvalues are `IKEv1` and `IKEv2`. Defaults to `IKEv2`.\nChanging this value will force a 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" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) is enabled\nfor this connection. Defaults to `false`.\n" }, "expressRouteCircuitId": { "type": "string", "description": "The ID of the Express Route Circuit\nwhen creating an ExpressRoute connection (i.e. when `type` is `ExpressRoute`).\nThe Express Route Circuit can be in the same or in a different subscription.\n" }, "expressRouteGatewayBypass": { "type": "boolean", "description": "If `true`, data packets will bypass ExpressRoute Gateway for data forwarding This is only valid for ExpressRoute connections.\n" }, "ipsecPolicy": { "$ref": "#/types/azure:network/VirtualNetworkGatewayConnectionIpsecPolicy:VirtualNetworkGatewayConnectionIpsecPolicy", "description": "A `ipsec_policy` 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/en-us/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell).\n" }, "localNetworkGatewayId": { "type": "string", "description": "The ID of the local network gateway\nwhen creating Site-to-Site connection (i.e. when `type` is `IPsec`).\n" }, "location": { "type": "string", "description": "The location/region where the connection is\nlocated. Changing this forces a new resource to be created.\n" }, "name": { "type": "string", "description": "The name of the connection. Changing the name forces a\nnew resource to be created.\n" }, "peerVirtualNetworkGatewayId": { "type": "string", "description": "The ID of the peer virtual\nnetwork gateway when creating a VNet-to-VNet connection (i.e. when `type`\nis `Vnet2Vnet`). The peer Virtual Network Gateway can be in the same or\nin a different subscription.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the connection Changing the name forces a new resource to be created.\n" }, "routingWeight": { "type": "integer", "description": "The routing weight. Defaults to `10`.\n" }, "sharedKey": { "type": "string", "description": "The shared IPSec key. A key could be provided if a\nSite-to-Site, VNet-to-VNet or ExpressRoute connection is created.\n" }, "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": "A `traffic_selector_policy` which allows to specify traffic selector policy proposal to be used in a virtual network gateway connection.\nOnly one block can be defined for a connection.\nFor details about traffic selectors refer to [the relevant section in the Azure documentation](https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-connect-multiple-policybased-rm-ps).\n" }, "type": { "type": "string", "description": "The type of connection. Valid options are `IPsec`\n(Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet).\nEach connection type requires different mandatory arguments (refer to the\nexamples above). Changing the connection type will force a new connection\nto be created.\n" }, "usePolicyBasedTrafficSelectors": { "type": "boolean", "description": "If `true`, policy-based traffic\nselectors are enabled for this connection. Enabling policy-based traffic\nselectors requires an `ipsec_policy` block. Defaults to `false`.\n" }, "virtualNetworkGatewayId": { "type": "string", "description": "The ID of the Virtual Network Gateway\nin which the connection will be created. Changing the gateway forces a new\nresource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US\"});\nconst example_1VirtualNetwork = new azure.network.VirtualNetwork(\"example-1VirtualNetwork\", {\n resourceGroupName: example.name,\n addressSpaces: [\"10.0.1.0/24\"],\n location: \"West US\",\n});\nconst example_2VirtualNetwork = new azure.network.VirtualNetwork(\"example-2VirtualNetwork\", {\n resourceGroupName: example.name,\n addressSpaces: [\"10.0.2.0/24\"],\n location: \"West US\",\n});\nconst example_1VirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"example-1VirtualNetworkPeering\", {\n resourceGroupName: example.name,\n virtualNetworkName: example_1VirtualNetwork.name,\n remoteVirtualNetworkId: example_2VirtualNetwork.id,\n});\nconst example_2VirtualNetworkPeering = new azure.network.VirtualNetworkPeering(\"example-2VirtualNetworkPeering\", {\n resourceGroupName: example.name,\n virtualNetworkName: example_2VirtualNetwork.name,\n remoteVirtualNetworkId: example_1VirtualNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\", location=\"West US\")\nexample_1_virtual_network = azure.network.VirtualNetwork(\"example-1VirtualNetwork\",\n resource_group_name=example.name,\n address_spaces=[\"10.0.1.0/24\"],\n location=\"West US\")\nexample_2_virtual_network = azure.network.VirtualNetwork(\"example-2VirtualNetwork\",\n resource_group_name=example.name,\n address_spaces=[\"10.0.2.0/24\"],\n location=\"West US\")\nexample_1_virtual_network_peering = azure.network.VirtualNetworkPeering(\"example-1VirtualNetworkPeering\",\n resource_group_name=example.name,\n virtual_network_name=example_1_virtual_network.name,\n remote_virtual_network_id=example_2_virtual_network.id)\nexample_2_virtual_network_peering = azure.network.VirtualNetworkPeering(\"example-2VirtualNetworkPeering\",\n resource_group_name=example.name,\n virtual_network_name=example_2_virtual_network.name,\n remote_virtual_network_id=example_1_virtual_network.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var example_1VirtualNetwork = new Azure.Network.VirtualNetwork(\"example-1VirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = example.Name,\n AddressSpaces = \n {\n \"10.0.1.0/24\",\n },\n Location = \"West US\",\n });\n var example_2VirtualNetwork = new Azure.Network.VirtualNetwork(\"example-2VirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = example.Name,\n AddressSpaces = \n {\n \"10.0.2.0/24\",\n },\n Location = \"West US\",\n });\n var example_1VirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"example-1VirtualNetworkPeering\", new Azure.Network.VirtualNetworkPeeringArgs\n {\n ResourceGroupName = example.Name,\n VirtualNetworkName = example_1VirtualNetwork.Name,\n RemoteVirtualNetworkId = example_2VirtualNetwork.Id,\n });\n var example_2VirtualNetworkPeering = new Azure.Network.VirtualNetworkPeering(\"example-2VirtualNetworkPeering\", new Azure.Network.VirtualNetworkPeeringArgs\n {\n ResourceGroupName = example.Name,\n VirtualNetworkName = example_2VirtualNetwork.Name,\n RemoteVirtualNetworkId = example_1VirtualNetwork.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\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.NewVirtualNetwork(ctx, \"example_1VirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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.NewVirtualNetwork(ctx, \"example_2VirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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.NewVirtualNetworkPeering(ctx, \"example_1VirtualNetworkPeering\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: example_1VirtualNetwork.Name,\n\t\t\tRemoteVirtualNetworkId: example_2VirtualNetwork.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_2VirtualNetworkPeering\", \u0026network.VirtualNetworkPeeringArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: example_2VirtualNetwork.Name,\n\t\t\tRemoteVirtualNetworkId: example_1VirtualNetwork.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\n{{% /example %}}\n{{% /examples %}}\n## Note\n\nVirtual Network peerings cannot be created, updated or deleted concurrently.\n", "properties": { "allowForwardedTraffic": { "type": "boolean", "description": "Controls if forwarded traffic from VMs\nin the remote virtual network is allowed. Defaults to false.\n" }, "allowGatewayTransit": { "type": "boolean", "description": "Controls gatewayLinks can be used in the\nremote virtual network’s link to the local virtual network.\n" }, "allowVirtualNetworkAccess": { "type": "boolean", "description": "Controls if the VMs in the remote\nvirtual network can access VMs in the local virtual network. Defaults to\ntrue.\n" }, "name": { "type": "string", "description": "The name of the virtual network peering. Changing this\nforces a new resource to be created.\n" }, "remoteVirtualNetworkId": { "type": "string", "description": "The full Azure resource ID of the\nremote 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\ncreate the virtual network peering. Changing this forces a new resource to be\ncreated.\n" }, "useRemoteGateways": { "type": "boolean", "description": "Controls if remote gateways can be used on\nthe local virtual network. If the flag is set to `true`, and\n`allow_gateway_transit` on the remote peering is also `true`, virtual network will\nuse gateways of remote virtual network for transit. Only one peering can\nhave this flag set to `true`. This flag cannot be set if virtual network\nalready has a gateway. Defaults to `false`.\n" }, "virtualNetworkName": { "type": "string", "description": "The name of the virtual network. Changing\nthis forces a new resource to be created.\n" } }, "required": [ "allowForwardedTraffic", "allowGatewayTransit", "name", "remoteVirtualNetworkId", "resourceGroupName", "useRemoteGateways", "virtualNetworkName" ], "inputProperties": { "allowForwardedTraffic": { "type": "boolean", "description": "Controls if forwarded traffic from VMs\nin the remote virtual network is allowed. Defaults to false.\n" }, "allowGatewayTransit": { "type": "boolean", "description": "Controls gatewayLinks can be used in the\nremote virtual network’s link to the local virtual network.\n" }, "allowVirtualNetworkAccess": { "type": "boolean", "description": "Controls if the VMs in the remote\nvirtual network can access VMs in the local virtual network. Defaults to\ntrue.\n" }, "name": { "type": "string", "description": "The name of the virtual network peering. Changing this\nforces a new resource to be created.\n" }, "remoteVirtualNetworkId": { "type": "string", "description": "The full Azure resource ID of the\nremote 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\ncreate the virtual network peering. Changing this forces a new resource to be\ncreated.\n" }, "useRemoteGateways": { "type": "boolean", "description": "Controls if remote gateways can be used on\nthe local virtual network. If the flag is set to `true`, and\n`allow_gateway_transit` on the remote peering is also `true`, virtual network will\nuse gateways of remote virtual network for transit. Only one peering can\nhave this flag set to `true`. This flag cannot be set if virtual network\nalready has a gateway. Defaults to `false`.\n" }, "virtualNetworkName": { "type": "string", "description": "The name of the virtual network. Changing\nthis forces a new resource to be created.\n" } }, "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\nin the remote virtual network is allowed. Defaults to false.\n" }, "allowGatewayTransit": { "type": "boolean", "description": "Controls gatewayLinks can be used in the\nremote virtual network’s link to the local virtual network.\n" }, "allowVirtualNetworkAccess": { "type": "boolean", "description": "Controls if the VMs in the remote\nvirtual network can access VMs in the local virtual network. Defaults to\ntrue.\n" }, "name": { "type": "string", "description": "The name of the virtual network peering. Changing this\nforces a new resource to be created.\n" }, "remoteVirtualNetworkId": { "type": "string", "description": "The full Azure resource ID of the\nremote 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\ncreate the virtual network peering. Changing this forces a new resource to be\ncreated.\n" }, "useRemoteGateways": { "type": "boolean", "description": "Controls if remote gateways can be used on\nthe local virtual network. If the flag is set to `true`, and\n`allow_gateway_transit` on the remote peering is also `true`, virtual network will\nuse gateways of remote virtual network for transit. Only one peering can\nhave this flag set to `true`. This flag cannot be set if virtual network\nalready has a gateway. Defaults to `false`.\n" }, "virtualNetworkName": { "type": "string", "description": "The name of the virtual network. Changing\nthis forces a new resource to be created.\n" } }, "type": "object" } }, "azure:network/virtualWan:VirtualWan": { "description": "Manages a Virtual WAN.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"exampleVirtualWan\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_wan = azure.network.VirtualWan(\"exampleVirtualWan\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualWan = new Azure.Network.VirtualWan(\"exampleVirtualWan\", new Azure.Network.VirtualWanArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualWan\", \u0026network.VirtualWanArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "allowBranchToBranchTraffic": { "type": "boolean", "description": "Boolean flag to specify whether branch to branch traffic is allowed. Defaults to `true`.\n" }, "allowVnetToVnetTraffic": { "type": "boolean", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "disableVpnEncryption": { "type": "boolean", "description": "Boolean flag to specify whether VPN encryption is disabled. Defaults to `false`.\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 `true`.\n" }, "allowVnetToVnetTraffic": { "type": "boolean", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "disableVpnEncryption": { "type": "boolean", "description": "Boolean flag to specify whether VPN encryption is disabled. Defaults to `false`.\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" } }, "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 `true`.\n" }, "allowVnetToVnetTraffic": { "type": "boolean", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "disableVpnEncryption": { "type": "boolean", "description": "Boolean flag to specify whether VPN encryption is disabled. Defaults to `false`.\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" } }, "type": "object" } }, "azure:network/vpnGateway:VpnGateway": { "description": "Manages a VPN Gateway within a Virtual Hub, which enables Site-to-Site communication.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleVirtualWan = new azure.network.VirtualWan(\"exampleVirtualWan\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleVirtualHub = new azure.network.VirtualHub(\"exampleVirtualHub\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n virtualWanId: exampleVirtualWan.id,\n addressPrefix: \"10.0.1.0/24\",\n});\nconst exampleVpnGateway = new azure.network.VpnGateway(\"exampleVpnGateway\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n virtualHubId: exampleVirtualHub.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n address_spaces=[\"10.0.0.0/16\"])\nexample_virtual_wan = azure.network.VirtualWan(\"exampleVirtualWan\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_virtual_hub = azure.network.VirtualHub(\"exampleVirtualHub\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n virtual_wan_id=example_virtual_wan.id,\n address_prefix=\"10.0.1.0/24\")\nexample_vpn_gateway = azure.network.VpnGateway(\"exampleVpnGateway\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n virtual_hub_id=example_virtual_hub.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n });\n var exampleVirtualWan = new Azure.Network.VirtualWan(\"exampleVirtualWan\", new Azure.Network.VirtualWanArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleVirtualHub = new Azure.Network.VirtualHub(\"exampleVirtualHub\", new Azure.Network.VirtualHubArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n VirtualWanId = exampleVirtualWan.Id,\n AddressPrefix = \"10.0.1.0/24\",\n });\n var exampleVpnGateway = new Azure.Network.VpnGateway(\"exampleVpnGateway\", new Azure.Network.VpnGatewayArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualHubId = exampleVirtualHub.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\texampleVirtualWan, err := network.NewVirtualWan(ctx, \"exampleVirtualWan\", \u0026network.VirtualWanArgs{\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\texampleVirtualHub, err := network.NewVirtualHub(ctx, \"exampleVirtualHub\", \u0026network.VirtualHubArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleVpnGateway\", \u0026network.VpnGatewayArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "bgpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnGatewayBgpSetting:VpnGatewayBgpSetting" }, "description": "A `bgp_settings` 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" }, "scaleUnit": { "type": "integer", "description": "The Scale Unit for this VPN Gateway. Defaults to `1`.\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", "location", "name", "resourceGroupName", "virtualHubId" ], "inputProperties": { "bgpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnGatewayBgpSetting:VpnGatewayBgpSetting" }, "description": "A `bgp_settings` 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" }, "scaleUnit": { "type": "integer", "description": "The Scale Unit for this VPN Gateway. Defaults to `1`.\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" } }, "requiredInputs": [ "resourceGroupName", "virtualHubId" ], "stateInputs": { "description": "Input properties used for looking up and filtering VpnGateway resources.\n", "properties": { "bgpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnGatewayBgpSetting:VpnGatewayBgpSetting" }, "description": "A `bgp_settings` 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" }, "scaleUnit": { "type": "integer", "description": "The Scale Unit for this VPN Gateway. Defaults to `1`.\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" } }, "type": "object" } }, "azure:network/vpnServerConfiguration:VpnServerConfiguration": { "description": "Manages a VPN Server Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West Europe\"});\nconst test = new azure.network.VpnServerConfiguration(\"test\", {\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\", location=\"West Europe\")\ntest = azure.network.VpnServerConfiguration(\"test\",\n resource_group_name=example.name,\n location=example.location,\n vpn_authentication_types=[\"Certificate\"],\n client_root_certificates=[azure.network.VpnServerConfigurationClientRootCertificateArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var test = new Azure.Network.VpnServerConfiguration(\"test\", new Azure.Network.VpnServerConfigurationArgs\n {\n ResourceGroupName = example.Name,\n Location = example.Location,\n VpnAuthenticationTypes = \n {\n \"Certificate\",\n },\n ClientRootCertificates = \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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\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\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVpnAuthenticationTypes: pulumi.String(pulumi.String{\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v\", \"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\t\t\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{{% /example %}}\n{{% /examples %}}", "properties": { "azureActiveDirectoryAuthentications": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationAzureActiveDirectoryAuthentication:VpnServerConfigurationAzureActiveDirectoryAuthentication" }, "description": "A `azure_active_directory_authentication` block as defined below.\n" }, "clientRevokedCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate" }, "description": "One or more `client_revoked_certificate` blocks as defined below.\n" }, "clientRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate" }, "description": "One or more `client_root_certificate` blocks as defined below.\n" }, "ipsecPolicy": { "$ref": "#/types/azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy", "description": "A `ipsec_policy` 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" }, "radiusServer": { "$ref": "#/types/azure:network/VpnServerConfigurationRadiusServer:VpnServerConfigurationRadiusServer", "description": "A `radius_server` block as defined below.\n" }, "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": "string", "description": "A list of one of more 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" }, "description": "A `azure_active_directory_authentication` block as defined below.\n" }, "clientRevokedCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate" }, "description": "One or more `client_revoked_certificate` blocks as defined below.\n" }, "clientRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate" }, "description": "One or more `client_root_certificate` blocks as defined below.\n" }, "ipsecPolicy": { "$ref": "#/types/azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy", "description": "A `ipsec_policy` 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" }, "radiusServer": { "$ref": "#/types/azure:network/VpnServerConfigurationRadiusServer:VpnServerConfigurationRadiusServer", "description": "A `radius_server` block as defined below.\n" }, "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": "string", "description": "A list of one of more 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" }, "description": "A `azure_active_directory_authentication` block as defined below.\n" }, "clientRevokedCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationClientRevokedCertificate:VpnServerConfigurationClientRevokedCertificate" }, "description": "One or more `client_revoked_certificate` blocks as defined below.\n" }, "clientRootCertificates": { "type": "array", "items": { "$ref": "#/types/azure:network/VpnServerConfigurationClientRootCertificate:VpnServerConfigurationClientRootCertificate" }, "description": "One or more `client_root_certificate` blocks as defined below.\n" }, "ipsecPolicy": { "$ref": "#/types/azure:network/VpnServerConfigurationIpsecPolicy:VpnServerConfigurationIpsecPolicy", "description": "A `ipsec_policy` 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" }, "radiusServer": { "$ref": "#/types/azure:network/VpnServerConfigurationRadiusServer:VpnServerConfigurationRadiusServer", "description": "A `radius_server` block as defined below.\n" }, "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": "string", "description": "A list of one of more 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:notificationhub/authorizationRule:AuthorizationRule": { "description": "Manages an Authorization Rule associated with a Notification Hub within a Notification Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Australia East\"});\nconst exampleNamespace = new azure.notificationhub.Namespace(\"exampleNamespace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n namespaceType: \"NotificationHub\",\n skuName: \"Free\",\n});\nconst exampleHub = new azure.notificationhub.Hub(\"exampleHub\", {\n namespaceName: exampleNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleAuthorizationRule = new azure.notificationhub.AuthorizationRule(\"exampleAuthorizationRule\", {\n notificationHubName: exampleHub.name,\n namespaceName: exampleNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n manage: true,\n send: true,\n listen: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Australia East\")\nexample_namespace = azure.notificationhub.Namespace(\"exampleNamespace\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n namespace_type=\"NotificationHub\",\n sku_name=\"Free\")\nexample_hub = azure.notificationhub.Hub(\"exampleHub\",\n namespace_name=example_namespace.name,\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_authorization_rule = azure.notificationhub.AuthorizationRule(\"exampleAuthorizationRule\",\n notification_hub_name=example_hub.name,\n namespace_name=example_namespace.name,\n resource_group_name=example_resource_group.name,\n manage=True,\n send=True,\n listen=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Australia East\",\n });\n var exampleNamespace = new Azure.NotificationHub.Namespace(\"exampleNamespace\", new Azure.NotificationHub.NamespaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n NamespaceType = \"NotificationHub\",\n SkuName = \"Free\",\n });\n var exampleHub = new Azure.NotificationHub.Hub(\"exampleHub\", new Azure.NotificationHub.HubArgs\n {\n NamespaceName = exampleNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleAuthorizationRule = new Azure.NotificationHub.AuthorizationRule(\"exampleAuthorizationRule\", new Azure.NotificationHub.AuthorizationRuleArgs\n {\n NotificationHubName = exampleHub.Name,\n NamespaceName = exampleNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Manage = true,\n Send = true,\n Listen = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"Australia East\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := notificationhub.NewNamespace(ctx, \"exampleNamespace\", \u0026notificationhub.NamespaceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleHub\", \u0026notificationhub.HubArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\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 = notificationhub.NewAuthorizationRule(ctx, \"exampleAuthorizationRule\", \u0026notificationhub.AuthorizationRuleArgs{\n\t\t\tNotificationHubName: exampleHub.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Does this Authorization Rule have Listen access to the Notification Hub? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage access to the Notification Hub? Defaults to `false`.\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" }, "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" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send access to the Notification Hub? Defaults to `false`.\n" } }, "required": [ "name", "namespaceName", "notificationHubName", "primaryAccessKey", "resourceGroupName", "secondaryAccessKey" ], "inputProperties": { "listen": { "type": "boolean", "description": "Does this Authorization Rule have Listen access to the Notification Hub? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage access to the Notification Hub? Defaults to `false`.\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" }, "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" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send access to the Notification Hub? Defaults to `false`.\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 `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage access to the Notification Hub? Defaults to `false`.\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" }, "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" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send access to the Notification Hub? Defaults to `false`.\n" } }, "type": "object" } }, "azure:notificationhub/hub:Hub": { "description": "Manages a Notification Hub within a Notification Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Australia East\"});\nconst exampleNamespace = new azure.notificationhub.Namespace(\"exampleNamespace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n namespaceType: \"NotificationHub\",\n skuName: \"Free\",\n});\nconst exampleHub = new azure.notificationhub.Hub(\"exampleHub\", {\n namespaceName: exampleNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Australia East\")\nexample_namespace = azure.notificationhub.Namespace(\"exampleNamespace\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n namespace_type=\"NotificationHub\",\n sku_name=\"Free\")\nexample_hub = azure.notificationhub.Hub(\"exampleHub\",\n namespace_name=example_namespace.name,\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Australia East\",\n });\n var exampleNamespace = new Azure.NotificationHub.Namespace(\"exampleNamespace\", new Azure.NotificationHub.NamespaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n NamespaceType = \"NotificationHub\",\n SkuName = \"Free\",\n });\n var exampleHub = new Azure.NotificationHub.Hub(\"exampleHub\", new Azure.NotificationHub.HubArgs\n {\n NamespaceName = exampleNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"Australia East\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := notificationhub.NewNamespace(ctx, \"exampleNamespace\", \u0026notificationhub.NamespaceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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, \"exampleHub\", \u0026notificationhub.HubArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "apnsCredential": { "$ref": "#/types/azure:notificationhub/HubApnsCredential:HubApnsCredential", "description": "A `apns_credential` block as defined below.\n" }, "gcmCredential": { "$ref": "#/types/azure:notificationhub/HubGcmCredential:HubGcmCredential", "description": "A `gcm_credential` block as defined below.\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 `apns_credential` block as defined below.\n" }, "gcmCredential": { "$ref": "#/types/azure:notificationhub/HubGcmCredential:HubGcmCredential", "description": "A `gcm_credential` block as defined below.\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" } }, "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 `apns_credential` block as defined below.\n" }, "gcmCredential": { "$ref": "#/types/azure:notificationhub/HubGcmCredential:HubGcmCredential", "description": "A `gcm_credential` block as defined below.\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" } }, "type": "object" } }, "azure:notificationhub/namespace:Namespace": { "description": "Manages a Notification Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"Australia East\"});\nconst exampleNamespace = new azure.notificationhub.Namespace(\"exampleNamespace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n namespaceType: \"NotificationHub\",\n skuName: \"Free\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"Australia East\")\nexample_namespace = azure.notificationhub.Namespace(\"exampleNamespace\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n namespace_type=\"NotificationHub\",\n sku_name=\"Free\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"Australia East\",\n });\n var exampleNamespace = new Azure.NotificationHub.Namespace(\"exampleNamespace\", new Azure.NotificationHub.NamespaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n NamespaceType = \"NotificationHub\",\n SkuName = \"Free\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"Australia East\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = notificationhub.NewNamespace(ctx, \"exampleNamespace\", \u0026notificationhub.NamespaceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "enabled": { "type": "boolean", "description": "Is this Notification Hub Namespace enabled? Defaults to `true`.\n" }, "location": { "type": "string", "description": "The Azure Region in which this Notification Hub Namespace should 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" }, "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`. 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", "namespaceType", "resourceGroupName", "servicebusEndpoint", "skuName" ], "inputProperties": { "enabled": { "type": "boolean", "description": "Is this Notification Hub Namespace enabled? Defaults to `true`.\n" }, "location": { "type": "string", "description": "The Azure Region in which this Notification Hub Namespace should 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" }, "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" }, "skuName": { "type": "string", "description": "The name of the SKU to use for this Notification Hub Namespace. Possible values are `Free`, `Basic` or `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 resource.\n" } }, "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 `true`.\n" }, "location": { "type": "string", "description": "The Azure Region in which this Notification Hub Namespace should 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" }, "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`. 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": "object" } }, "azure:operationalinsights/analyticsSolution:AnalyticsSolution": { "description": "Manages a Log Analytics (formally Operational Insights) Solution.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westeurope\"});\nconst workspace = new random.RandomId(\"workspace\", {\n keepers: {\n group_name: exampleResourceGroup.name,\n },\n byteLength: 8,\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n});\nconst exampleAnalyticsSolution = new azure.operationalinsights.AnalyticsSolution(\"exampleAnalyticsSolution\", {\n solutionName: \"ContainerInsights\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westeurope\")\nworkspace = random.RandomId(\"workspace\",\n keepers={\n \"group_name\": example_resource_group.name,\n },\n byte_length=8)\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"PerGB2018\")\nexample_analytics_solution = azure.operationalinsights.AnalyticsSolution(\"exampleAnalyticsSolution\",\n solution_name=\"ContainerInsights\",\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=azure.operationalinsights.AnalyticsSolutionPlanArgs(\n publisher=\"Microsoft\",\n product=\"OMSGallery/ContainerInsights\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westeurope\",\n });\n var workspace = new Random.RandomId(\"workspace\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"group_name\", exampleResourceGroup.Name },\n },\n ByteLength = 8,\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"PerGB2018\",\n });\n var exampleAnalyticsSolution = new Azure.OperationalInsights.AnalyticsSolution(\"exampleAnalyticsSolution\", new Azure.OperationalInsights.AnalyticsSolutionArgs\n {\n SolutionName = \"ContainerInsights\",\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/ContainerInsights\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = random.NewRandomId(ctx, \"workspace\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.StringMap{\n\t\t\t\t\"group_name\": exampleResourceGroup.Name,\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\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\t_, err = operationalinsights.NewAnalyticsSolution(ctx, \"exampleAnalyticsSolution\", \u0026operationalinsights.AnalyticsSolutionArgs{\n\t\t\tSolutionName: pulumi.String(\"ContainerInsights\"),\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/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{{% /example %}}\n{{% /examples %}}", "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 `plan` 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/en-us/azure/log-analytics/log-analytics-add-solutions).Changing this forces a new resource to be created.\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" }, "plan": { "$ref": "#/types/azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan", "description": "A `plan` 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/en-us/azure/log-analytics/log-analytics-add-solutions).Changing this forces a new resource to be created.\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" } }, "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" }, "plan": { "$ref": "#/types/azure:operationalinsights/AnalyticsSolutionPlan:AnalyticsSolutionPlan", "description": "A `plan` 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/en-us/azure/log-analytics/log-analytics-add-solutions).Changing this forces a new resource to be created.\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" } }, "type": "object" } }, "azure:operationalinsights/analyticsWorkspace:AnalyticsWorkspace": { "description": "Manages a Log Analytics (formally Operational Insights) Workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"East US\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"East US\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = operationalinsights.NewAnalyticsWorkspace(ctx, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 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" }, "portalUrl": { "type": "string", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "primarySharedKey": { "type": "string", "description": "The Primary shared key for the Log Analytics Workspace.\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 either 7 (Free Tier only) or range between 30 and 730.\n" }, "secondarySharedKey": { "type": "string", "description": "The Secondary shared key for the Log Analytics Workspace.\n" }, "sku": { "type": "string", "description": "Specifies the Sku of the Log Analytics Workspace. Possible values are `Free`, `PerNode`, `Premium`, `Standard`, `Standalone`, `Unlimited`, and `PerGB2018` (new Sku as of `2018-04-03`). Defaults to `PerGB2018`.\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": [ "location", "name", "portalUrl", "primarySharedKey", "resourceGroupName", "retentionInDays", "secondarySharedKey", "workspaceId" ], "inputProperties": { "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" }, "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 either 7 (Free Tier only) or range between 30 and 730.\n" }, "sku": { "type": "string", "description": "Specifies the Sku of the Log Analytics Workspace. Possible values are `Free`, `PerNode`, `Premium`, `Standard`, `Standalone`, `Unlimited`, and `PerGB2018` (new Sku as of `2018-04-03`). Defaults to `PerGB2018`.\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": { "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" }, "portalUrl": { "type": "string", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "primarySharedKey": { "type": "string", "description": "The Primary shared key for the Log Analytics Workspace.\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 either 7 (Free Tier only) or range between 30 and 730.\n" }, "secondarySharedKey": { "type": "string", "description": "The Secondary shared key for the Log Analytics Workspace.\n" }, "sku": { "type": "string", "description": "Specifies the Sku of the Log Analytics Workspace. Possible values are `Free`, `PerNode`, `Premium`, `Standard`, `Standalone`, `Unlimited`, and `PerGB2018` (new Sku as of `2018-04-03`). Defaults to `PerGB2018`.\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:policy/assignment:Assignment": { "description": "Configures the specified Policy Definition at the specified Scope. Also, Policy Set Definitions are supported.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleDefinition = new azure.policy.Definition(\"exampleDefinition\", {\n policyType: \"Custom\",\n mode: \"All\",\n displayName: \"my-policy-definition\",\n policyRule: `\t{\n \"if\": {\n \"not\": {\n \"field\": \"location\",\n \"in\": \"[parameters('allowedLocations')]\"\n }\n },\n \"then\": {\n \"effect\": \"audit\"\n }\n }\n`,\n parameters: `\t{\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 exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAssignment = new azure.policy.Assignment(\"exampleAssignment\", {\n scope: exampleResourceGroup.id,\n policyDefinitionId: exampleDefinition.id,\n description: \"Policy Assignment created via an Acceptance Test\",\n displayName: \"My Example Policy Assignment\",\n metadata: ` {\n \"category\": \"General\"\n }\n`,\n parameters: `{\n \"allowedLocations\": {\n \"value\": [ \"West Europe\" ]\n }\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_definition = azure.policy.Definition(\"exampleDefinition\",\n policy_type=\"Custom\",\n mode=\"All\",\n display_name=\"my-policy-definition\",\n policy_rule=\"\"\"\t{\n \"if\": {\n \"not\": {\n \"field\": \"location\",\n \"in\": \"[parameters('allowedLocations')]\"\n }\n },\n \"then\": {\n \"effect\": \"audit\"\n }\n }\n\"\"\",\n parameters=\"\"\"\t{\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 = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_assignment = azure.policy.Assignment(\"exampleAssignment\",\n scope=example_resource_group.id,\n policy_definition_id=example_definition.id,\n description=\"Policy Assignment created via an Acceptance Test\",\n display_name=\"My Example Policy Assignment\",\n metadata=\"\"\" {\n \"category\": \"General\"\n }\n\"\"\",\n parameters=\"\"\"{\n \"allowedLocations\": {\n \"value\": [ \"West Europe\" ]\n }\n}\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleDefinition = new Azure.Policy.Definition(\"exampleDefinition\", new Azure.Policy.DefinitionArgs\n {\n PolicyType = \"Custom\",\n Mode = \"All\",\n DisplayName = \"my-policy-definition\",\n PolicyRule = @\"\t{\n \"\"if\"\": {\n \"\"not\"\": {\n \"\"field\"\": \"\"location\"\",\n \"\"in\"\": \"\"[parameters('allowedLocations')]\"\"\n }\n },\n \"\"then\"\": {\n \"\"effect\"\": \"\"audit\"\"\n }\n }\n\",\n Parameters = @\"\t{\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 var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAssignment = new Azure.Policy.Assignment(\"exampleAssignment\", new Azure.Policy.AssignmentArgs\n {\n Scope = exampleResourceGroup.Id,\n PolicyDefinitionId = exampleDefinition.Id,\n Description = \"Policy Assignment created via an Acceptance Test\",\n DisplayName = \"My Example Policy Assignment\",\n Metadata = @\" {\n \"\"category\"\": \"\"General\"\"\n }\n\",\n Parameters = @\"{\n \"\"allowedLocations\"\": {\n \"\"value\"\": [ \"\"West Europe\"\" ]\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/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDefinition, err := policy.NewDefinition(ctx, \"exampleDefinition\", \u0026policy.DefinitionArgs{\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v\", \"\t{\\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v\", \"\t{\\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\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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 = policy.NewAssignment(ctx, \"exampleAssignment\", \u0026policy.AssignmentArgs{\n\t\t\tScope: exampleResourceGroup.ID(),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t\tDescription: pulumi.String(\"Policy Assignment created via an Acceptance Test\"),\n\t\t\tDisplayName: pulumi.String(\"My Example Policy Assignment\"),\n\t\t\tMetadata: pulumi.String(fmt.Sprintf(\"%v%v%v\", \" {\\n\", \" \\\"category\\\": \\\"General\\\"\\n\", \" }\\n\")),\n\t\t\tParameters: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"{\\n\", \" \\\"allowedLocations\\\": {\\n\", \" \\\"value\\\": [ \\\"West Europe\\\" ]\\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{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", "description": "A description to use for this Policy Assignment. Changing this forces a new resource to be created.\n" }, "displayName": { "type": "string", "description": "A friendly display name to use for this Policy Assignment. Changing this forces a new resource to be created.\n" }, "enforcementMode": { "type": "boolean", "description": "Can be set to 'true' or 'false' to control whether the assignment is enforced (true) or not (false). Default is 'true'.\n" }, "identity": { "$ref": "#/types/azure:policy/AssignmentIdentity:AssignmentIdentity", "description": "An `identity` block.\n" }, "location": { "type": "string", "description": "The Azure location where this policy assignment should exist. This is required when an Identity is assigned. Changing this forces a new resource to be created.\n" }, "metadata": { "type": "string", "description": "The metadata for the policy assignment. This is a json object representing additional metadata that should be stored with the policy assignment.\n" }, "name": { "type": "string", "description": "The name of the Policy Assignment. Changing this forces a new resource to be created.\n" }, "notScopes": { "type": "array", "items": { "type": "string" }, "description": "A list of the Policy Assignment's excluded scopes. The list must contain Resource IDs (such as Subscriptions e.g. `/subscriptions/00000000-0000-0000-000000000000` or Resource Groups e.g.`/subscriptions/00000000-0000-0000-000000000000/resourceGroups/myResourceGroup`).\n" }, "parameters": { "type": "string", "description": "Parameters for the policy definition. This field is a JSON object that maps to the Parameters field from the Policy Definition. Changing this forces a new resource to be created.\n" }, "policyDefinitionId": { "type": "string", "description": "The ID of the Policy Definition to be applied at the specified Scope.\n" }, "scope": { "type": "string", "description": "The Scope at which the Policy Assignment should be applied, which must be a Resource ID (such as Subscription e.g. `/subscriptions/00000000-0000-0000-000000000000` or a Resource Group e.g.`/subscriptions/00000000-0000-0000-000000000000/resourceGroups/myResourceGroup`). Changing this forces a new resource to be created.\n" } }, "required": [ "identity", "location", "metadata", "name", "policyDefinitionId", "scope" ], "inputProperties": { "description": { "type": "string", "description": "A description to use for this Policy Assignment. Changing this forces a new resource to be created.\n" }, "displayName": { "type": "string", "description": "A friendly display name to use for this Policy Assignment. Changing this forces a new resource to be created.\n" }, "enforcementMode": { "type": "boolean", "description": "Can be set to 'true' or 'false' to control whether the assignment is enforced (true) or not (false). Default is 'true'.\n" }, "identity": { "$ref": "#/types/azure:policy/AssignmentIdentity:AssignmentIdentity", "description": "An `identity` block.\n" }, "location": { "type": "string", "description": "The Azure location where this policy assignment should exist. This is required when an Identity is assigned. Changing this forces a new resource to be created.\n" }, "metadata": { "type": "string", "description": "The metadata for the policy assignment. This is a json object representing additional metadata that should be stored with the policy assignment.\n" }, "name": { "type": "string", "description": "The name of the Policy Assignment. Changing this forces a new resource to be created.\n" }, "notScopes": { "type": "array", "items": { "type": "string" }, "description": "A list of the Policy Assignment's excluded scopes. The list must contain Resource IDs (such as Subscriptions e.g. `/subscriptions/00000000-0000-0000-000000000000` or Resource Groups e.g.`/subscriptions/00000000-0000-0000-000000000000/resourceGroups/myResourceGroup`).\n" }, "parameters": { "type": "string", "description": "Parameters for the policy definition. This field is a JSON object that maps to the Parameters field from the Policy Definition. Changing this forces a new resource to be created.\n" }, "policyDefinitionId": { "type": "string", "description": "The ID of the Policy Definition to be applied at the specified Scope.\n" }, "scope": { "type": "string", "description": "The Scope at which the Policy Assignment should be applied, which must be a Resource ID (such as Subscription e.g. `/subscriptions/00000000-0000-0000-000000000000` or a Resource Group e.g.`/subscriptions/00000000-0000-0000-000000000000/resourceGroups/myResourceGroup`). Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "policyDefinitionId", "scope" ], "stateInputs": { "description": "Input properties used for looking up and filtering Assignment resources.\n", "properties": { "description": { "type": "string", "description": "A description to use for this Policy Assignment. Changing this forces a new resource to be created.\n" }, "displayName": { "type": "string", "description": "A friendly display name to use for this Policy Assignment. Changing this forces a new resource to be created.\n" }, "enforcementMode": { "type": "boolean", "description": "Can be set to 'true' or 'false' to control whether the assignment is enforced (true) or not (false). Default is 'true'.\n" }, "identity": { "$ref": "#/types/azure:policy/AssignmentIdentity:AssignmentIdentity", "description": "An `identity` block.\n" }, "location": { "type": "string", "description": "The Azure location where this policy assignment should exist. This is required when an Identity is assigned. Changing this forces a new resource to be created.\n" }, "metadata": { "type": "string", "description": "The metadata for the policy assignment. This is a json object representing additional metadata that should be stored with the policy assignment.\n" }, "name": { "type": "string", "description": "The name of the Policy Assignment. Changing this forces a new resource to be created.\n" }, "notScopes": { "type": "array", "items": { "type": "string" }, "description": "A list of the Policy Assignment's excluded scopes. The list must contain Resource IDs (such as Subscriptions e.g. `/subscriptions/00000000-0000-0000-000000000000` or Resource Groups e.g.`/subscriptions/00000000-0000-0000-000000000000/resourceGroups/myResourceGroup`).\n" }, "parameters": { "type": "string", "description": "Parameters for the policy definition. This field is a JSON object that maps to the Parameters field from the Policy Definition. Changing this forces a new resource to be created.\n" }, "policyDefinitionId": { "type": "string", "description": "The ID of the Policy Definition to be applied at the specified Scope.\n" }, "scope": { "type": "string", "description": "The Scope at which the Policy Assignment should be applied, which must be a Resource ID (such as Subscription e.g. `/subscriptions/00000000-0000-0000-000000000000` or a Resource Group e.g.`/subscriptions/00000000-0000-0000-000000000000/resourceGroups/myResourceGroup`). Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst policy = new azure.policy.Definition(\"policy\", {\n displayName: \"acceptance test policy definition\",\n metadata: ` {\n \"category\": \"General\"\n }\n\n`,\n mode: \"Indexed\",\n parameters: `\t{\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 policyRule: `\t{\n \"if\": {\n \"not\": {\n \"field\": \"location\",\n \"in\": \"[parameters('allowedLocations')]\"\n }\n },\n \"then\": {\n \"effect\": \"audit\"\n }\n }\n`,\n policyType: \"Custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\npolicy = azure.policy.Definition(\"policy\",\n display_name=\"acceptance test policy definition\",\n metadata=\"\"\" {\n \"category\": \"General\"\n }\n\n\n\"\"\",\n mode=\"Indexed\",\n parameters=\"\"\"\t{\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 policy_rule=\"\"\"\t{\n \"if\": {\n \"not\": {\n \"field\": \"location\",\n \"in\": \"[parameters('allowedLocations')]\"\n }\n },\n \"then\": {\n \"effect\": \"audit\"\n }\n }\n\n\"\"\",\n policy_type=\"Custom\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var policy = new Azure.Policy.Definition(\"policy\", new Azure.Policy.DefinitionArgs\n {\n DisplayName = \"acceptance test policy definition\",\n Metadata = @\" {\n \"\"category\"\": \"\"General\"\"\n }\n\n\n\",\n Mode = \"Indexed\",\n Parameters = @\"\t{\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 PolicyRule = @\"\t{\n \"\"if\"\": {\n \"\"not\"\": {\n \"\"field\"\": \"\"location\"\",\n \"\"in\"\": \"\"[parameters('allowedLocations')]\"\"\n }\n },\n \"\"then\"\": {\n \"\"effect\"\": \"\"audit\"\"\n }\n }\n\n\",\n PolicyType = \"Custom\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tDisplayName: pulumi.String(\"acceptance test policy definition\"),\n\t\t\tMetadata: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \" {\\n\", \" \\\"category\\\": \\\"General\\\"\\n\", \" }\\n\", \"\\n\", \"\\n\")),\n\t\t\tMode: pulumi.String(\"Indexed\"),\n\t\t\tParameters: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v\", \"\t{\\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\t\t\tPolicyRule: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v%v\", \"\t{\\n\", \" \\\"if\\\": {\\n\", \" \\\"not\\\": {\\n\", \" \\\"field\\\": \\\"location\\\",\\n\", \" \\\"in\\\": \\\"[parameters('allowedLocations')]\\\"\\n\", \" }\\n\", \" },\\n\", \" \\\"then\\\": {\\n\", \" \\\"effect\\\": \\\"audit\\\"\\n\", \" }\\n\", \" }\\n\", \"\\n\")),\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 name of the Management Group where this policy should be defined. Changing this forces a new resource to be created.\n", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string", "description": "The name 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\nis a json object representing additional metadata that should be stored\nwith the policy definition.\n" }, "mode": { "type": "string", "description": "The policy mode that allows you to specify which resource\ntypes will be evaluated. The value can be \"All\", \"Indexed\" or\n\"NotSpecified\".\n" }, "name": { "type": "string", "description": "The name of the policy definition. Changing this forces a\nnew resource to be created.\n" }, "parameters": { "type": "string", "description": "Parameters for the policy definition. This field\nis a json object that allows you to parameterize your policy definition.\n" }, "policyRule": { "type": "string", "description": "The policy rule for the policy definition. This\nis a json object representing the rule that contains an if and\na then block.\n" }, "policyType": { "type": "string", "description": "The policy type. Possible values are `BuiltIn`, `Custom` and `NotSpecified`. Changing this forces a new resource to be created.\n" } }, "required": [ "displayName", "managementGroupId", "managementGroupName", "metadata", "mode", "name", "policyType" ], "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 name of the Management Group where this policy should be defined. Changing this forces a new resource to be created.\n", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string", "description": "The name 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\nis a json object representing additional metadata that should be stored\nwith the policy definition.\n" }, "mode": { "type": "string", "description": "The policy mode that allows you to specify which resource\ntypes will be evaluated. The value can be \"All\", \"Indexed\" or\n\"NotSpecified\".\n" }, "name": { "type": "string", "description": "The name of the policy definition. Changing this forces a\nnew resource to be created.\n" }, "parameters": { "type": "string", "description": "Parameters for the policy definition. This field\nis a json object that allows you to parameterize your policy definition.\n" }, "policyRule": { "type": "string", "description": "The policy rule for the policy definition. This\nis a json object representing the rule that contains an if and\na then block.\n" }, "policyType": { "type": "string", "description": "The policy type. Possible values are `BuiltIn`, `Custom` and `NotSpecified`. Changing this forces a new resource to be created.\n" } }, "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 name of the Management Group where this policy should be defined. Changing this forces a new resource to be created.\n", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string", "description": "The name 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\nis a json object representing additional metadata that should be stored\nwith the policy definition.\n" }, "mode": { "type": "string", "description": "The policy mode that allows you to specify which resource\ntypes will be evaluated. The value can be \"All\", \"Indexed\" or\n\"NotSpecified\".\n" }, "name": { "type": "string", "description": "The name of the policy definition. Changing this forces a\nnew resource to be created.\n" }, "parameters": { "type": "string", "description": "Parameters for the policy definition. This field\nis a json object that allows you to parameterize your policy definition.\n" }, "policyRule": { "type": "string", "description": "The policy rule for the policy definition. This\nis a json object representing the rule that contains an if and\na then block.\n" }, "policyType": { "type": "string", "description": "The policy type. Possible values are `BuiltIn`, `Custom` and `NotSpecified`. Changing this forces a new resource to be created.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.policy.PolicySetDefinition(\"example\", {\n displayName: \"Test Policy Set\",\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 parameterValues: ` {\n \"listOfAllowedLocations\": {\"value\": \"[parameters('allowedLocations')]\"}\n }\n `,\n policyDefinitionId: \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n }],\n policyType: \"Custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.policy.PolicySetDefinition(\"example\",\n display_name=\"Test Policy Set\",\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 policy_definition_references=[azure.policy.PolicySetDefinitionPolicyDefinitionReferenceArgs(\n parameter_values=\"\"\" {\n \"listOfAllowedLocations\": {\"value\": \"[parameters('allowedLocations')]\"}\n }\n \n\"\"\",\n policy_definition_id=\"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n )],\n policy_type=\"Custom\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Policy.PolicySetDefinition(\"example\", new Azure.Policy.PolicySetDefinitionArgs\n {\n DisplayName = \"Test Policy Set\",\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 PolicyDefinitionReferences = \n {\n new Azure.Policy.Inputs.PolicySetDefinitionPolicyDefinitionReferenceArgs\n {\n ParameterValues = @\" {\n \"\"listOfAllowedLocations\"\": {\"\"value\"\": \"\"[parameters('allowedLocations')]\"\"}\n }\n \n\",\n PolicyDefinitionId = \"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\",\n },\n },\n PolicyType = \"Custom\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tDisplayName: pulumi.String(\"Test Policy Set\"),\n\t\t\tParameters: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v\", \" {\\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\t\t\tPolicyDefinitionReferences: policy.PolicySetDefinitionPolicyDefinitionReferenceArray{\n\t\t\t\t\u0026policy.PolicySetDefinitionPolicyDefinitionReferenceArgs{\n\t\t\t\t\tParameterValues: pulumi.String(fmt.Sprintf(\"%v%v%v%v\", \" {\\n\", \" \\\"listOfAllowedLocations\\\": {\\\"value\\\": \\\"[parameters('allowedLocations')]\\\"}\\n\", \" }\\n\", \" \\n\")),\n\t\t\t\t\tPolicyDefinitionId: pulumi.String(\"/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", "description": "The description of the policy set definition.\n" }, "displayName": { "type": "string", "description": "The display name of the policy set definition.\n" }, "managementGroupId": { "type": "string", "description": "The name of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.\n", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string", "description": "The name of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.\n" }, "metadata": { "type": "string", "description": "The metadata for the policy set definition. This is a json object representing additional metadata that should be stored with the policy definition.\n" }, "name": { "type": "string", "description": "The name of the policy set definition. Changing this forces a new resource to be created.\n" }, "parameters": { "type": "string", "description": "Parameters for the policy set definition. This field is a json object that allows you to parameterize your policy definition.\n" }, "policyDefinitionReferences": { "type": "array", "items": { "$ref": "#/types/azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference" }, "description": "One or more `policy_definition_reference` blocks as defined below.\n" }, "policyDefinitions": { "type": "string", "description": "The policy definitions for the policy set definition. This is a json object representing the bundled policy definitions.\n", "deprecationMessage": "Deprecated in favor of `policy_definition_reference`" }, "policyType": { "type": "string", "description": "The policy set type. Possible values are `BuiltIn` or `Custom`. Changing this forces a new resource to be created.\n" } }, "required": [ "displayName", "managementGroupId", "managementGroupName", "metadata", "name", "policyDefinitionReferences", "policyDefinitions", "policyType" ], "inputProperties": { "description": { "type": "string", "description": "The description of the policy set definition.\n" }, "displayName": { "type": "string", "description": "The display name of the policy set definition.\n" }, "managementGroupId": { "type": "string", "description": "The name of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.\n", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string", "description": "The name of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.\n" }, "metadata": { "type": "string", "description": "The metadata for the policy set definition. This is a json object representing additional metadata that should be stored with the policy definition.\n" }, "name": { "type": "string", "description": "The name of the policy set definition. Changing this forces a new resource to be created.\n" }, "parameters": { "type": "string", "description": "Parameters for the policy set definition. This field is a json object that allows you to parameterize your policy definition.\n" }, "policyDefinitionReferences": { "type": "array", "items": { "$ref": "#/types/azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference" }, "description": "One or more `policy_definition_reference` blocks as defined below.\n" }, "policyDefinitions": { "type": "string", "description": "The policy definitions for the policy set definition. This is a json object representing the bundled policy definitions.\n", "deprecationMessage": "Deprecated in favor of `policy_definition_reference`" }, "policyType": { "type": "string", "description": "The policy set type. Possible values are `BuiltIn` or `Custom`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "displayName", "policyType" ], "stateInputs": { "description": "Input properties used for looking up and filtering PolicySetDefinition resources.\n", "properties": { "description": { "type": "string", "description": "The description of the policy set definition.\n" }, "displayName": { "type": "string", "description": "The display name of the policy set definition.\n" }, "managementGroupId": { "type": "string", "description": "The name of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.\n", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string", "description": "The name of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.\n" }, "metadata": { "type": "string", "description": "The metadata for the policy set definition. This is a json object representing additional metadata that should be stored with the policy definition.\n" }, "name": { "type": "string", "description": "The name of the policy set definition. Changing this forces a new resource to be created.\n" }, "parameters": { "type": "string", "description": "Parameters for the policy set definition. This field is a json object that allows you to parameterize your policy definition.\n" }, "policyDefinitionReferences": { "type": "array", "items": { "$ref": "#/types/azure:policy/PolicySetDefinitionPolicyDefinitionReference:PolicySetDefinitionPolicyDefinitionReference" }, "description": "One or more `policy_definition_reference` blocks as defined below.\n" }, "policyDefinitions": { "type": "string", "description": "The policy definitions for the policy set definition. This is a json object representing the bundled policy definitions.\n", "deprecationMessage": "Deprecated in favor of `policy_definition_reference`" }, "policyType": { "type": "string", "description": "The policy set type. Possible values are `BuiltIn` or `Custom`. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:policy/remediation:Remediation": { "description": "Manages an Azure Policy Remediation at the specified Scope.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleDefinition = new azure.policy.Definition(\"exampleDefinition\", {\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 exampleAssignment = new azure.policy.Assignment(\"exampleAssignment\", {\n scope: exampleResourceGroup.id,\n policyDefinitionId: exampleDefinition.id,\n description: \"Policy Assignment created via an Acceptance Test\",\n displayName: \"My Example Policy Assignment\",\n parameters: `{\n \"allowedLocations\": {\n \"value\": [ \"West Europe\" ]\n }\n}\n`,\n});\nconst exampleRemediation = new azure.policy.Remediation(\"exampleRemediation\", {\n scope: exampleAssignment.scope,\n policyAssignmentId: exampleAssignment.id,\n locationFilters: [\"West Europe\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_definition = azure.policy.Definition(\"exampleDefinition\",\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_assignment = azure.policy.Assignment(\"exampleAssignment\",\n scope=example_resource_group.id,\n policy_definition_id=example_definition.id,\n description=\"Policy Assignment created via an Acceptance Test\",\n display_name=\"My Example Policy Assignment\",\n parameters=\"\"\"{\n \"allowedLocations\": {\n \"value\": [ \"West Europe\" ]\n }\n}\n\"\"\")\nexample_remediation = azure.policy.Remediation(\"exampleRemediation\",\n scope=example_assignment.scope,\n policy_assignment_id=example_assignment.id,\n location_filters=[\"West Europe\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleDefinition = new Azure.Policy.Definition(\"exampleDefinition\", new Azure.Policy.DefinitionArgs\n {\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 var exampleAssignment = new Azure.Policy.Assignment(\"exampleAssignment\", new Azure.Policy.AssignmentArgs\n {\n Scope = exampleResourceGroup.Id,\n PolicyDefinitionId = exampleDefinition.Id,\n Description = \"Policy Assignment created via an Acceptance Test\",\n DisplayName = \"My Example Policy Assignment\",\n Parameters = @\"{\n \"\"allowedLocations\"\": {\n \"\"value\"\": [ \"\"West Europe\"\" ]\n }\n}\n\",\n });\n var exampleRemediation = new Azure.Policy.Remediation(\"exampleRemediation\", new Azure.Policy.RemediationArgs\n {\n Scope = exampleAssignment.Scope,\n PolicyAssignmentId = exampleAssignment.Id,\n LocationFilters = \n {\n \"West Europe\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleDefinition\", \u0026policy.DefinitionArgs{\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v%v\", \" {\\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(fmt.Sprintf(\"%v%v%v%v%v%v%v%v%v%v\", \" {\\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\texampleAssignment, err := policy.NewAssignment(ctx, \"exampleAssignment\", \u0026policy.AssignmentArgs{\n\t\t\tScope: exampleResourceGroup.ID(),\n\t\t\tPolicyDefinitionId: exampleDefinition.ID(),\n\t\t\tDescription: pulumi.String(\"Policy Assignment created via an Acceptance Test\"),\n\t\t\tDisplayName: pulumi.String(\"My Example Policy Assignment\"),\n\t\t\tParameters: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"{\\n\", \" \\\"allowedLocations\\\": {\\n\", \" \\\"value\\\": [ \\\"West Europe\\\" ]\\n\", \" }\\n\", \"}\\n\")),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = policy.NewRemediation(ctx, \"exampleRemediation\", \u0026policy.RemediationArgs{\n\t\t\tScope: exampleAssignment.Scope,\n\t\t\tPolicyAssignmentId: exampleAssignment.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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 within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n" }, "scope": { "type": "string", "description": "The Scope at which the Policy Remediation should be applied. Changing this forces a new resource to be created. A scope must be a Resource ID out of one of the following list:\n" } }, "required": [ "name", "policyAssignmentId", "scope" ], "inputProperties": { "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" }, "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 within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n" }, "scope": { "type": "string", "description": "The Scope at which the Policy Remediation should be applied. Changing this forces a new resource to be created. A scope must be a Resource ID out of one of the following list:\n" } }, "requiredInputs": [ "policyAssignmentId", "scope" ], "stateInputs": { "description": "Input properties used for looking up and filtering Remediation resources.\n", "properties": { "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" }, "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 within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.\n" }, "scope": { "type": "string", "description": "The Scope at which the Policy Remediation should be applied. Changing this forces a new resource to be created. A scope must be a Resource ID out of one of the following list:\n" } }, "type": "object" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"9.6\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleActiveDirectoryAdministrator = new azure.postgresql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", {\n serverName: exampleServer.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_server = azure.postgresql.Server(\"exampleServer\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n version=\"9.6\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_active_directory_administrator = azure.postgresql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\",\n server_name=example_server.name,\n resource_group_name=example_resource_group.name,\n login=\"sqladmin\",\n tenant_id=current.tenant_id,\n object_id=current.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"9.6\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleActiveDirectoryAdministrator = new Azure.PostgreSql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", new Azure.PostgreSql.ActiveDirectoryAdministratorArgs\n {\n ServerName = exampleServer.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Login = \"sqladmin\",\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleServer, err := postgresql.NewServer(ctx, \"exampleServer\", \u0026postgresql.ServerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewActiveDirectoryAdministrator(ctx, \"exampleActiveDirectoryAdministrator\", \u0026postgresql.ActiveDirectoryAdministratorArgs{\n\t\t\tServerName: exampleServer.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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\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\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" } }, "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\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" } }, "type": "object" } }, "azure:postgresql/configuration:Configuration": { "description": "Sets a PostgreSQL Configuration value on a PostgreSQL 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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: false,\n autoGrowEnabled: true,\n administratorLogin: \"psqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n version: \"9.5\",\n sslEnforcementEnabled: true,\n});\nconst exampleConfiguration = new azure.postgresql.Configuration(\"exampleConfiguration\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleServer.name,\n value: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=\"psqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n version=\"9.5\",\n ssl_enforcement_enabled=True)\nexample_configuration = azure.postgresql.Configuration(\"exampleConfiguration\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n value=\"on\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = false,\n AutoGrowEnabled = true,\n AdministratorLogin = \"psqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n Version = \"9.5\",\n SslEnforcementEnabled = true,\n });\n var exampleConfiguration = new Azure.PostgreSql.Configuration(\"exampleConfiguration\", new Azure.PostgreSql.ConfigurationArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n Value = \"on\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", \u0026postgresql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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(\"psqladminun\"),\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, \"exampleConfiguration\", \u0026postgresql.ConfigurationArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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.\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" }, "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.\n" } }, "requiredInputs": [ "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" }, "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.\n" } }, "type": "object" } }, "azure:postgresql/database:Database": { "description": "Manages a PostgreSQL Database within a PostgreSQL Server\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"B_Gen5_2\",\n storageMb: 5120,\n backupRetentionDays: 7,\n geoRedundantBackupEnabled: false,\n autoGrowEnabled: true,\n administratorLogin: \"psqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n version: \"9.5\",\n sslEnforcementEnabled: true,\n});\nconst exampleDatabase = new azure.postgresql.Database(\"exampleDatabase\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.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=\"psqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n version=\"9.5\",\n ssl_enforcement_enabled=True)\nexample_database = azure.postgresql.Database(\"exampleDatabase\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n charset=\"UTF8\",\n collation=\"English_United States.1252\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"B_Gen5_2\",\n StorageMb = 5120,\n BackupRetentionDays = 7,\n GeoRedundantBackupEnabled = false,\n AutoGrowEnabled = true,\n AdministratorLogin = \"psqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n Version = \"9.5\",\n SslEnforcementEnabled = true,\n });\n var exampleDatabase = new Azure.PostgreSql.Database(\"exampleDatabase\", new Azure.PostgreSql.DatabaseArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n Charset = \"UTF8\",\n Collation = \"English_United States.1252\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", \u0026postgresql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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(\"psqladminun\"),\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, \"exampleDatabase\", \u0026postgresql.DatabaseArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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\nnew 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" }, "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\nnew 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" } }, "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" }, "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\nnew 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" } }, "type": "object" } }, "azure:postgresql/firewallRule:FirewallRule": { "description": "Manages a Firewall Rule for a PostgreSQL Server\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Single IP Address)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {});\n// ...\nconst exampleFirewallRule = new azure.postgresql.FirewallRule(\"exampleFirewallRule\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"exampleServer\")\n# ...\nexample_firewall_rule = azure.postgresql.FirewallRule(\"exampleFirewallRule\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n });\n // ...\n var exampleFirewallRule = new Azure.PostgreSql.FirewallRule(\"exampleFirewallRule\", new Azure.PostgreSql.FirewallRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n StartIpAddress = \"40.112.8.12\",\n EndIpAddress = \"40.112.8.12\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026postgresql.FirewallRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\n{{% /example %}}\n{{% example %}}\n### IP Range)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {});\n// ...\nconst exampleFirewallRule = new azure.postgresql.FirewallRule(\"exampleFirewallRule\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"exampleServer\")\n# ...\nexample_firewall_rule = azure.postgresql.FirewallRule(\"exampleFirewallRule\",\n resource_group_name=example_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n });\n // ...\n var exampleFirewallRule = new Azure.PostgreSql.FirewallRule(\"exampleFirewallRule\", new Azure.PostgreSql.FirewallRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n StartIpAddress = \"40.112.0.0\",\n EndIpAddress = \"40.112.255.255\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026postgresql.FirewallRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "name": { "type": "string", "description": "Specifies the name of the PostgreSQL Firewall Rule. Changing this forces a\nnew 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" }, "name": { "type": "string", "description": "Specifies the name of the PostgreSQL Firewall Rule. Changing this forces a\nnew 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" } }, "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" }, "name": { "type": "string", "description": "Specifies the name of the PostgreSQL Firewall Rule. Changing this forces a\nnew 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" } }, "type": "object" } }, "azure:postgresql/server:Server": { "description": "Manages a PostgreSQL Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n administratorLogin: \"psqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n skuName: \"GP_Gen5_4\",\n version: \"9.6\",\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_server = azure.postgresql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n administrator_login=\"psqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n sku_name=\"GP_Gen5_4\",\n version=\"9.6\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AdministratorLogin = \"psqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n SkuName = \"GP_Gen5_4\",\n Version = \"9.6\",\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleServer\", \u0026postgresql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAdministratorLogin: pulumi.String(\"psqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tSkuName: pulumi.String(\"GP_Gen5_4\"),\n\t\t\tVersion: pulumi.String(\"9.6\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the PostgreSQL Server. Required when `create_mode` is `Default`. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the PostgreSQL Server. Required when `create_mode` is `Default`.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 then 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.\n" }, "identity": { "$ref": "#/types/azure:postgresql/ServerIdentity:ServerIdentity", "description": "An `identity` block as defined below.\n" }, "infrastructureEncryptionEnabled": { "type": "boolean", "description": "Whether or not infrastructure is encrypted for this server. Defaults to `false`. 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 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 `true`.\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 `create_mode` is `PointInTimeRestore` the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this PostgreSQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been renamed to the boolean `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\n" }, "sslMinimalTlsVersionEnforced": { "type": "string", "description": "The mimimun TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLSEnforcementDisabled`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#StorageProfile).\n" }, "storageProfile": { "$ref": "#/types/azure:postgresql/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been move to the top level. This block will be removed in version 3.0 of the provider." }, "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 `threat_detection_policy` block supports fields documented below.\n" }, "version": { "type": "string", "description": "Specifies the version of PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, and `11`. Changing this forces a new resource to be created.\n" } }, "required": [ "administratorLogin", "autoGrowEnabled", "backupRetentionDays", "fqdn", "geoRedundantBackupEnabled", "location", "name", "resourceGroupName", "skuName", "sslEnforcement", "storageMb", "storageProfile", "version" ], "inputProperties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the PostgreSQL Server. Required when `create_mode` is `Default`. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the PostgreSQL Server. Required when `create_mode` is `Default`.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 then 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.\n" }, "identity": { "$ref": "#/types/azure:postgresql/ServerIdentity:ServerIdentity", "description": "An `identity` block as defined below.\n" }, "infrastructureEncryptionEnabled": { "type": "boolean", "description": "Whether or not infrastructure is encrypted for this server. Defaults to `false`. 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 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 `true`.\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 `create_mode` is `PointInTimeRestore` the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this PostgreSQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been renamed to the boolean `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\n" }, "sslMinimalTlsVersionEnforced": { "type": "string", "description": "The mimimun TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLSEnforcementDisabled`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#StorageProfile).\n" }, "storageProfile": { "$ref": "#/types/azure:postgresql/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been move to the top level. This block will be removed in version 3.0 of the provider." }, "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 `threat_detection_policy` block supports fields documented below.\n" }, "version": { "type": "string", "description": "Specifies the version of PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, and `11`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "resourceGroupName", "skuName", "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 `create_mode` is `Default`. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The Password associated with the `administrator_login` for the PostgreSQL Server. Required when `create_mode` is `Default`.\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. The default value if not explicitly specified is `true`.\n" }, "backupRetentionDays": { "type": "integer", "description": "Backup retention days for the server, supported values are between `7` and `35` 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 then 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.\n" }, "identity": { "$ref": "#/types/azure:postgresql/ServerIdentity:ServerIdentity", "description": "An `identity` block as defined below.\n" }, "infrastructureEncryptionEnabled": { "type": "boolean", "description": "Whether or not infrastructure is encrypted for this server. Defaults to `false`. 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 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 `true`.\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 `create_mode` is `PointInTimeRestore` the point in time to restore from `creation_source_server_id`.\n" }, "skuName": { "type": "string", "description": "Specifies the SKU Name for this PostgreSQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#sku).\n" }, "sslEnforcement": { "type": "string", "deprecationMessage": "this has been renamed to the boolean `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider." }, "sslEnforcementEnabled": { "type": "boolean", "description": "Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.\n" }, "sslMinimalTlsVersionEnforced": { "type": "string", "description": "The mimimun TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLSEnforcementDisabled`.\n" }, "storageMb": { "type": "integer", "description": "Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `4194304` MB(4TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/en-us/rest/api/postgresql/servers/create#StorageProfile).\n" }, "storageProfile": { "$ref": "#/types/azure:postgresql/ServerStorageProfile:ServerStorageProfile", "deprecationMessage": "all storage_profile properties have been move to the top level. This block will be removed in version 3.0 of the provider." }, "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 `threat_detection_policy` block supports fields documented below.\n" }, "version": { "type": "string", "description": "Specifies the version of PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, and `11`. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:postgresql/serverKey:ServerKey": { "description": "Manages a Customer Managed Key for a PostgreSQL Server.\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" } }, "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" } }, "type": "object" } }, "azure:postgresql/virtualNetworkRule:VirtualNetworkRule": { "description": "Manages a PostgreSQL Virtual Network Rule.\n\n\u003e **NOTE:** PostgreSQL Virtual Network Rules [can only be used with SKU Tiers of `GeneralPurpose` or `MemoryOptimized`](https://docs.microsoft.com/en-us/azure/postgresql/concepts-data-access-and-security-vnet)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.7.29.0/29\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst internal = new azure.network.Subnet(\"internal\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.7.29.0/29\",\n serviceEndpoints: [\"Microsoft.Sql\"],\n});\nconst exampleServer = new azure.postgresql.Server(\"exampleServer\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"GP_Gen5_2\",\n storageProfile: {\n storageMb: 5120,\n backupRetentionDays: 7,\n geoRedundantBackup: \"Disabled\",\n },\n administratorLogin: \"psqladminun\",\n administratorLoginPassword: \"H@Sh1CoR3!\",\n version: \"9.5\",\n sslEnforcement: \"Enabled\",\n});\nconst exampleVirtualNetworkRule = new azure.postgresql.VirtualNetworkRule(\"exampleVirtualNetworkRule\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.7.29.0/29\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\ninternal = azure.network.Subnet(\"internal\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.7.29.0/29\",\n service_endpoints=[\"Microsoft.Sql\"])\nexample_server = azure.postgresql.Server(\"exampleServer\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"GP_Gen5_2\",\n storage_profile=azure.postgresql.ServerStorageProfileArgs(\n storage_mb=5120,\n backup_retention_days=7,\n geo_redundant_backup=\"Disabled\",\n ),\n administrator_login=\"psqladminun\",\n administrator_login_password=\"H@Sh1CoR3!\",\n version=\"9.5\",\n ssl_enforcement=\"Enabled\")\nexample_virtual_network_rule = azure.postgresql.VirtualNetworkRule(\"exampleVirtualNetworkRule\",\n resource_group_name=example_resource_group.name,\n server_name=example_server.name,\n subnet_id=internal.id,\n ignore_missing_vnet_service_endpoint=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.7.29.0/29\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var @internal = new Azure.Network.Subnet(\"internal\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.7.29.0/29\",\n ServiceEndpoints = \n {\n \"Microsoft.Sql\",\n },\n });\n var exampleServer = new Azure.PostgreSql.Server(\"exampleServer\", new Azure.PostgreSql.ServerArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"GP_Gen5_2\",\n StorageProfile = new Azure.PostgreSql.Inputs.ServerStorageProfileArgs\n {\n StorageMb = 5120,\n BackupRetentionDays = 7,\n GeoRedundantBackup = \"Disabled\",\n },\n AdministratorLogin = \"psqladminun\",\n AdministratorLoginPassword = \"H@Sh1CoR3!\",\n Version = \"9.5\",\n SslEnforcement = \"Enabled\",\n });\n var exampleVirtualNetworkRule = new Azure.PostgreSql.VirtualNetworkRule(\"exampleVirtualNetworkRule\", new Azure.PostgreSql.VirtualNetworkRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleServer.Name,\n SubnetId = @internal.Id,\n IgnoreMissingVnetServiceEndpoint = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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: 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\tinternal, err := network.NewSubnet(ctx, \"internal\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.7.29.0/29\"),\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, \"exampleServer\", \u0026postgresql.ServerArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tSkuName: pulumi.String(\"GP_Gen5_2\"),\n\t\t\tStorageProfile: \u0026postgresql.ServerStorageProfileArgs{\n\t\t\t\tStorageMb: pulumi.Int(5120),\n\t\t\t\tBackupRetentionDays: pulumi.Int(7),\n\t\t\t\tGeoRedundantBackup: pulumi.String(\"Disabled\"),\n\t\t\t},\n\t\t\tAdministratorLogin: pulumi.String(\"psqladminun\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tVersion: pulumi.String(\"9.5\"),\n\t\t\tSslEnforcement: pulumi.String(\"Enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewVirtualNetworkRule(ctx, \"exampleVirtualNetworkRule\", \u0026postgresql.VirtualNetworkRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "ignoreMissingVnetServiceEndpoint": { "type": "boolean", "description": "Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled? Defaults to `false`.\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" }, "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? Defaults to `false`.\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" }, "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" } }, "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? Defaults to `false`.\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" }, "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" } }, "type": "object" } }, "azure:powerbi/embedded:Embedded": { "description": "Manages a PowerBI Embedded.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleEmbedded = new azure.powerbi.Embedded(\"exampleEmbedded\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"A1\",\n administrators: [\"azsdktest@microsoft.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_embedded = azure.powerbi.Embedded(\"exampleEmbedded\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"A1\",\n administrators=[\"azsdktest@microsoft.com\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleEmbedded = new Azure.PowerBI.Embedded(\"exampleEmbedded\", new Azure.PowerBI.EmbeddedArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"A1\",\n Administrators = \n {\n \"azsdktest@microsoft.com\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/powerbi\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleEmbedded\", \u0026powerbi.EmbeddedArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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`.\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" }, "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`.\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" }, "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`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst testResourceGroup = new azure.core.ResourceGroup(\"testResourceGroup\", {location: \"West US\"});\nconst testZone = new azure.privatedns.Zone(\"testZone\", {resourceGroupName: testResourceGroup.name});\nconst testAAAARecord = new azure.privatedns.AAAARecord(\"testAAAARecord\", {\n zoneName: testZone.name,\n resourceGroupName: testResourceGroup.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\ntest_resource_group = azure.core.ResourceGroup(\"testResourceGroup\", location=\"West US\")\ntest_zone = azure.privatedns.Zone(\"testZone\", resource_group_name=test_resource_group.name)\ntest_aaaa_record = azure.privatedns.AAAARecord(\"testAAAARecord\",\n zone_name=test_zone.name,\n resource_group_name=test_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var testResourceGroup = new Azure.Core.ResourceGroup(\"testResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var testZone = new Azure.PrivateDns.Zone(\"testZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = testResourceGroup.Name,\n });\n var testAAAARecord = new Azure.PrivateDns.AAAARecord(\"testAAAARecord\", new Azure.PrivateDns.AAAARecordArgs\n {\n ZoneName = testZone.Name,\n ResourceGroupName = testResourceGroup.Name,\n Ttl = 300,\n Records = \n {\n \"fd5d:70bc:930e:d008:0000:0000:0000:7334\",\n \"fd5d:70bc:930e:d008::7335\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestResourceGroup, err := core.NewResourceGroup(ctx, \"testResourceGroup\", \u0026core.ResourceGroupArgs{\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\ttestZone, err := privatedns.NewZone(ctx, \"testZone\", \u0026privatedns.ZoneArgs{\n\t\t\tResourceGroupName: testResourceGroup.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewAAAARecord(ctx, \"testAAAARecord\", \u0026privatedns.AAAARecordArgs{\n\t\t\tZoneName: testZone.Name,\n\t\t\tResourceGroupName: testResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS AAAA Record.\n" }, "name": { "type": "string", "description": "The name of the DNS A Record.\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" }, "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.\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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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.\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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:privatedns/aRecord:ARecord": { "description": "Enables you to manage DNS A Records within Azure Private DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.privatedns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleARecord = new azure.privatedns.ARecord(\"exampleARecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n records: [\"10.0.180.17\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.privatedns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_a_record = azure.privatedns.ARecord(\"exampleARecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\"10.0.180.17\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.PrivateDns.Zone(\"exampleZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleARecord = new Azure.PrivateDns.ARecord(\"exampleARecord\", new Azure.PrivateDns.ARecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \n {\n \"10.0.180.17\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := privatedns.NewZone(ctx, \"exampleZone\", \u0026privatedns.ZoneArgs{\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 = privatedns.NewARecord(ctx, \"exampleARecord\", \u0026privatedns.ARecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS A Record.\n" }, "name": { "type": "string", "description": "The name of the DNS A Record.\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" }, "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.\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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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.\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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:privatedns/cnameRecord:CnameRecord": { "description": "Enables you to manage DNS CNAME Records within Azure Private DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.privatedns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleCnameRecord = new azure.privatedns.CnameRecord(\"exampleCnameRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n record: \"contoso.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.privatedns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_cname_record = azure.privatedns.CnameRecord(\"exampleCnameRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n record=\"contoso.com\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.PrivateDns.Zone(\"exampleZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleCnameRecord = new Azure.PrivateDns.CnameRecord(\"exampleCnameRecord\", new Azure.PrivateDns.CnameRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Record = \"contoso.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := privatedns.NewZone(ctx, \"exampleZone\", \u0026privatedns.ZoneArgs{\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 = privatedns.NewCnameRecord(ctx, \"exampleCnameRecord\", \u0026privatedns.CnameRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "fqdn": { "type": "string", "description": "The FQDN of the DNS CNAME Record.\n" }, "name": { "type": "string", "description": "The name of the DNS CNAME Record.\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" }, "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.\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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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.\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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n addressSpaces: [\"10.5.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.5.1.0/24\",\n enforcePrivateLinkServiceNetworkPolicies: true,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n sku: \"Standard\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n sku: \"Standard\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: examplePublicIp.name,\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleLinkService = new azure.privatedns.LinkService(\"exampleLinkService\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n address_spaces=[\"10.5.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.5.1.0/24\",\n enforce_private_link_service_network_policies=True)\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n sku=\"Standard\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n sku=\"Standard\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=example_public_ip.name,\n public_ip_address_id=example_public_ip.id,\n )])\nexample_link_service = azure.privatedns.LinkService(\"exampleLinkService\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.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 azure.privatedns.LinkServiceNatIpConfigurationArgs(\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 azure.privatedns.LinkServiceNatIpConfigurationArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AddressSpaces = \n {\n \"10.5.0.0/16\",\n },\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.5.1.0/24\",\n EnforcePrivateLinkServiceNetworkPolicies = true,\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Sku = \"Standard\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Sku = \"Standard\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = examplePublicIp.Name,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleLinkService = new Azure.PrivateDns.LinkService(\"exampleLinkService\", new Azure.PrivateDns.LinkServiceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AutoApprovalSubscriptionIds = \n {\n \"00000000-0000-0000-0000-000000000000\",\n },\n VisibilitySubscriptionIds = \n {\n \"00000000-0000-0000-0000-000000000000\",\n },\n LoadBalancerFrontendIpConfigurationIds = \n {\n exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations =\u003e frontendIpConfigurations[0].Id),\n },\n NatIpConfigurations = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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.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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.5.1.0/24\"),\n\t\t\tEnforcePrivateLinkServiceNetworkPolicies: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLinkService\", \u0026privatedns.LinkServiceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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 frontendIpConfigurations[0].Id, nil\n\t\t\t\t}).(pulumi.StringOutput)),\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{{% /example %}}\n{{% /examples %}}", "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" }, "enableProxyProtocol": { "type": "boolean", "description": "Should the Private Link Service support the Proxy Protocol? Defaults to `false`.\n" }, "loadBalancerFrontendIpConfigurationIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Frontend IP Configuration ID's 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.\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) `nat_ip_configuration` 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. Changing this forces a new resource to be created.\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" } }, "required": [ "alias", "loadBalancerFrontendIpConfigurationIds", "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" }, "enableProxyProtocol": { "type": "boolean", "description": "Should the Private Link Service support the Proxy Protocol? Defaults to `false`.\n" }, "loadBalancerFrontendIpConfigurationIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Frontend IP Configuration ID's 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.\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) `nat_ip_configuration` 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. Changing this forces a new resource to be created.\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" } }, "requiredInputs": [ "loadBalancerFrontendIpConfigurationIds", "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" }, "enableProxyProtocol": { "type": "boolean", "description": "Should the Private Link Service support the Proxy Protocol? Defaults to `false`.\n" }, "loadBalancerFrontendIpConfigurationIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Frontend IP Configuration ID's 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.\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) `nat_ip_configuration` 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. Changing this forces a new resource to be created.\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" } }, "type": "object" } }, "azure:privatedns/mxRecord:MxRecord": { "description": "Enables you to manage DNS MX Records within Azure Private DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.privatedns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleMxRecord = new azure.privatedns.MxRecord(\"exampleMxRecord\", {\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.privatedns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_mx_record = azure.privatedns.MxRecord(\"exampleMxRecord\",\n resource_group_name=example_resource_group.name,\n zone_name=example_zone.name,\n ttl=300,\n records=[\n azure.privatedns.MxRecordRecordArgs(\n preference=10,\n exchange=\"mx1.contoso.com\",\n ),\n azure.privatedns.MxRecordRecordArgs(\n preference=20,\n exchange=\"backupmx.contoso.com\",\n ),\n ],\n tags={\n \"Environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.PrivateDns.Zone(\"exampleZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleMxRecord = new Azure.PrivateDns.MxRecord(\"exampleMxRecord\", new Azure.PrivateDns.MxRecordArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ZoneName = exampleZone.Name,\n Ttl = 300,\n Records = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := privatedns.NewZone(ctx, \"exampleZone\", \u0026privatedns.ZoneArgs{\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 = privatedns.NewMxRecord(ctx, \"exampleMxRecord\", \u0026privatedns.MxRecordArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `record` 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" }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:privatedns/MxRecordRecord:MxRecordRecord" }, "description": "One or more `record` 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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:privatedns/MxRecordRecord:MxRecordRecord" }, "description": "One or more `record` 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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:privatedns/pTRRecord:PTRRecord": { "description": "Enables you to manage DNS PTR Records within Azure Private DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.privatedns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst examplePTRRecord = new azure.privatedns.PTRRecord(\"examplePTRRecord\", {\n zoneName: exampleZone.name,\n resourceGroupName: exampleResourceGroup.name,\n ttl: 300,\n records: [\"test.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.privatedns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_ptr_record = azure.privatedns.PTRRecord(\"examplePTRRecord\",\n zone_name=example_zone.name,\n resource_group_name=example_resource_group.name,\n ttl=300,\n records=[\"test.example.com\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.PrivateDns.Zone(\"exampleZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var examplePTRRecord = new Azure.PrivateDns.PTRRecord(\"examplePTRRecord\", new Azure.PrivateDns.PTRRecordArgs\n {\n ZoneName = exampleZone.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Ttl = 300,\n Records = \n {\n \"test.example.com\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := privatedns.NewZone(ctx, \"exampleZone\", \u0026privatedns.ZoneArgs{\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 = privatedns.NewPTRRecord(ctx, \"examplePTRRecord\", \u0026privatedns.PTRRecordArgs{\n\t\t\tZoneName: exampleZone.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "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" }, "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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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" }, "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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:privatedns/sRVRecord:SRVRecord": { "description": "Enables you to manage DNS SRV Records within Azure Private DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US\"});\nconst testZone = new azure.privatedns.Zone(\"testZone\", {resourceGroupName: azurerm_resource_group.test.name});\nconst testSRVRecord = new azure.privatedns.SRVRecord(\"testSRVRecord\", {\n resourceGroupName: azurerm_resource_group.test.name,\n zoneName: testZone.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\", location=\"West US\")\ntest_zone = azure.privatedns.Zone(\"testZone\", resource_group_name=azurerm_resource_group[\"test\"][\"name\"])\ntest_srv_record = azure.privatedns.SRVRecord(\"testSRVRecord\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n zone_name=test_zone.name,\n ttl=300,\n records=[\n azure.privatedns.SRVRecordRecordArgs(\n priority=1,\n weight=5,\n port=8080,\n target=\"target1.contoso.com\",\n ),\n azure.privatedns.SRVRecordRecordArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var testZone = new Azure.PrivateDns.Zone(\"testZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n });\n var testSRVRecord = new Azure.PrivateDns.SRVRecord(\"testSRVRecord\", new Azure.PrivateDns.SRVRecordArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n ZoneName = testZone.Name,\n Ttl = 300,\n Records = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestZone, err := privatedns.NewZone(ctx, \"testZone\", \u0026privatedns.ZoneArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewSRVRecord(ctx, \"testSRVRecord\", \u0026privatedns.SRVRecordArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tZoneName: testZone.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{{% /example %}}\n{{% /examples %}}", "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 `record` 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" }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:privatedns/SRVRecordRecord:SRVRecordRecord" }, "description": "One or more `record` 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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:privatedns/SRVRecordRecord:SRVRecordRecord" }, "description": "One or more `record` 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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:privatedns/txtRecord:TxtRecord": { "description": "Enables you to manage DNS TXT Records within Azure Private DNS.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US\"});\nconst testZone = new azure.privatedns.Zone(\"testZone\", {resourceGroupName: azurerm_resource_group.test.name});\nconst testTxtRecord = new azure.privatedns.TxtRecord(\"testTxtRecord\", {\n resourceGroupName: azurerm_resource_group.test.name,\n zoneName: testZone.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\", location=\"West US\")\ntest_zone = azure.privatedns.Zone(\"testZone\", resource_group_name=azurerm_resource_group[\"test\"][\"name\"])\ntest_txt_record = azure.privatedns.TxtRecord(\"testTxtRecord\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n zone_name=test_zone.name,\n ttl=300,\n records=[azure.privatedns.TxtRecordRecordArgs(\n value=\"v=spf1 mx ~all\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var testZone = new Azure.PrivateDns.Zone(\"testZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n });\n var testTxtRecord = new Azure.PrivateDns.TxtRecord(\"testTxtRecord\", new Azure.PrivateDns.TxtRecordArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n ZoneName = testZone.Name,\n Ttl = 300,\n Records = \n {\n new Azure.PrivateDns.Inputs.TxtRecordRecordArgs\n {\n Value = \"v=spf1 mx ~all\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"West US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestZone, err := privatedns.NewZone(ctx, \"testZone\", \u0026privatedns.ZoneArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewTxtRecord(ctx, \"testTxtRecord\", \u0026privatedns.TxtRecordArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tZoneName: testZone.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{{% /example %}}\n{{% /examples %}}", "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 `record` 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" }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:privatedns/TxtRecordRecord:TxtRecordRecord" }, "description": "One or more `record` 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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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" }, "records": { "type": "array", "items": { "$ref": "#/types/azure:privatedns/TxtRecordRecord:TxtRecordRecord" }, "description": "One or more `record` 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" }, "zoneName": { "type": "string", "description": "Specifies the Private DNS Zone where the resource exists. Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.privatedns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.privatedns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.PrivateDns.Zone(\"exampleZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = privatedns.NewZone(ctx, \"exampleZone\", \u0026privatedns.ZoneArgs{\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{{% /example %}}\n{{% /examples %}}", "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.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "maxNumberOfRecordSets", "maxNumberOfVirtualNetworkLinks", "maxNumberOfVirtualNetworkLinksWithRegistration", "name", "numberOfRecordSets", "resourceGroupName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the Private DNS Zone. Must be a valid domain name.\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" } }, "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.\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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleZone = new azure.privatedns.Zone(\"exampleZone\", {resourceGroupName: exampleResourceGroup.name});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", {\n resourceGroupName: exampleResourceGroup.name,\n privateDnsZoneName: exampleZone.name,\n virtualNetworkId: azurerm_virtual_network.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_zone = azure.privatedns.Zone(\"exampleZone\", resource_group_name=example_resource_group.name)\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\",\n resource_group_name=example_resource_group.name,\n private_dns_zone_name=example_zone.name,\n virtual_network_id=azurerm_virtual_network[\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleZone = new Azure.PrivateDns.Zone(\"exampleZone\", new Azure.PrivateDns.ZoneArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", new Azure.PrivateDns.ZoneVirtualNetworkLinkArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n PrivateDnsZoneName = exampleZone.Name,\n VirtualNetworkId = azurerm_virtual_network.Example.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleZone, err := privatedns.NewZone(ctx, \"exampleZone\", \u0026privatedns.ZoneArgs{\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 = privatedns.NewZoneVirtualNetworkLink(ctx, \"exampleZoneVirtualNetworkLink\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId: pulumi.Any(azurerm_virtual_network.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{{% /example %}}\n{{% /examples %}}", "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 `false`.\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", "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" }, "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 `false`.\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" } }, "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" }, "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 `false`.\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" } }, "type": "object" } }, "azure:privatelink/endpoint:Endpoint": { "description": "Manages a Private Endpoint.\n\n\u003e **NOTE** Private Endpoint is currently in Public Preview.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst service = new azure.network.Subnet(\"service\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.1.0/24\"],\n enforcePrivateLinkServiceNetworkPolicies: true,\n});\nconst endpoint = new azure.network.Subnet(\"endpoint\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n enforcePrivateLinkEndpointNetworkPolicies: true,\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\n sku: \"Standard\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n allocationMethod: \"Static\",\n});\nconst exampleLoadBalancer = new azure.lb.LoadBalancer(\"exampleLoadBalancer\", {\n sku: \"Standard\",\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n frontendIpConfigurations: [{\n name: examplePublicIp.name,\n publicIpAddressId: examplePublicIp.id,\n }],\n});\nconst exampleLinkService = new azure.privatedns.LinkService(\"exampleLinkService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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(\"exampleEndpoint\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name)\nservice = azure.network.Subnet(\"service\",\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 enforce_private_link_service_network_policies=True)\nendpoint = azure.network.Subnet(\"endpoint\",\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 enforce_private_link_endpoint_network_policies=True)\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\n sku=\"Standard\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n allocation_method=\"Static\")\nexample_load_balancer = azure.lb.LoadBalancer(\"exampleLoadBalancer\",\n sku=\"Standard\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(\n name=example_public_ip.name,\n public_ip_address_id=example_public_ip.id,\n )])\nexample_link_service = azure.privatedns.LinkService(\"exampleLinkService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n nat_ip_configurations=[azure.privatedns.LinkServiceNatIpConfigurationArgs(\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(\"exampleEndpoint\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n subnet_id=endpoint.id,\n private_service_connection=azure.privatelink.EndpointPrivateServiceConnectionArgs(\n name=\"example-privateserviceconnection\",\n private_connection_resource_id=example_link_service.id,\n is_manual_connection=False,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var service = new Azure.Network.Subnet(\"service\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.1.0/24\",\n },\n EnforcePrivateLinkServiceNetworkPolicies = true,\n });\n var endpoint = new Azure.Network.Subnet(\"endpoint\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = \n {\n \"10.0.2.0/24\",\n },\n EnforcePrivateLinkEndpointNetworkPolicies = true,\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Sku = \"Standard\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Static\",\n });\n var exampleLoadBalancer = new Azure.Lb.LoadBalancer(\"exampleLoadBalancer\", new Azure.Lb.LoadBalancerArgs\n {\n Sku = \"Standard\",\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n FrontendIpConfigurations = \n {\n new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs\n {\n Name = examplePublicIp.Name,\n PublicIpAddressId = examplePublicIp.Id,\n },\n },\n });\n var exampleLinkService = new Azure.PrivateDns.LinkService(\"exampleLinkService\", new Azure.PrivateDns.LinkServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n NatIpConfigurations = \n {\n new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs\n {\n Name = examplePublicIp.Name,\n Primary = true,\n SubnetId = service.Id,\n },\n },\n LoadBalancerFrontendIpConfigurationIds = \n {\n exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations =\u003e frontendIpConfigurations[0].Id),\n },\n });\n var exampleEndpoint = new Azure.PrivateLink.Endpoint(\"exampleEndpoint\", new Azure.PrivateLink.EndpointArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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\tservice, err := network.NewSubnet(ctx, \"service\", \u0026network.SubnetArgs{\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\tEnforcePrivateLinkServiceNetworkPolicies: pulumi.Bool(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\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\tEnforcePrivateLinkEndpointNetworkPolicies: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLoadBalancer\", \u0026lb.LoadBalancerArgs{\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleLinkService\", \u0026privatedns.LinkServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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 frontendIpConfigurations[0].Id, nil\n\t\t\t\t}).(pulumi.StringOutput)),\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, \"exampleEndpoint\", \u0026privatelink.EndpointArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "customDnsConfigs": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/EndpointCustomDnsConfig:EndpointCustomDnsConfig" } }, "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" }, "privateDnsZoneConfigs": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/EndpointPrivateDnsZoneConfig:EndpointPrivateDnsZoneConfig" } }, "privateDnsZoneGroup": { "$ref": "#/types/azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup", "description": "A `private_dns_zone_group` block as defined below.\n" }, "privateServiceConnection": { "$ref": "#/types/azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection", "description": "A `private_service_connection` 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", "privateDnsZoneConfigs", "privateServiceConnection", "resourceGroupName", "subnetId" ], "inputProperties": { "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" }, "privateDnsZoneGroup": { "$ref": "#/types/azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup", "description": "A `private_dns_zone_group` block as defined below.\n" }, "privateServiceConnection": { "$ref": "#/types/azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection", "description": "A `private_service_connection` 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" } }, "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" } }, "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" }, "privateDnsZoneConfigs": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/EndpointPrivateDnsZoneConfig:EndpointPrivateDnsZoneConfig" } }, "privateDnsZoneGroup": { "$ref": "#/types/azure:privatelink/EndpointPrivateDnsZoneGroup:EndpointPrivateDnsZoneGroup", "description": "A `private_dns_zone_group` block as defined below.\n" }, "privateServiceConnection": { "$ref": "#/types/azure:privatelink/EndpointPrivateServiceConnection:EndpointPrivateServiceConnection", "description": "A `private_service_connection` 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" } }, "type": "object" } }, "azure:proximity/placementGroup:PlacementGroup": { "description": "Manages a proximity placement group for virtual machines, virtual machine scale sets and availability sets.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst examplePlacementGroup = new azure.proximity.PlacementGroup(\"examplePlacementGroup\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_placement_group = azure.proximity.PlacementGroup(\"examplePlacementGroup\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var examplePlacementGroup = new Azure.Proximity.PlacementGroup(\"examplePlacementGroup\", new Azure.Proximity.PlacementGroupArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/proximity\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = proximity.NewPlacementGroup(ctx, \"examplePlacementGroup\", \u0026proximity.PlacementGroupArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 availability set. 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" }, "name": { "type": "string", "description": "Specifies the name of the availability set. 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" } }, "requiredInputs": [ "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering PlacementGroup 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" }, "name": { "type": "string", "description": "Specifies the name of the availability set. 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" } }, "type": "object" } }, "azure:recoveryservices/vault:Vault": { "description": "Manages an Recovery Services Vault.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"West US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: rg.location,\n resourceGroupName: rg.name,\n sku: \"Standard\",\n softDeleteEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"West US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=rg.location,\n resource_group_name=rg.name,\n sku=\"Standard\",\n soft_delete_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = rg.Location,\n ResourceGroupName = rg.Name,\n Sku = \"Standard\",\n SoftDeleteEnabled = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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 = recoveryservices.NewVault(ctx, \"vault\", \u0026recoveryservices.VaultArgs{\n\t\t\tLocation: rg.Location,\n\t\t\tResourceGroupName: rg.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{{% /example %}}\n{{% /examples %}}", "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 Recovery Services Vault. 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 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 `true`.\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" }, "name": { "type": "string", "description": "Specifies the name of the Recovery Services Vault. 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 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 `true`.\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": { "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 Recovery Services Vault. 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 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 `true`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:redis/cache:Cache": { "description": "Manages a Redis Cache.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis example provisions a Standard Redis Cache.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\n// NOTE: the Name used for Redis needs to be globally unique\nconst exampleCache = new azure.redis.Cache(\"exampleCache\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n capacity: 2,\n family: \"C\",\n skuName: \"Standard\",\n enableNonSslPort: false,\n minimumTlsVersion: \"1.2\",\n redisConfiguration: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\n# NOTE: the Name used for Redis needs to be globally unique\nexample_cache = azure.redis.Cache(\"exampleCache\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n capacity=2,\n family=\"C\",\n sku_name=\"Standard\",\n enable_non_ssl_port=False,\n minimum_tls_version=\"1.2\",\n redis_configuration=azure.redis.CacheRedisConfigurationArgs())\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n // NOTE: the Name used for Redis needs to be globally unique\n var exampleCache = new Azure.Redis.Cache(\"exampleCache\", new Azure.Redis.CacheArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Capacity = 2,\n Family = \"C\",\n SkuName = \"Standard\",\n EnableNonSslPort = false,\n MinimumTlsVersion = \"1.2\",\n RedisConfiguration = ,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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.NewCache(ctx, \"exampleCache\", \u0026redis.CacheArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\tEnableNonSslPort: pulumi.Bool(false),\n\t\t\tMinimumTlsVersion: pulumi.String(\"1.2\"),\n\t\t\tRedisConfiguration: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n## Default Redis Configuration Values\n\n| Redis Value | Basic | Standard | Premium |\n| ------------------------------- | ------------ | ------------ | ------------ |\n| enable_authentication | true | true | true |\n| maxmemory_reserved | 2 | 50 | 200 |\n| maxfragmentationmemory_reserved | 2 | 50 | 200 |\n| maxmemory_delta | 2 | 50 | 200 |\n| maxmemory_policy | volatile-lru | volatile-lru | volatile-lru |\n\n\u003e **NOTE:** The `maxmemory_reserved`, `maxmemory_delta` and `maxfragmentationmemory-reserved` settings are only available for Standard and Premium caches. More details are available in the Relevant Links section below._\n\n---\n\nA `patch_schedule` block supports the following:\n\n* `day_of_week` (Required) the Weekday name - possible values include `Monday`, `Tuesday`, `Wednesday` etc.\n\n* `start_hour_utc` - (Optional) the Start Hour for maintenance in UTC - possible values range from `0 - 23`.\n\n\u003e **Note:** The Patch Window lasts for `5` hours from the `start_hour_utc`.\n\n## Relevant Links\n\n - [Azure Redis Cache: SKU specific configuration limitations](https://azure.microsoft.com/en-us/documentation/articles/cache-configure/#advanced-settings)\n - [Redis: Available Configuration Settings](http://redis.io/topics/config)\n", "properties": { "capacity": { "type": "integer", "description": "The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`.\n" }, "enableNonSslPort": { "type": "boolean", "description": "Enable the non-SSL port (6379) - disabled by default.\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" }, "location": { "type": "string", "description": "The location of the resource group.\n" }, "minimumTlsVersion": { "type": "string", "description": "The minimum TLS version. Defaults to `1.0`.\n" }, "name": { "type": "string", "description": "The name of the Redis instance. Changing this forces a\nnew resource to be created.\n" }, "patchSchedules": { "type": "array", "items": { "$ref": "#/types/azure:redis/CachePatchSchedule:CachePatchSchedule" }, "description": "A list of `patch_schedule` blocks as defined below - only available for Premium SKU's.\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" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string of the Redis Instance.\n" }, "privateStaticIpAddress": { "type": "string", "description": "The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created.\n" }, "redisConfiguration": { "$ref": "#/types/azure:redis/CacheRedisConfiguration:CacheRedisConfiguration", "description": "A `redis_configuration` as defined below - with some limitations by SKU - defaults/details are shown below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Redis instance.\n" }, "secondaryAccessKey": { "type": "string", "description": "The Secondary Access Key for the Redis Instance\n" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string of the Redis Instance.\n" }, "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" }, "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" }, "zones": { "type": "string", "description": "A list of a single item of the Availability Zone which the Redis Cache should be allocated in.\n" } }, "required": [ "capacity", "family", "hostname", "location", "name", "port", "primaryAccessKey", "primaryConnectionString", "privateStaticIpAddress", "redisConfiguration", "resourceGroupName", "secondaryAccessKey", "secondaryConnectionString", "skuName", "sslPort" ], "inputProperties": { "capacity": { "type": "integer", "description": "The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`.\n" }, "enableNonSslPort": { "type": "boolean", "description": "Enable the non-SSL port (6379) - disabled by default.\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" }, "location": { "type": "string", "description": "The location of the resource group.\n" }, "minimumTlsVersion": { "type": "string", "description": "The minimum TLS version. Defaults to `1.0`.\n" }, "name": { "type": "string", "description": "The name of the Redis instance. Changing this forces a\nnew resource to be created.\n" }, "patchSchedules": { "type": "array", "items": { "$ref": "#/types/azure:redis/CachePatchSchedule:CachePatchSchedule" }, "description": "A list of `patch_schedule` blocks as defined below - only available for Premium SKU's.\n" }, "privateStaticIpAddress": { "type": "string", "description": "The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created.\n" }, "redisConfiguration": { "$ref": "#/types/azure:redis/CacheRedisConfiguration:CacheRedisConfiguration", "description": "A `redis_configuration` as defined below - with some limitations by SKU - defaults/details are shown below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Redis instance.\n" }, "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" }, "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" }, "zones": { "type": "string", "description": "A list of a single item of the Availability Zone which the Redis Cache should be allocated in.\n" } }, "requiredInputs": [ "capacity", "family", "resourceGroupName", "skuName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Cache resources.\n", "properties": { "capacity": { "type": "integer", "description": "The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`.\n" }, "enableNonSslPort": { "type": "boolean", "description": "Enable the non-SSL port (6379) - disabled by default.\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" }, "location": { "type": "string", "description": "The location of the resource group.\n" }, "minimumTlsVersion": { "type": "string", "description": "The minimum TLS version. Defaults to `1.0`.\n" }, "name": { "type": "string", "description": "The name of the Redis instance. Changing this forces a\nnew resource to be created.\n" }, "patchSchedules": { "type": "array", "items": { "$ref": "#/types/azure:redis/CachePatchSchedule:CachePatchSchedule" }, "description": "A list of `patch_schedule` blocks as defined below - only available for Premium SKU's.\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" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string of the Redis Instance.\n" }, "privateStaticIpAddress": { "type": "string", "description": "The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created.\n" }, "redisConfiguration": { "$ref": "#/types/azure:redis/CacheRedisConfiguration:CacheRedisConfiguration", "description": "A `redis_configuration` as defined below - with some limitations by SKU - defaults/details are shown below.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the Redis instance.\n" }, "secondaryAccessKey": { "type": "string", "description": "The Secondary Access Key for the Redis Instance\n" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string of the Redis Instance.\n" }, "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" }, "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" }, "zones": { "type": "string", "description": "A list of a single item of the Availability Zone which the Redis Cache should be allocated in.\n" } }, "type": "object" } }, "azure:redis/firewallRule:FirewallRule": { "description": "Manages a Firewall Rule associated with a Redis Cache.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCache = new azure.redis.Cache(\"exampleCache\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n capacity: 1,\n family: \"P\",\n skuName: \"Premium\",\n enableNonSslPort: false,\n redisConfiguration: {\n maxclients: 256,\n maxmemoryReserved: 2,\n maxmemoryDelta: 2,\n maxmemoryPolicy: \"allkeys-lru\",\n },\n});\nconst exampleFirewallRule = new azure.redis.FirewallRule(\"exampleFirewallRule\", {\n redisCacheName: exampleCache.name,\n resourceGroupName: exampleResourceGroup.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.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_cache = azure.redis.Cache(\"exampleCache\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n capacity=1,\n family=\"P\",\n sku_name=\"Premium\",\n enable_non_ssl_port=False,\n redis_configuration=azure.redis.CacheRedisConfigurationArgs(\n maxclients=256,\n maxmemory_reserved=2,\n maxmemory_delta=2,\n maxmemory_policy=\"allkeys-lru\",\n ))\nexample_firewall_rule = azure.redis.FirewallRule(\"exampleFirewallRule\",\n redis_cache_name=example_cache.name,\n resource_group_name=example_resource_group.name,\n start_ip=\"1.2.3.4\",\n end_ip=\"2.3.4.5\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleCache = new Azure.Redis.Cache(\"exampleCache\", new Azure.Redis.CacheArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Capacity = 1,\n Family = \"P\",\n SkuName = \"Premium\",\n EnableNonSslPort = false,\n RedisConfiguration = new Azure.Redis.Inputs.CacheRedisConfigurationArgs\n {\n Maxclients = 256,\n MaxmemoryReserved = 2,\n MaxmemoryDelta = 2,\n MaxmemoryPolicy = \"allkeys-lru\",\n },\n });\n var exampleFirewallRule = new Azure.Redis.FirewallRule(\"exampleFirewallRule\", new Azure.Redis.FirewallRuleArgs\n {\n RedisCacheName = exampleCache.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n StartIp = \"1.2.3.4\",\n EndIp = \"2.3.4.5\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/redis\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleCache\", \u0026redis.CacheArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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: pulumi.Bool(false),\n\t\t\tRedisConfiguration: \u0026redis.CacheRedisConfigurationArgs{\n\t\t\t\tMaxclients: pulumi.Int(256),\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, \"exampleFirewallRule\", \u0026redis.FirewallRuleArgs{\n\t\t\tRedisCacheName: exampleCache.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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.\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" }, "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.\n" }, "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" }, "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.\n" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example_primaryResourceGroup = new azure.core.ResourceGroup(\"example-primaryResourceGroup\", {location: \"East US\"});\nconst example_primaryCache = new azure.redis.Cache(\"example-primaryCache\", {\n location: example_primaryResourceGroup.location,\n resourceGroupName: example_primaryResourceGroup.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_secondaryResourceGroup = new azure.core.ResourceGroup(\"example-secondaryResourceGroup\", {location: \"West US\"});\nconst example_secondaryCache = new azure.redis.Cache(\"example-secondaryCache\", {\n location: example_secondaryResourceGroup.location,\n resourceGroupName: example_secondaryResourceGroup.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_resource_group = azure.core.ResourceGroup(\"example-primaryResourceGroup\", location=\"East US\")\nexample_primary_cache = azure.redis.Cache(\"example-primaryCache\",\n location=example_primary_resource_group.location,\n resource_group_name=example_primary_resource_group.name,\n capacity=1,\n family=\"P\",\n sku_name=\"Premium\",\n enable_non_ssl_port=False,\n redis_configuration=azure.redis.CacheRedisConfigurationArgs(\n maxmemory_reserved=2,\n maxmemory_delta=2,\n maxmemory_policy=\"allkeys-lru\",\n ))\nexample_secondary_resource_group = azure.core.ResourceGroup(\"example-secondaryResourceGroup\", location=\"West US\")\nexample_secondary_cache = azure.redis.Cache(\"example-secondaryCache\",\n location=example_secondary_resource_group.location,\n resource_group_name=example_secondary_resource_group.name,\n capacity=1,\n family=\"P\",\n sku_name=\"Premium\",\n enable_non_ssl_port=False,\n redis_configuration=azure.redis.CacheRedisConfigurationArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example_primaryResourceGroup = new Azure.Core.ResourceGroup(\"example-primaryResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var example_primaryCache = new Azure.Redis.Cache(\"example-primaryCache\", new Azure.Redis.CacheArgs\n {\n Location = example_primaryResourceGroup.Location,\n ResourceGroupName = example_primaryResourceGroup.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 var example_secondaryResourceGroup = new Azure.Core.ResourceGroup(\"example-secondaryResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var example_secondaryCache = new Azure.Redis.Cache(\"example-secondaryCache\", new Azure.Redis.CacheArgs\n {\n Location = example_secondaryResourceGroup.Location,\n ResourceGroupName = example_secondaryResourceGroup.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 var example_link = new Azure.Redis.LinkedServer(\"example-link\", new Azure.Redis.LinkedServerArgs\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := core.NewResourceGroup(ctx, \"example_primaryResourceGroup\", \u0026core.ResourceGroupArgs{\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 = redis.NewCache(ctx, \"example_primaryCache\", \u0026redis.CacheArgs{\n\t\t\tLocation: example_primaryResourceGroup.Location,\n\t\t\tResourceGroupName: example_primaryResourceGroup.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: pulumi.Bool(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 = core.NewResourceGroup(ctx, \"example_secondaryResourceGroup\", \u0026core.ResourceGroupArgs{\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 = redis.NewCache(ctx, \"example_secondaryCache\", \u0026redis.CacheArgs{\n\t\t\tLocation: example_secondaryResourceGroup.Location,\n\t\t\tResourceGroupName: example_secondaryResourceGroup.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: pulumi.Bool(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{{% /example %}}\n{{% /examples %}}", "properties": { "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.\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": [ "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" }, "linkedRedisCacheLocation": { "type": "string", "description": "The location of the linked Redis cache. Changing this forces a new Redis to be created.\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.\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" } }, "requiredInputs": [ "linkedRedisCacheId", "linkedRedisCacheLocation", "resourceGroupName", "serverRole", "targetRedisCacheName" ], "stateInputs": { "description": "Input properties used for looking up and filtering LinkedServer resources.\n", "properties": { "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.\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" } }, "type": "object" } }, "azure:relay/hybridConnection:HybridConnection": { "description": "Manages an Azure Relay Hybrid Connection.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.relay.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Standard\",\n tags: {\n source: \"managed\",\n },\n});\nconst exampleHybridConnection = new azure.relay.HybridConnection(\"exampleHybridConnection\", {\n resourceGroupName: exampleResourceGroup.name,\n relayNamespaceName: exampleNamespace.name,\n requiresClientAuthorization: false,\n userMetadata: \"testmetadata\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.relay.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Standard\",\n tags={\n \"source\": \"managed\",\n })\nexample_hybrid_connection = azure.relay.HybridConnection(\"exampleHybridConnection\",\n resource_group_name=example_resource_group.name,\n relay_namespace_name=example_namespace.name,\n requires_client_authorization=False,\n user_metadata=\"testmetadata\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.Relay.Namespace(\"exampleNamespace\", new Azure.Relay.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Standard\",\n Tags = \n {\n { \"source\", \"managed\" },\n },\n });\n var exampleHybridConnection = new Azure.Relay.HybridConnection(\"exampleHybridConnection\", new Azure.Relay.HybridConnectionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n RelayNamespaceName = exampleNamespace.Name,\n RequiresClientAuthorization = false,\n UserMetadata = \"testmetadata\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026relay.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleHybridConnection\", \u0026relay.HybridConnectionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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. True by default. 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 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" }, "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. True by default. 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 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" } }, "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" }, "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. True by default. 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 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" } }, "type": "object" } }, "azure:relay/namespace:Namespace": { "description": "Manages an Azure Relay Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.relay.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n skuName: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.relay.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku_name=\"Standard\",\n tags={\n \"source\": \"example\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.Relay.Namespace(\"exampleNamespace\", new Azure.Relay.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n SkuName = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/relay\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026relay.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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" }, "primaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Azure Relay Namespace.\n" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n" }, "secondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "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" }, "name": { "type": "string", "description": "Specifies the name of the Azure Relay Namespace. 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 Relay Namespace.\n" }, "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" }, "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" }, "primaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Azure Relay Namespace.\n" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string for the authorization rule `RootManageSharedAccessKey`.\n" }, "secondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "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:role/assignment:Assignment": { "description": "Assigns a given Principal (User or Group) to a given Role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Using A Built-In Role)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleAssignment = new azure.authorization.Assignment(\"exampleAssignment\", {\n scope: primary.then(primary =\u003e primary.id),\n roleDefinitionName: \"Reader\",\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n scope=primary.id,\n role_definition_name=\"Reader\",\n principal_id=example_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Scope = primary.Apply(primary =\u003e primary.Id),\n RoleDefinitionName = \"Reader\",\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authorization.NewAssignment(ctx, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tScope: pulumi.String(primary.Id),\n\t\t\tRoleDefinitionName: pulumi.String(\"Reader\"),\n\t\t\tPrincipalId: pulumi.String(exampleClientConfig.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\n{{% /example %}}\n{{% example %}}\n### Custom Role \u0026 Service Principal)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"exampleRoleDefinition\", {\n roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\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(\"exampleAssignment\", {\n name: \"00000000-0000-0000-0000-000000000000\",\n scope: primary.then(primary =\u003e primary.id),\n roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"exampleRoleDefinition\",\n role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n scope=primary.id,\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\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_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"exampleRoleDefinition\", new Azure.Authorization.RoleDefinitionArgs\n {\n RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"exampleRoleDefinition\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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: []interface{}{},\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, \"exampleAssignment\", \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(exampleClientConfig.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\n{{% /example %}}\n{{% example %}}\n### Custom Role \u0026 User)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"exampleRoleDefinition\", {\n roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\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(\"exampleAssignment\", {\n name: \"00000000-0000-0000-0000-000000000000\",\n scope: primary.then(primary =\u003e primary.id),\n roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_role_definition = azure.authorization.RoleDefinition(\"exampleRoleDefinition\",\n role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n scope=primary.id,\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\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_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"exampleRoleDefinition\", new Azure.Authorization.RoleDefinitionArgs\n {\n RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"exampleRoleDefinition\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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: []interface{}{},\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, \"exampleAssignment\", \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(exampleClientConfig.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\n{{% /example %}}\n{{% example %}}\n### Custom Role \u0026 Management Group)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = azure.core.getSubscription({});\nconst exampleClientConfig = azure.core.getClientConfig({});\nconst exampleGroup = azure.management.getGroup({});\nconst exampleRoleDefinition = new azure.authorization.RoleDefinition(\"exampleRoleDefinition\", {\n roleDefinitionId: \"00000000-0000-0000-0000-000000000000\",\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(\"exampleAssignment\", {\n name: \"00000000-0000-0000-0000-000000000000\",\n scope: data.azurerm_management_group.primary.id,\n roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,\n principalId: exampleClientConfig.then(exampleClientConfig =\u003e exampleClientConfig.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nprimary = azure.core.get_subscription()\nexample_client_config = azure.core.get_client_config()\nexample_group = azure.management.get_group()\nexample_role_definition = azure.authorization.RoleDefinition(\"exampleRoleDefinition\",\n role_definition_id=\"00000000-0000-0000-0000-000000000000\",\n scope=primary.id,\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"Microsoft.Resources/subscriptions/resourceGroups/read\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\nexample_assignment = azure.authorization.Assignment(\"exampleAssignment\",\n name=\"00000000-0000-0000-0000-000000000000\",\n scope=data[\"azurerm_management_group\"][\"primary\"][\"id\"],\n role_definition_id=example_role_definition.role_definition_resource_id,\n principal_id=example_client_config.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var exampleClientConfig = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleGroup = Output.Create(Azure.Management.GetGroup.InvokeAsync());\n var exampleRoleDefinition = new Azure.Authorization.RoleDefinition(\"exampleRoleDefinition\", new Azure.Authorization.RoleDefinitionArgs\n {\n RoleDefinitionId = \"00000000-0000-0000-0000-000000000000\",\n Scope = primary.Apply(primary =\u003e primary.Id),\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n var exampleAssignment = new Azure.Authorization.Assignment(\"exampleAssignment\", new Azure.Authorization.AssignmentArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n Scope = data.Azurerm_management_group.Primary.Id,\n RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,\n PrincipalId = exampleClientConfig.Apply(exampleClientConfig =\u003e exampleClientConfig.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleClientConfig, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = management.LookupGroup(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, \"exampleRoleDefinition\", \u0026authorization.RoleDefinitionArgs{\n\t\t\tRoleDefinitionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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: []interface{}{},\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, \"exampleAssignment\", \u0026authorization.AssignmentArgs{\n\t\t\tName: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tScope: pulumi.Any(data.Azurerm_management_group.Primary.Id),\n\t\t\tRoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,\n\t\t\tPrincipalId: pulumi.String(exampleClientConfig.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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "principalType": { "type": "string", "description": "The type of the `principal_id`, 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 `role_definition_name`.\n" }, "roleDefinitionName": { "type": "string", "description": "The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with `role_definition_id`.\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 `principal_id` is a newly provisioned `Service Principal` set this value to `true` to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the `principal_id` is a `Service Principal` identity. If it is not a `Service Principal` identity it will cause the role assignment to fail. Defaults to `false`.\n" } }, "required": [ "name", "principalId", "principalType", "roleDefinitionId", "roleDefinitionName", "scope", "skipServicePrincipalAadCheck" ], "inputProperties": { "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" }, "roleDefinitionId": { "type": "string", "description": "The Scoped-ID of the Role Definition. Changing this forces a new resource to be created. Conflicts with `role_definition_name`.\n" }, "roleDefinitionName": { "type": "string", "description": "The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with `role_definition_id`.\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 `principal_id` is a newly provisioned `Service Principal` set this value to `true` to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the `principal_id` is a `Service Principal` identity. If it is not a `Service Principal` identity it will cause the role assignment to fail. Defaults to `false`.\n" } }, "requiredInputs": [ "principalId", "scope" ], "stateInputs": { "description": "Input properties used for looking up and filtering Assignment resources.\n", "properties": { "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" }, "principalType": { "type": "string", "description": "The type of the `principal_id`, 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 `role_definition_name`.\n" }, "roleDefinitionName": { "type": "string", "description": "The name of a built-in Role. Changing this forces a new resource to be created. Conflicts with `role_definition_id`.\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 `principal_id` is a newly provisioned `Service Principal` set this value to `true` to skip the `Azure Active Directory` check which may fail due to replication lag. This argument is only valid if the `principal_id` is a `Service Principal` identity. If it is not a `Service Principal` identity it will cause the role assignment to fail. Defaults to `false`.\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/en-us/azure/role-based-access-control/role-definitions) in the Azure documentation for more details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 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 scope=primary.id,\n description=\"This is a custom role created\",\n permissions=[azure.authorization.RoleDefinitionPermissionArgs(\n actions=[\"*\"],\n not_actions=[],\n )],\n assignable_scopes=[primary.id])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var example = new Azure.Authorization.RoleDefinition(\"example\", new Azure.Authorization.RoleDefinitionArgs\n {\n Scope = primary.Apply(primary =\u003e primary.Id),\n Description = \"This is a custom role created\",\n Permissions = \n {\n new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs\n {\n Actions = \n {\n \"*\",\n },\n NotActions = {},\n },\n },\n AssignableScopes = \n {\n primary.Apply(primary =\u003e primary.Id),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimary, err := core.GetSubscription(ctx, nil, 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\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: []interface{}{},\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{{% /example %}}\n{{% /examples %}}", "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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "A description of the Role Definition.\n" }, "name": { "type": "string", "description": "The name of the Role Definition. Changing this forces a new resource to be created.\n" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:role/DefinitionPermission:DefinitionPermission" }, "description": "A `permissions` 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 too, 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`. It is recommended to use the first entry of the `assignable_scopes`. Changing this forces a new resource to be created.\n" } }, "required": [ "assignableScopes", "name", "permissions", "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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "A description of the Role Definition.\n" }, "name": { "type": "string", "description": "The name of the Role Definition. Changing this forces a new resource to be created.\n" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:role/DefinitionPermission:DefinitionPermission" }, "description": "A `permissions` 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" }, "scope": { "type": "string", "description": "The scope at which the Role Definition applies too, 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`. It is recommended to use the first entry of the `assignable_scopes`. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "permissions", "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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "A description of the Role Definition.\n" }, "name": { "type": "string", "description": "The name of the Role Definition. Changing this forces a new resource to be created.\n" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:role/DefinitionPermission:DefinitionPermission" }, "description": "A `permissions` 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 too, 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`. It is recommended to use the first entry of the `assignable_scopes`. Changing this forces a new resource to be created.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleService = new azure.search.Service(\"exampleService\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n sku: \"standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_service = azure.search.Service(\"exampleService\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n sku=\"standard\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleService = new Azure.Search.Service(\"exampleService\", new Azure.Search.ServiceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Sku = \"standard\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/search\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleService\", \u0026search.ServiceArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "allowedIps": { "type": "array", "items": { "type": "string" }, "description": "A list of IPv4 addresses that are allowed access to the search service endpoint.\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" }, "partitionCount": { "type": "integer", "description": "The number of partitions which should be created.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key used for Search Service Administration.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this resource. Defaults to `true`.\n" }, "queryKeys": { "type": "array", "items": { "$ref": "#/types/azure:search/ServiceQueryKey:ServiceQueryKey" }, "description": "A `query_keys` block as defined below.\n" }, "replicaCount": { "type": "integer", "description": "The number of replica's which should be created.\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" }, "sku": { "type": "string", "description": "The SKU which should be used for this Search Service. Possible values are `basic`, `free`, `standard`, `standard2` and `standard3` Changing this forces a new Search Service to be created.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Search Service.\n" } }, "required": [ "location", "name", "partitionCount", "primaryKey", "queryKeys", "replicaCount", "resourceGroupName", "secondaryKey", "sku" ], "inputProperties": { "allowedIps": { "type": "array", "items": { "type": "string" }, "description": "A list of IPv4 addresses that are allowed access to the search service endpoint.\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" }, "partitionCount": { "type": "integer", "description": "The number of partitions which should be created.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this resource. Defaults to `true`.\n" }, "replicaCount": { "type": "integer", "description": "The number of replica's which should be created.\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" }, "sku": { "type": "string", "description": "The SKU which should be used for this Search Service. Possible values are `basic`, `free`, `standard`, `standard2` and `standard3` Changing this forces a new Search Service to be created.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the 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": "A list of IPv4 addresses that are allowed access to the search service endpoint.\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" }, "partitionCount": { "type": "integer", "description": "The number of partitions which should be created.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key used for Search Service Administration.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Whether or not public network access is allowed for this resource. Defaults to `true`.\n" }, "queryKeys": { "type": "array", "items": { "$ref": "#/types/azure:search/ServiceQueryKey:ServiceQueryKey" }, "description": "A `query_keys` block as defined below.\n" }, "replicaCount": { "type": "integer", "description": "The number of replica's which should be created.\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" }, "sku": { "type": "string", "description": "The SKU which should be used for this Search Service. Possible values are `basic`, `free`, `standard`, `standard2` and `standard3` Changing this forces a new Search Service to be created.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which should be assigned to the Search Service.\n" } }, "type": "object" } }, "azure:securitycenter/advancedThreatProtection:AdvancedThreatProtection": { "description": "Manages a resources Advanced Threat Protection setting.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"northeurope\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: azurerm_resource_group.example.name,\n location: azurerm_resource_group.example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"example\",\n },\n});\nconst exampleAdvancedThreatProtection = new azure.securitycenter.AdvancedThreatProtection(\"exampleAdvancedThreatProtection\", {\n targetResourceId: exampleAccount.id,\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"northeurope\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"],\n location=azurerm_resource_group[\"example\"][\"location\"],\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"example\",\n })\nexample_advanced_threat_protection = azure.securitycenter.AdvancedThreatProtection(\"exampleAdvancedThreatProtection\",\n target_resource_id=example_account.id,\n enabled=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"northeurope\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Location = azurerm_resource_group.Example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"example\" },\n },\n });\n var exampleAdvancedThreatProtection = new Azure.SecurityCenter.AdvancedThreatProtection(\"exampleAdvancedThreatProtection\", new Azure.SecurityCenter.AdvancedThreatProtectionArgs\n {\n TargetResourceId = exampleAccount.Id,\n Enabled = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"northeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.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, \"exampleAdvancedThreatProtection\", \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{{% /example %}}\n{{% /examples %}}", "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" } }, "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" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.securitycenter.Contact(\"example\", {\n alertNotifications: true,\n alertsToAdmins: true,\n email: \"contact@example.com\",\n phone: \"+1-555-555-5555\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.Contact(\"example\",\n alert_notifications=True,\n alerts_to_admins=True,\n email=\"contact@example.com\",\n phone=\"+1-555-555-5555\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.SecurityCenter.Contact(\"example\", new Azure.SecurityCenter.ContactArgs\n {\n AlertNotifications = true,\n AlertsToAdmins = true,\n Email = \"contact@example.com\",\n Phone = \"+1-555-555-5555\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tAlertNotifications: pulumi.Bool(true),\n\t\t\tAlertsToAdmins: pulumi.Bool(true),\n\t\t\tEmail: pulumi.String(\"contact@example.com\"),\n\t\t\tPhone: pulumi.String(\"+1-555-555-5555\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "phone": { "type": "string", "description": "The phone number of the Security Center Contact.\n" } }, "required": [ "alertNotifications", "alertsToAdmins", "email" ], "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" }, "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" }, "phone": { "type": "string", "description": "The phone number of the Security Center Contact.\n" } }, "type": "object" } }, "azure:securitycenter/subscriptionPricing:SubscriptionPricing": { "description": "Manages the Pricing Tier for Azure Security Center in the current subscription.\n\n\u003e **NOTE:** This resource requires the `Owner` permission on the Subscription.\n\n\u003e **NOTE:** Deletion of this resource does not change or reset the pricing tier to `Free`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.securitycenter.SubscriptionPricing(\"example\", tier=\"Standard\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.SecurityCenter.SubscriptionPricing(\"example\", new Azure.SecurityCenter.SubscriptionPricingArgs\n {\n Tier = \"Standard\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "tier": { "type": "string", "description": "The pricing tier to use. Possible values are `Free` and `Standard`.\n" } }, "required": [ "tier" ], "inputProperties": { "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": { "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\u003e **NOTE:** The subscription's pricing model can not be `Free` for this to have any affect.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"PerGB2018\",\n});\nconst exampleWorkspace = new azure.securitycenter.Workspace(\"exampleWorkspace\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"PerGB2018\")\nexample_workspace = azure.securitycenter.Workspace(\"exampleWorkspace\",\n scope=\"/subscriptions/00000000-0000-0000-0000-000000000000\",\n workspace_id=example_analytics_workspace.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"PerGB2018\",\n });\n var exampleWorkspace = new Azure.SecurityCenter.Workspace(\"exampleWorkspace\", new Azure.SecurityCenter.WorkspaceArgs\n {\n Scope = \"/subscriptions/00000000-0000-0000-0000-000000000000\",\n WorkspaceId = exampleAnalyticsWorkspace.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\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\t_, err = securitycenter.NewWorkspace(ctx, \"exampleWorkspace\", \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{{% /example %}}\n{{% /examples %}}", "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/alertRuleMsSecurityIncident:AlertRuleMsSecurityIncident": { "description": "Manages a Sentinel MS Security Incident Alert Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"pergb2018\",\n});\nconst exampleAlertRuleMsSecurityIncident = new azure.sentinel.AlertRuleMsSecurityIncident(\"exampleAlertRuleMsSecurityIncident\", {\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"pergb2018\")\nexample_alert_rule_ms_security_incident = azure.sentinel.AlertRuleMsSecurityIncident(\"exampleAlertRuleMsSecurityIncident\",\n log_analytics_workspace_id=example_analytics_workspace.id,\n product_filter=\"Microsoft Cloud App Security\",\n display_name=\"example rule\",\n severity_filters=[\"High\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"pergb2018\",\n });\n var exampleAlertRuleMsSecurityIncident = new Azure.Sentinel.AlertRuleMsSecurityIncident(\"exampleAlertRuleMsSecurityIncident\", new Azure.Sentinel.AlertRuleMsSecurityIncidentArgs\n {\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n ProductFilter = \"Microsoft Cloud App Security\",\n DisplayName = \"example rule\",\n SeverityFilters = \n {\n \"High\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\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\t_, err = sentinel.NewAlertRuleMsSecurityIncident(ctx, \"exampleAlertRuleMsSecurityIncident\", \u0026sentinel.AlertRuleMsSecurityIncidentArgs{\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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 `true`.\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` and `Microsoft Cloud App Security`.\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" }, "textWhitelists": { "type": "array", "items": { "type": "string" }, "deprecationMessage": "this property has been renamed to display_name_filter to better match the SDK \u0026 API" } }, "required": [ "displayName", "displayNameFilters", "logAnalyticsWorkspaceId", "name", "productFilter", "severityFilters", "textWhitelists" ], "inputProperties": { "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" }, "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 `true`.\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` and `Microsoft Cloud App Security`.\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" }, "textWhitelists": { "type": "array", "items": { "type": "string" }, "deprecationMessage": "this property has been renamed to display_name_filter to better match the SDK \u0026 API" } }, "requiredInputs": [ "displayName", "logAnalyticsWorkspaceId", "productFilter", "severityFilters" ], "stateInputs": { "description": "Input properties used for looking up and filtering AlertRuleMsSecurityIncident resources.\n", "properties": { "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" }, "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 `true`.\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` and `Microsoft Cloud App Security`.\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" }, "textWhitelists": { "type": "array", "items": { "type": "string" }, "deprecationMessage": "this property has been renamed to display_name_filter to better match the SDK \u0026 API" } }, "type": "object" } }, "azure:sentinel/alertRuleScheduled:AlertRuleScheduled": { "description": "Manages a Sentinel Scheduled Alert Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"pergb2018\",\n});\nconst exampleAlertRuleScheduled = new azure.sentinel.AlertRuleScheduled(\"exampleAlertRuleScheduled\", {\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"pergb2018\")\nexample_alert_rule_scheduled = azure.sentinel.AlertRuleScheduled(\"exampleAlertRuleScheduled\",\n log_analytics_workspace_id=example_analytics_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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", new Azure.OperationalInsights.AnalyticsWorkspaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"pergb2018\",\n });\n var exampleAlertRuleScheduled = new Azure.Sentinel.AlertRuleScheduled(\"exampleAlertRuleScheduled\", new Azure.Sentinel.AlertRuleScheduledArgs\n {\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAnalyticsWorkspace\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\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\t_, err = sentinel.NewAlertRuleScheduled(ctx, \"exampleAlertRuleScheduled\", \u0026sentinel.AlertRuleScheduledArgs{\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tSeverity: pulumi.String(\"High\"),\n\t\t\tQuery: pulumi.String(fmt.Sprintf(\"%v%v%v%v\", \"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{{% /example %}}\n{{% /examples %}}", "properties": { "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 `true`.\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" }, "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 `suppression_enabled` is `true`, 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 Scheduled Alert Rulea stop running query after alert is generated? Defaults to `false`.\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`, `InitialAccess`, `LateralMovement`, `Persistence` and `PrivilegeEscalation`.\n" }, "triggerOperator": { "type": "string", "description": "The alert trigger operator, combined with `trigger_threshold`, setting alert threshold of this Sentinel Scheduled Alert Rule. Possible values are `Equal`, `GreaterThan`, `LessThan`, `NotEqual`.\n" }, "triggerThreshold": { "type": "integer", "description": "The baseline number of query results generated, combined with `trigger_operator`, setting alert threshold of this Sentinel Scheduled Alert Rule.\n" } }, "required": [ "displayName", "logAnalyticsWorkspaceId", "name", "query", "severity" ], "inputProperties": { "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 `true`.\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" }, "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 `suppression_enabled` is `true`, 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 Scheduled Alert Rulea stop running query after alert is generated? Defaults to `false`.\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`, `InitialAccess`, `LateralMovement`, `Persistence` and `PrivilegeEscalation`.\n" }, "triggerOperator": { "type": "string", "description": "The alert trigger operator, combined with `trigger_threshold`, setting alert threshold of this Sentinel Scheduled Alert Rule. Possible values are `Equal`, `GreaterThan`, `LessThan`, `NotEqual`.\n" }, "triggerThreshold": { "type": "integer", "description": "The baseline number of query results generated, combined with `trigger_operator`, setting alert threshold of this Sentinel Scheduled Alert Rule.\n" } }, "requiredInputs": [ "displayName", "logAnalyticsWorkspaceId", "query", "severity" ], "stateInputs": { "description": "Input properties used for looking up and filtering AlertRuleScheduled resources.\n", "properties": { "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 `true`.\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" }, "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 `suppression_enabled` is `true`, 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 Scheduled Alert Rulea stop running query after alert is generated? Defaults to `false`.\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`, `InitialAccess`, `LateralMovement`, `Persistence` and `PrivilegeEscalation`.\n" }, "triggerOperator": { "type": "string", "description": "The alert trigger operator, combined with `trigger_threshold`, setting alert threshold of this Sentinel Scheduled Alert Rule. Possible values are `Equal`, `GreaterThan`, `LessThan`, `NotEqual`.\n" }, "triggerThreshold": { "type": "integer", "description": "The baseline number of query results generated, combined with `trigger_operator`, setting alert threshold of this Sentinel Scheduled Alert Rule.\n" } }, "type": "object" } }, "azure:servicebus/namespace:Namespace": { "description": "Manages a ServiceBus Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "capacity": { "type": "integer", "description": "Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4` or `8`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\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 ServiceBus Namespace resource . Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace.\n" }, "sku": { "type": "string", "description": "Defines which tier to use. Options are basic, standard or 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" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Defaults to `false`.\n" } }, "required": [ "defaultPrimaryConnectionString", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryKey", "location", "name", "resourceGroupName", "sku" ], "inputProperties": { "capacity": { "type": "integer", "description": "Specifies the capacity. When `sku` is `Premium`, capacity can be `1`, `2`, `4` or `8`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.\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 ServiceBus Namespace resource . Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace.\n" }, "sku": { "type": "string", "description": "Defines which tier to use. Options are basic, standard or 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" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Defaults to `false`.\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 `sku` is `Premium`, capacity can be `1`, `2`, `4` or `8`. When `sku` is `Basic` or `Standard`, capacity can be `0` only.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\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 ServiceBus Namespace resource . Changing this forces a\nnew resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace.\n" }, "sku": { "type": "string", "description": "Defines which tier to use. Options are basic, standard or 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" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Defaults to `false`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleNamespaceAuthorizationRule = new azure.servicebus.NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: true,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_namespace_authorization_rule = azure.servicebus.NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\",\n namespace_name=example_namespace.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=True,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleNamespaceAuthorizationRule = new Azure.ServiceBus.NamespaceAuthorizationRule(\"exampleNamespaceAuthorizationRule\", new Azure.ServiceBus.NamespaceAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = true,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleNamespaceAuthorizationRule\", \u0026servicebus.NamespaceAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.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(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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Namespace authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Namespace authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" } }, "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey" ], "inputProperties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\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 this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Namespace authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Namespace authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Namespace authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/namespaceAuthorizationRule:NamespaceAuthorizationRule" } ] }, "azure:servicebus/namespaceNetworkRuleSet:NamespaceNetworkRuleSet": { "description": "Manages a ServiceBus Namespace Network Rule Set Set.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Premium\",\n capacity: 1,\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n addressSpaces: [\"172.17.0.0/16\"],\n dnsServers: [\n \"10.0.0.4\",\n \"10.0.0.5\",\n ],\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"172.17.0.0/24\",\n serviceEndpoints: [\"Microsoft.ServiceBus\"],\n});\nconst exampleNamespaceNetworkRuleSet = new azure.servicebus.NamespaceNetworkRuleSet(\"exampleNamespaceNetworkRuleSet\", {\n namespaceName: exampleNamespace.name,\n resourceGroupName: exampleResourceGroup.name,\n defaultAction: \"Deny\",\n networkRules: [{\n subnetId: exampleSubnet.id,\n ignoreMissingVnetServiceEndpoint: false,\n }],\n ipRules: [\"1.1.1.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Premium\",\n capacity=1)\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n address_spaces=[\"172.17.0.0/16\"],\n dns_servers=[\n \"10.0.0.4\",\n \"10.0.0.5\",\n ])\nexample_subnet = azure.network.Subnet(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"172.17.0.0/24\",\n service_endpoints=[\"Microsoft.ServiceBus\"])\nexample_namespace_network_rule_set = azure.servicebus.NamespaceNetworkRuleSet(\"exampleNamespaceNetworkRuleSet\",\n namespace_name=example_namespace.name,\n resource_group_name=example_resource_group.name,\n default_action=\"Deny\",\n network_rules=[azure.servicebus.NamespaceNetworkRuleSetNetworkRuleArgs(\n subnet_id=example_subnet.id,\n ignore_missing_vnet_service_endpoint=False,\n )],\n ip_rules=[\"1.1.1.1\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Premium\",\n Capacity = 1,\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AddressSpaces = \n {\n \"172.17.0.0/16\",\n },\n DnsServers = \n {\n \"10.0.0.4\",\n \"10.0.0.5\",\n },\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"172.17.0.0/24\",\n ServiceEndpoints = \n {\n \"Microsoft.ServiceBus\",\n },\n });\n var exampleNamespaceNetworkRuleSet = new Azure.ServiceBus.NamespaceNetworkRuleSet(\"exampleNamespaceNetworkRuleSet\", new Azure.ServiceBus.NamespaceNetworkRuleSetArgs\n {\n NamespaceName = exampleNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n DefaultAction = \"Deny\",\n NetworkRules = \n {\n new Azure.ServiceBus.Inputs.NamespaceNetworkRuleSetNetworkRuleArgs\n {\n SubnetId = exampleSubnet.Id,\n IgnoreMissingVnetServiceEndpoint = false,\n },\n },\n IpRules = \n {\n \"1.1.1.1\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.17.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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"172.17.0.0/24\"),\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.ServiceBus\"),\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.NewNamespaceNetworkRuleSet(ctx, \"exampleNamespaceNetworkRuleSet\", \u0026servicebus.NamespaceNetworkRuleSetArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\tNetworkRules: servicebus.NamespaceNetworkRuleSetNetworkRuleArray{\n\t\t\t\t\u0026servicebus.NamespaceNetworkRuleSetNetworkRuleArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t\tIgnoreMissingVnetServiceEndpoint: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.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{{% /example %}}\n{{% /examples %}}", "properties": { "defaultAction": { "type": "string", "description": "Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n" }, "ipRules": { "type": "array", "items": { "type": "string" }, "description": "One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.\n" }, "namespaceName": { "type": "string", "description": "Specifies the ServiceBus Namespace name to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.\n" }, "networkRules": { "type": "array", "items": { "$ref": "#/types/azure:servicebus/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule" }, "description": "One or more `network_rules` blocks as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group where the ServiceBus Namespace Network Rule Set should exist. Changing this forces a new resource to be created.\n" } }, "required": [ "namespaceName", "resourceGroupName" ], "inputProperties": { "defaultAction": { "type": "string", "description": "Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n" }, "ipRules": { "type": "array", "items": { "type": "string" }, "description": "One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.\n" }, "namespaceName": { "type": "string", "description": "Specifies the ServiceBus Namespace name to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.\n" }, "networkRules": { "type": "array", "items": { "$ref": "#/types/azure:servicebus/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule" }, "description": "One or more `network_rules` blocks as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group where the ServiceBus Namespace Network Rule Set should exist. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "namespaceName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering NamespaceNetworkRuleSet resources.\n", "properties": { "defaultAction": { "type": "string", "description": "Specifies the default action for the ServiceBus Namespace Network Rule Set. Possible values are `Allow` and `Deny`. Defaults to `Deny`.\n" }, "ipRules": { "type": "array", "items": { "type": "string" }, "description": "One or more IP Addresses, or CIDR Blocks which should be able to access the ServiceBus Namespace.\n" }, "namespaceName": { "type": "string", "description": "Specifies the ServiceBus Namespace name to which to attach the ServiceBus Namespace Network Rule Set. Changing this forces a new resource to be created.\n" }, "networkRules": { "type": "array", "items": { "$ref": "#/types/azure:servicebus/NamespaceNetworkRuleSetNetworkRule:NamespaceNetworkRuleSetNetworkRule" }, "description": "One or more `network_rules` blocks as defined below.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group where the ServiceBus Namespace Network Rule Set should exist. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:servicebus/queue:Queue": { "description": "Manages a ServiceBus Queue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"exampleQueue\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_queue = azure.servicebus.Queue(\"exampleQueue\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleQueue = new Azure.ServiceBus.Queue(\"exampleQueue\", new Azure.ServiceBus.QueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleQueue\", \u0026servicebus.QueueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: 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{{% /example %}}\n{{% /examples %}}", "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" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.\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 10 minutes (`PT10M`).\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.\n" }, "enableExpress": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `false`.\n" }, "enablePartitioning": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `true`.\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/en-us/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 1 minute (`PT1M`).\n" }, "maxDeliveryCount": { "type": "integer", "description": "Integer value which controls when a message is automatically dead lettered. Defaults to `10`.\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/en-us/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\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 `false`.\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 `false`.\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" }, "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", "duplicateDetectionHistoryTimeWindow", "lockDuration", "maxSizeInMegabytes", "name", "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" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.\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 10 minutes (`PT10M`).\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.\n" }, "enableExpress": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `false`.\n" }, "enablePartitioning": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `true`.\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/en-us/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 1 minute (`PT1M`).\n" }, "maxDeliveryCount": { "type": "integer", "description": "Integer value which controls when a message is automatically dead lettered. Defaults to `10`.\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/en-us/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\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 `false`.\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 `false`.\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" }, "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": [ "namespaceName", "resourceGroupName" ], "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" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Queue has dead letter support when a message expires. Defaults to `false`.\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 10 minutes (`PT10M`).\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether server-side batched operations are enabled. Defaults to `true`.\n" }, "enableExpress": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `false`.\n" }, "enablePartitioning": { "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 `false` for Basic and Standard. For Premium, it MUST be set to `true`.\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/en-us/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 1 minute (`PT1M`).\n" }, "maxDeliveryCount": { "type": "integer", "description": "Integer value which controls when a message is automatically dead lettered. Defaults to `10`.\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/en-us/azure/service-bus-messaging/service-bus-quotas). Defaults to `1024`.\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Queue resource. Changing this forces a new resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this queue in. Changing this forces a new resource to be created.\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 `false`.\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 `false`.\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" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleQueue = new azure.servicebus.Queue(\"exampleQueue\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleQueueAuthorizationRule = new azure.servicebus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n queueName: exampleQueue.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: true,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_queue = azure.servicebus.Queue(\"exampleQueue\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_queue_authorization_rule = azure.servicebus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\",\n namespace_name=example_namespace.name,\n queue_name=example_queue.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=True,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleQueue = new Azure.ServiceBus.Queue(\"exampleQueue\", new Azure.ServiceBus.QueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleQueueAuthorizationRule = new Azure.ServiceBus.QueueAuthorizationRule(\"exampleQueueAuthorizationRule\", new Azure.ServiceBus.QueueAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n QueueName = exampleQueue.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = true,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleQueue\", \u0026servicebus.QueueArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewQueueAuthorizationRule(ctx, \"exampleQueueAuthorizationRule\", \u0026servicebus.QueueAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tQueueName: exampleQueue.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(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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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 ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the Authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Authorization Rule.\n" }, "queueName": { "type": "string", "description": "Specifies the name of the ServiceBus Queue. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.\n" } }, "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "queueName", "resourceGroupName", "secondaryConnectionString", "secondaryKey" ], "inputProperties": { "listen": { "type": "boolean", "description": "Does this Authorization Rule have Listen permissions to the ServiceBus Queue? Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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 ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.\n" }, "queueName": { "type": "string", "description": "Specifies the name of the ServiceBus Queue. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.\n" } }, "requiredInputs": [ "namespaceName", "queueName", "resourceGroupName" ], "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 `false`.\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have Manage permissions to the ServiceBus Queue? When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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 ServiceBus Namespace in which the Queue exists. Changing this forces a new resource to be created.\n" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the Authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Authorization Rule.\n" }, "queueName": { "type": "string", "description": "Specifies the name of the ServiceBus Queue. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have Send permissions to the ServiceBus Queue? Defaults to `false`.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/queueAuthorizationRule:QueueAuthorizationRule" } ] }, "azure:servicebus/subscription:Subscription": { "description": "Manages a ServiceBus Subscription.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"exampleSubscription\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n maxDeliveryCount: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"exampleSubscription\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n max_delivery_count=1)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleSubscription = new Azure.ServiceBus.Subscription(\"exampleSubscription\", new Azure.ServiceBus.SubscriptionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n MaxDeliveryCount = 1,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: 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, \"exampleSubscription\", \u0026servicebus.SubscriptionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\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{{% /example %}}\n{{% /examples %}}", "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 `5` minutes or `P5M`.\n" }, "deadLetteringOnFilterEvaluationError": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.\n" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to `false`.\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 default value used when TimeToLive is not set on a message itself.\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription supports batched operations. Defaults to `false`.\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). The default value is `1` minute or `P1M`.\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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this Subscription in. 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. Defaults to `false`. 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 namespace. 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" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n" } }, "required": [ "autoDeleteOnIdle", "defaultMessageTtl", "lockDuration", "maxDeliveryCount", "name", "namespaceName", "resourceGroupName", "topicName" ], "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 `5` minutes or `P5M`.\n" }, "deadLetteringOnFilterEvaluationError": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.\n" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to `false`.\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 default value used when TimeToLive is not set on a message itself.\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription supports batched operations. Defaults to `false`.\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). The default value is `1` minute or `P1M`.\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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this Subscription in. 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. Defaults to `false`. 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 namespace. 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" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "maxDeliveryCount", "namespaceName", "resourceGroupName", "topicName" ], "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 `5` minutes or `P5M`.\n" }, "deadLetteringOnFilterEvaluationError": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support on filter evaluation exceptions. Defaults to `true`.\n" }, "deadLetteringOnMessageExpiration": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription has dead letter support when a message expires. Defaults to `false`.\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 default value used when TimeToLive is not set on a message itself.\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls whether the Subscription supports batched operations. Defaults to `false`.\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). The default value is `1` minute or `P1M`.\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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create this Subscription in. 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. Defaults to `false`. 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 namespace. 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" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic to create this Subscription in. Changing this forces a new resource to be created.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/subscription:Subscription" } ] }, "azure:servicebus/subscriptionRule:SubscriptionRule": { "description": "Manages a ServiceBus Subscription Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### SQL Filter)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"exampleSubscription\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n subscriptionName: exampleSubscription.name,\n filterType: \"SqlFilter\",\n sqlFilter: \"colour = 'red'\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"exampleSubscription\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n subscription_name=example_subscription.name,\n filter_type=\"SqlFilter\",\n sql_filter=\"colour = 'red'\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleSubscription = new Azure.ServiceBus.Subscription(\"exampleSubscription\", new Azure.ServiceBus.SubscriptionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n MaxDeliveryCount = 1,\n });\n var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"exampleSubscriptionRule\", new Azure.ServiceBus.SubscriptionRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n SubscriptionName = exampleSubscription.Name,\n FilterType = \"SqlFilter\",\n SqlFilter = \"colour = 'red'\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"exampleSubscription\", \u0026servicebus.SubscriptionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\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, \"exampleSubscriptionRule\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tSubscriptionName: exampleSubscription.Name,\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\n{{% /example %}}\n{{% example %}}\n### Correlation Filter)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleSubscription = new azure.servicebus.Subscription(\"exampleSubscription\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n maxDeliveryCount: 1,\n});\nconst exampleSubscriptionRule = new azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n subscriptionName: exampleSubscription.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_subscription = azure.servicebus.Subscription(\"exampleSubscription\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n max_delivery_count=1)\nexample_subscription_rule = azure.servicebus.SubscriptionRule(\"exampleSubscriptionRule\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n subscription_name=example_subscription.name,\n filter_type=\"CorrelationFilter\",\n correlation_filter=azure.servicebus.SubscriptionRuleCorrelationFilterArgs(\n correlation_id=\"high\",\n label=\"red\",\n properties={\n \"customProperty\": \"value\",\n },\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleSubscription = new Azure.ServiceBus.Subscription(\"exampleSubscription\", new Azure.ServiceBus.SubscriptionArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n MaxDeliveryCount = 1,\n });\n var exampleSubscriptionRule = new Azure.ServiceBus.SubscriptionRule(\"exampleSubscriptionRule\", new Azure.ServiceBus.SubscriptionRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n SubscriptionName = exampleSubscription.Name,\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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscription, err := servicebus.NewSubscription(ctx, \"exampleSubscription\", \u0026servicebus.SubscriptionArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\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, \"exampleSubscriptionRule\", \u0026servicebus.SubscriptionRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tSubscriptionName: exampleSubscription.Name,\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{{% /example %}}\n{{% /examples %}}", "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 `correlation_filter` block as documented below to be evaluated against a BrokeredMessage. Required when `filter_type` 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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in the ServiceBus Namespace exists. 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 `filter_type` is set to `SqlFilter`.\n" }, "subscriptionName": { "type": "string", "description": "The name of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.\n" } }, "required": [ "filterType", "name", "namespaceName", "resourceGroupName", "subscriptionName", "topicName" ], "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 `correlation_filter` block as documented below to be evaluated against a BrokeredMessage. Required when `filter_type` 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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in the ServiceBus Namespace exists. 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 `filter_type` is set to `SqlFilter`.\n" }, "subscriptionName": { "type": "string", "description": "The name of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "filterType", "namespaceName", "resourceGroupName", "subscriptionName", "topicName" ], "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 `correlation_filter` block as documented below to be evaluated against a BrokeredMessage. Required when `filter_type` 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" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace in which the ServiceBus Topic exists. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in the ServiceBus Namespace exists. 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 `filter_type` is set to `SqlFilter`.\n" }, "subscriptionName": { "type": "string", "description": "The name of the ServiceBus Subscription in which this Rule should be created. Changing this forces a new resource to be created.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic in which the ServiceBus Subscription exists. Changing this forces a new resource to be created.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/subscriptionRule:SubscriptionRule" } ] }, "azure:servicebus/topic:Topic": { "description": "Manages a ServiceBus Topic.\n\n**Note** Topics can only be created in Namespaces with an SKU of `standard` or higher.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: 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{{% /example %}}\n{{% /examples %}}", "properties": { "autoDeleteOnIdle": { "type": "string", "description": "The ISO 8601 timespan duration of the idle interval after which the\nTopic is automatically deleted, minimum of 5 minutes.\n" }, "defaultMessageTtl": { "type": "string", "description": "The ISO 8601 timespan duration of TTL of messages sent to this topic if no\nTTL value is set on the message itself.\n" }, "duplicateDetectionHistoryTimeWindow": { "type": "string", "description": "The ISO 8601 timespan duration during which\nduplicates can be detected. Defaults to 10 minutes. (`PT10M`)\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls if server-side\nbatched operations are enabled. Defaults to false.\n" }, "enableExpress": { "type": "boolean", "description": "Boolean flag which controls whether Express Entities\nare enabled. An express topic holds a message in memory temporarily before writing\nit to persistent storage. Defaults to false.\n" }, "enablePartitioning": { "type": "boolean", "description": "Boolean flag which controls whether to enable\nthe topic to be partitioned across multiple message brokers. Defaults to false.\nChanging this forces a new resource to be created.\n" }, "maxSizeInMegabytes": { "type": "integer", "description": "Integer value which controls the size of\nmemory allocated for the topic. For supported values see the \"Queue/topic size\"\nsection of [this document](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas).\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Topic resource. Changing this forces a\nnew resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create\nthis topic in. Changing this forces a new resource to be created.\n" }, "requiresDuplicateDetection": { "type": "boolean", "description": "Boolean flag which controls whether\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace. Changing this forces a new resource to be created.\n" }, "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\nsupports ordering. Defaults to false.\n" } }, "required": [ "autoDeleteOnIdle", "defaultMessageTtl", "duplicateDetectionHistoryTimeWindow", "maxSizeInMegabytes", "name", "namespaceName", "resourceGroupName" ], "inputProperties": { "autoDeleteOnIdle": { "type": "string", "description": "The ISO 8601 timespan duration of the idle interval after which the\nTopic is automatically deleted, minimum of 5 minutes.\n" }, "defaultMessageTtl": { "type": "string", "description": "The ISO 8601 timespan duration of TTL of messages sent to this topic if no\nTTL value is set on the message itself.\n" }, "duplicateDetectionHistoryTimeWindow": { "type": "string", "description": "The ISO 8601 timespan duration during which\nduplicates can be detected. Defaults to 10 minutes. (`PT10M`)\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls if server-side\nbatched operations are enabled. Defaults to false.\n" }, "enableExpress": { "type": "boolean", "description": "Boolean flag which controls whether Express Entities\nare enabled. An express topic holds a message in memory temporarily before writing\nit to persistent storage. Defaults to false.\n" }, "enablePartitioning": { "type": "boolean", "description": "Boolean flag which controls whether to enable\nthe topic to be partitioned across multiple message brokers. Defaults to false.\nChanging this forces a new resource to be created.\n" }, "maxSizeInMegabytes": { "type": "integer", "description": "Integer value which controls the size of\nmemory allocated for the topic. For supported values see the \"Queue/topic size\"\nsection of [this document](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas).\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Topic resource. Changing this forces a\nnew resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create\nthis topic in. Changing this forces a new resource to be created.\n" }, "requiresDuplicateDetection": { "type": "boolean", "description": "Boolean flag which controls whether\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace. Changing this forces a new resource to be created.\n" }, "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\nsupports ordering. Defaults to false.\n" } }, "requiredInputs": [ "namespaceName", "resourceGroupName" ], "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\nTopic is automatically deleted, minimum of 5 minutes.\n" }, "defaultMessageTtl": { "type": "string", "description": "The ISO 8601 timespan duration of TTL of messages sent to this topic if no\nTTL value is set on the message itself.\n" }, "duplicateDetectionHistoryTimeWindow": { "type": "string", "description": "The ISO 8601 timespan duration during which\nduplicates can be detected. Defaults to 10 minutes. (`PT10M`)\n" }, "enableBatchedOperations": { "type": "boolean", "description": "Boolean flag which controls if server-side\nbatched operations are enabled. Defaults to false.\n" }, "enableExpress": { "type": "boolean", "description": "Boolean flag which controls whether Express Entities\nare enabled. An express topic holds a message in memory temporarily before writing\nit to persistent storage. Defaults to false.\n" }, "enablePartitioning": { "type": "boolean", "description": "Boolean flag which controls whether to enable\nthe topic to be partitioned across multiple message brokers. Defaults to false.\nChanging this forces a new resource to be created.\n" }, "maxSizeInMegabytes": { "type": "integer", "description": "Integer value which controls the size of\nmemory allocated for the topic. For supported values see the \"Queue/topic size\"\nsection of [this document](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas).\n" }, "name": { "type": "string", "description": "Specifies the name of the ServiceBus Topic resource. Changing this forces a\nnew resource to be created.\n" }, "namespaceName": { "type": "string", "description": "The name of the ServiceBus Namespace to create\nthis topic in. Changing this forces a new resource to be created.\n" }, "requiresDuplicateDetection": { "type": "boolean", "description": "Boolean flag which controls whether\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the namespace. Changing this forces a new resource to be created.\n" }, "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\nsupports ordering. Defaults to false.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: \"Standard\",\n tags: {\n source: \"example\",\n },\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.name,\n namespaceName: exampleNamespace.name,\n});\nconst exampleTopicAuthorizationRule = new azure.servicebus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", {\n namespaceName: exampleNamespace.name,\n topicName: exampleTopic.name,\n resourceGroupName: exampleResourceGroup.name,\n listen: true,\n send: false,\n manage: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\",\n tags={\n \"source\": \"example\",\n })\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name)\nexample_topic_authorization_rule = azure.servicebus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\",\n namespace_name=example_namespace.name,\n topic_name=example_topic.name,\n resource_group_name=example_resource_group.name,\n listen=True,\n send=False,\n manage=False)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = \"Standard\",\n Tags = \n {\n { \"source\", \"example\" },\n },\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n NamespaceName = exampleNamespace.Name,\n });\n var exampleTopicAuthorizationRule = new Azure.ServiceBus.TopicAuthorizationRule(\"exampleTopicAuthorizationRule\", new Azure.ServiceBus.TopicAuthorizationRuleArgs\n {\n NamespaceName = exampleNamespace.Name,\n TopicName = exampleTopic.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Listen = true,\n Send = false,\n Manage = false,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicebus.NewTopicAuthorizationRule(ctx, \"exampleTopicAuthorizationRule\", \u0026servicebus.TopicAuthorizationRuleArgs{\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. 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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Topic authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Topic authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Topic authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" }, "topicName": { "type": "string", "description": "Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "topicName" ], "inputProperties": { "listen": { "type": "boolean", "description": "Grants listen access to this this Authorization Rule. Defaults to `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" }, "topicName": { "type": "string", "description": "Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "namespaceName", "resourceGroupName", "topicName" ], "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 `false`.\n" }, "manage": { "type": "boolean", "description": "Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.\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" }, "namespaceName": { "type": "string", "description": "Specifies the name of the ServiceBus Namespace. 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" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Topic authorization Rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.\n" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Topic authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Topic authorization Rule.\n" }, "send": { "type": "boolean", "description": "Grants send access to this this Authorization Rule. Defaults to `false`.\n" }, "topicName": { "type": "string", "description": "Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.\n" } }, "type": "object" }, "aliases": [ { "type": "azure:eventhub/topicAuthorizationRule:TopicAuthorizationRule" } ] }, "azure:servicefabric/cluster:Cluster": { "description": "Manages a Service Fabric Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleCluster = new azure.servicefabric.Cluster(\"exampleCluster\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_cluster = azure.servicefabric.Cluster(\"exampleCluster\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.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=[azure.servicefabric.ClusterNodeTypeArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleCluster = new Azure.ServiceFabric.Cluster(\"exampleCluster\", new Azure.ServiceFabric.ClusterArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ReliabilityLevel = \"Bronze\",\n UpgradeMode = \"Manual\",\n ClusterCodeVersion = \"7.1.456.959\",\n VmImage = \"Windows\",\n ManagementEndpoint = \"https://example:80\",\n NodeTypes = \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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicefabric\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleCluster\", \u0026servicefabric.ClusterArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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 `azure_active_directory` block as defined below.\n" }, "certificate": { "$ref": "#/types/azure:servicefabric/ClusterCertificate:ClusterCertificate", "description": "A `certificate` block as defined below. Conflicts with `certificate_common_names`.\n" }, "certificateCommonNames": { "$ref": "#/types/azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames", "description": "A `certificate_common_names` block as defined below. Conflicts with `certificate`.\n" }, "clientCertificateCommonNames": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName" }, "description": "A `client_certificate_common_name` block as defined below.\n" }, "clientCertificateThumbprints": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint" }, "description": "One or more `client_certificate_thumbprint` 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 `diagnostics_config` block as defined below. Changing this forces a new resource to be created.\n" }, "fabricSettings": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting" }, "description": "One or more `fabric_settings` 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 `node_type` 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" }, "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 `reverse_proxy_certificate` block as defined below.\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" }, "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" } }, "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 `azure_active_directory` block as defined below.\n" }, "certificate": { "$ref": "#/types/azure:servicefabric/ClusterCertificate:ClusterCertificate", "description": "A `certificate` block as defined below. Conflicts with `certificate_common_names`.\n" }, "certificateCommonNames": { "$ref": "#/types/azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames", "description": "A `certificate_common_names` block as defined below. Conflicts with `certificate`.\n" }, "clientCertificateCommonNames": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName" }, "description": "A `client_certificate_common_name` block as defined below.\n" }, "clientCertificateThumbprints": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint" }, "description": "One or more `client_certificate_thumbprint` 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 `diagnostics_config` block as defined below. Changing this forces a new resource to be created.\n" }, "fabricSettings": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting" }, "description": "One or more `fabric_settings` 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 `node_type` 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" }, "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 `reverse_proxy_certificate` block as defined below.\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" }, "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" } }, "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 `azure_active_directory` block as defined below.\n" }, "certificate": { "$ref": "#/types/azure:servicefabric/ClusterCertificate:ClusterCertificate", "description": "A `certificate` block as defined below. Conflicts with `certificate_common_names`.\n" }, "certificateCommonNames": { "$ref": "#/types/azure:servicefabric/ClusterCertificateCommonNames:ClusterCertificateCommonNames", "description": "A `certificate_common_names` block as defined below. Conflicts with `certificate`.\n" }, "clientCertificateCommonNames": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterClientCertificateCommonName:ClusterClientCertificateCommonName" }, "description": "A `client_certificate_common_name` block as defined below.\n" }, "clientCertificateThumbprints": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterClientCertificateThumbprint:ClusterClientCertificateThumbprint" }, "description": "One or more `client_certificate_thumbprint` 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 `diagnostics_config` block as defined below. Changing this forces a new resource to be created.\n" }, "fabricSettings": { "type": "array", "items": { "$ref": "#/types/azure:servicefabric/ClusterFabricSetting:ClusterFabricSetting" }, "description": "One or more `fabric_settings` 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 `node_type` 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" }, "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 `reverse_proxy_certificate` block as defined below.\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" }, "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" } }, "type": "object" } }, "azure:signalr/service:Service": { "description": "Manages an Azure SignalR service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleService = new azure.signalr.Service(\"exampleService\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n sku: {\n name: \"Free_F1\",\n capacity: 1,\n },\n cors: [{\n allowedOrigins: [\"http://www.example.com\"],\n }],\n features: [{\n flag: \"ServiceMode\",\n value: \"Default\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_service = azure.signalr.Service(\"exampleService\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=azure.signalr.ServiceSkuArgs(\n name=\"Free_F1\",\n capacity=1,\n ),\n cors=[azure.signalr.ServiceCorArgs(\n allowed_origins=[\"http://www.example.com\"],\n )],\n features=[azure.signalr.ServiceFeatureArgs(\n flag=\"ServiceMode\",\n value=\"Default\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleService = new Azure.SignalR.Service(\"exampleService\", new Azure.SignalR.ServiceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n Sku = new Azure.SignalR.Inputs.ServiceSkuArgs\n {\n Name = \"Free_F1\",\n Capacity = 1,\n },\n Cors = \n {\n new Azure.SignalR.Inputs.ServiceCorArgs\n {\n AllowedOrigins = \n {\n \"http://www.example.com\",\n },\n },\n },\n Features = \n {\n new Azure.SignalR.Inputs.ServiceFeatureArgs\n {\n Flag = \"ServiceMode\",\n Value = \"Default\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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, \"exampleService\", \u0026signalr.ServiceArgs{\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tResourceGroupName: exampleResourceGroup.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\tFeatures: signalr.ServiceFeatureArray{\n\t\t\t\t\u0026signalr.ServiceFeatureArgs{\n\t\t\t\t\tFlag: pulumi.String(\"ServiceMode\"),\n\t\t\t\t\tValue: pulumi.String(\"Default\"),\n\t\t\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{{% /example %}}\n{{% /examples %}}", "properties": { "cors": { "type": "array", "items": { "$ref": "#/types/azure:signalr/ServiceCor:ServiceCor" }, "description": "A `cors` block as documented below.\n" }, "features": { "type": "array", "items": { "$ref": "#/types/azure:signalr/ServiceFeature:ServiceFeature" }, "description": "A `features` block as documented below.\n" }, "hostname": { "type": "string", "description": "The FQDN of the SignalR service.\n" }, "ipAddress": { "type": "string", "description": "The publicly accessible IP of the SignalR service.\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" }, "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" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string for the SignalR service.\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" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string for the SignalR service.\n" }, "serverPort": { "type": "integer", "description": "The publicly accessible port of the SignalR service which is designed for customer server side use.\n" }, "sku": { "$ref": "#/types/azure:signalr/ServiceSku:ServiceSku", "description": "A `sku` block as documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "cors", "features", "hostname", "ipAddress", "location", "name", "primaryAccessKey", "primaryConnectionString", "publicPort", "resourceGroupName", "secondaryAccessKey", "secondaryConnectionString", "serverPort", "sku" ], "inputProperties": { "cors": { "type": "array", "items": { "$ref": "#/types/azure:signalr/ServiceCor:ServiceCor" }, "description": "A `cors` block as documented below.\n" }, "features": { "type": "array", "items": { "$ref": "#/types/azure:signalr/ServiceFeature:ServiceFeature" }, "description": "A `features` block as documented below.\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" }, "name": { "type": "string", "description": "The name of the SignalR service. 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 SignalR service. Changing this forces a new resource to be created.\n" }, "sku": { "$ref": "#/types/azure:signalr/ServiceSku:ServiceSku", "description": "A `sku` block 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 Service resources.\n", "properties": { "cors": { "type": "array", "items": { "$ref": "#/types/azure:signalr/ServiceCor:ServiceCor" }, "description": "A `cors` block as documented below.\n" }, "features": { "type": "array", "items": { "$ref": "#/types/azure:signalr/ServiceFeature:ServiceFeature" }, "description": "A `features` block as documented below.\n" }, "hostname": { "type": "string", "description": "The FQDN of the SignalR service.\n" }, "ipAddress": { "type": "string", "description": "The publicly accessible IP of the SignalR service.\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" }, "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" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string for the SignalR service.\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" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string for the SignalR service.\n" }, "serverPort": { "type": "integer", "description": "The publicly accessible port of the SignalR service which is designed for customer server side use.\n" }, "sku": { "$ref": "#/types/azure:signalr/ServiceSku:ServiceSku", "description": "A `sku` block as documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {location: \"West US\"});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {location: \"East US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: secondary.location,\n resourceGroupName: secondary.name,\n sku: \"Standard\",\n});\nconst fabric = new azure.siterecovery.Fabric(\"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\", location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\", location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=secondary.location,\n resource_group_name=secondary.name,\n sku=\"Standard\")\nfabric = azure.siterecovery.Fabric(\"fabric\",\n resource_group_name=secondary.name,\n recovery_vault_name=vault.name,\n location=primary.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = new Azure.Core.ResourceGroup(\"primary\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var secondary = new Azure.Core.ResourceGroup(\"secondary\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = secondary.Location,\n ResourceGroupName = secondary.Name,\n Sku = \"Standard\",\n });\n var fabric = new Azure.SiteRecovery.Fabric(\"fabric\", new Azure.SiteRecovery.FabricArgs\n {\n ResourceGroupName = secondary.Name,\n RecoveryVaultName = vault.Name,\n Location = primary.Location,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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\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\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\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{{% /example %}}\n{{% /examples %}}", "properties": { "location": { "type": "string", "description": "In what region should the fabric be located.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "required": [ "location", "name", "recoveryVaultName", "resourceGroupName" ], "inputProperties": { "location": { "type": "string", "description": "In what region should the fabric be located.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "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.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "type": "object" } }, "azure:siterecovery/networkMapping:NetworkMapping": { "description": "Manages a site recovery network mapping on Azure. A network mapping decides how to translate connected netwroks when a VM is migrated from one region to another.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primaryResourceGroup = new azure.core.ResourceGroup(\"primaryResourceGroup\", {location: \"West US\"});\nconst secondaryResourceGroup = new azure.core.ResourceGroup(\"secondaryResourceGroup\", {location: \"East US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: secondaryResourceGroup.location,\n resourceGroupName: secondaryResourceGroup.name,\n sku: \"Standard\",\n});\nconst primaryFabric = new azure.siterecovery.Fabric(\"primaryFabric\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n location: primaryResourceGroup.location,\n});\nconst secondaryFabric = new azure.siterecovery.Fabric(\"secondaryFabric\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n location: secondaryResourceGroup.location,\n}, {\n dependsOn: [primaryFabric],\n});\n// Avoids issues with crearing fabrics simultainusly\nconst primaryVirtualNetwork = new azure.network.VirtualNetwork(\"primaryVirtualNetwork\", {\n resourceGroupName: primaryResourceGroup.name,\n addressSpaces: [\"192.168.1.0/24\"],\n location: primaryResourceGroup.location,\n});\nconst secondaryVirtualNetwork = new azure.network.VirtualNetwork(\"secondaryVirtualNetwork\", {\n resourceGroupName: secondaryResourceGroup.name,\n addressSpaces: [\"192.168.2.0/24\"],\n location: secondaryResourceGroup.location,\n});\nconst recovery_mapping = new azure.siterecovery.NetworkMapping(\"recovery-mapping\", {\n resourceGroupName: secondaryResourceGroup.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_resource_group = azure.core.ResourceGroup(\"primaryResourceGroup\", location=\"West US\")\nsecondary_resource_group = azure.core.ResourceGroup(\"secondaryResourceGroup\", location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=secondary_resource_group.location,\n resource_group_name=secondary_resource_group.name,\n sku=\"Standard\")\nprimary_fabric = azure.siterecovery.Fabric(\"primaryFabric\",\n resource_group_name=secondary_resource_group.name,\n recovery_vault_name=vault.name,\n location=primary_resource_group.location)\nsecondary_fabric = azure.siterecovery.Fabric(\"secondaryFabric\",\n resource_group_name=secondary_resource_group.name,\n recovery_vault_name=vault.name,\n location=secondary_resource_group.location,\n opts=ResourceOptions(depends_on=[primary_fabric]))\n# Avoids issues with crearing fabrics simultainusly\nprimary_virtual_network = azure.network.VirtualNetwork(\"primaryVirtualNetwork\",\n resource_group_name=primary_resource_group.name,\n address_spaces=[\"192.168.1.0/24\"],\n location=primary_resource_group.location)\nsecondary_virtual_network = azure.network.VirtualNetwork(\"secondaryVirtualNetwork\",\n resource_group_name=secondary_resource_group.name,\n address_spaces=[\"192.168.2.0/24\"],\n location=secondary_resource_group.location)\nrecovery_mapping = azure.siterecovery.NetworkMapping(\"recovery-mapping\",\n resource_group_name=secondary_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primaryResourceGroup = new Azure.Core.ResourceGroup(\"primaryResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var secondaryResourceGroup = new Azure.Core.ResourceGroup(\"secondaryResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = secondaryResourceGroup.Location,\n ResourceGroupName = secondaryResourceGroup.Name,\n Sku = \"Standard\",\n });\n var primaryFabric = new Azure.SiteRecovery.Fabric(\"primaryFabric\", new Azure.SiteRecovery.FabricArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n Location = primaryResourceGroup.Location,\n });\n var secondaryFabric = new Azure.SiteRecovery.Fabric(\"secondaryFabric\", new Azure.SiteRecovery.FabricArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n Location = secondaryResourceGroup.Location,\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n primaryFabric,\n },\n });\n // Avoids issues with crearing fabrics simultainusly\n var primaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"primaryVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = primaryResourceGroup.Name,\n AddressSpaces = \n {\n \"192.168.1.0/24\",\n },\n Location = primaryResourceGroup.Location,\n });\n var secondaryVirtualNetwork = new Azure.Network.VirtualNetwork(\"secondaryVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n AddressSpaces = \n {\n \"192.168.2.0/24\",\n },\n Location = secondaryResourceGroup.Location,\n });\n var recovery_mapping = new Azure.SiteRecovery.NetworkMapping(\"recovery-mapping\", new Azure.SiteRecovery.NetworkMappingArgs\n {\n ResourceGroupName = secondaryResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimaryResourceGroup, err := core.NewResourceGroup(ctx, \"primaryResourceGroup\", \u0026core.ResourceGroupArgs{\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\tsecondaryResourceGroup, err := core.NewResourceGroup(ctx, \"secondaryResourceGroup\", \u0026core.ResourceGroupArgs{\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\tLocation: secondaryResourceGroup.Location,\n\t\t\tResourceGroupName: secondaryResourceGroup.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, \"primaryFabric\", \u0026siterecovery.FabricArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation: primaryResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = siterecovery.NewFabric(ctx, \"secondaryFabric\", \u0026siterecovery.FabricArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation: secondaryResourceGroup.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, \"primaryVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tResourceGroupName: primaryResourceGroup.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: primaryResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"secondaryVirtualNetwork\", \u0026network.VirtualNetworkArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.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: secondaryResourceGroup.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\tResourceGroupName: secondaryResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" }, "sourceNetworkId": { "type": "string", "description": "The id of the primary network.\n" }, "sourceRecoveryFabricName": { "type": "string", "description": "Specifies the ASR fabric where mapping should be created.\n" }, "targetNetworkId": { "type": "string", "description": "The id of the recovery network.\n" }, "targetRecoveryFabricName": { "type": "string", "description": "The Azure Site Recovery fabric object corresponding to the recovery Azure region.\n" } }, "required": [ "name", "recoveryVaultName", "resourceGroupName", "sourceNetworkId", "sourceRecoveryFabricName", "targetNetworkId", "targetRecoveryFabricName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" }, "sourceNetworkId": { "type": "string", "description": "The id of the primary network.\n" }, "sourceRecoveryFabricName": { "type": "string", "description": "Specifies the ASR fabric where mapping should be created.\n" }, "targetNetworkId": { "type": "string", "description": "The id of the recovery network.\n" }, "targetRecoveryFabricName": { "type": "string", "description": "The Azure Site Recovery fabric object corresponding to the recovery Azure region.\n" } }, "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.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" }, "sourceNetworkId": { "type": "string", "description": "The id of the primary network.\n" }, "sourceRecoveryFabricName": { "type": "string", "description": "Specifies the ASR fabric where mapping should be created.\n" }, "targetNetworkId": { "type": "string", "description": "The id of the recovery network.\n" }, "targetRecoveryFabricName": { "type": "string", "description": "The Azure Site Recovery fabric object corresponding to the recovery Azure region.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primary = new azure.core.ResourceGroup(\"primary\", {location: \"West US\"});\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {location: \"East US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: secondary.location,\n resourceGroupName: secondary.name,\n sku: \"Standard\",\n});\nconst fabric = new azure.siterecovery.Fabric(\"fabric\", {\n resourceGroupName: secondary.name,\n recoveryVaultName: vault.name,\n location: primary.location,\n});\nconst protection_container = new azure.siterecovery.ProtectionContainer(\"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\", location=\"West US\")\nsecondary = azure.core.ResourceGroup(\"secondary\", location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=secondary.location,\n resource_group_name=secondary.name,\n sku=\"Standard\")\nfabric = azure.siterecovery.Fabric(\"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 resource_group_name=secondary.name,\n recovery_vault_name=vault.name,\n recovery_fabric_name=fabric.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primary = new Azure.Core.ResourceGroup(\"primary\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var secondary = new Azure.Core.ResourceGroup(\"secondary\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = secondary.Location,\n ResourceGroupName = secondary.Name,\n Sku = \"Standard\",\n });\n var fabric = new Azure.SiteRecovery.Fabric(\"fabric\", new Azure.SiteRecovery.FabricArgs\n {\n ResourceGroupName = secondary.Name,\n RecoveryVaultName = vault.Name,\n Location = primary.Location,\n });\n var protection_container = new Azure.SiteRecovery.ProtectionContainer(\"protection-container\", new Azure.SiteRecovery.ProtectionContainerArgs\n {\n ResourceGroupName = secondary.Name,\n RecoveryVaultName = vault.Name,\n RecoveryFabricName = fabric.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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\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\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\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\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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryFabricName": { "type": "string", "description": "Name of fabric that should contain this protection container.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "required": [ "name", "recoveryFabricName", "recoveryVaultName", "resourceGroupName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryFabricName": { "type": "string", "description": "Name of fabric that should contain this protection container.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "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 network mapping.\n" }, "recoveryFabricName": { "type": "string", "description": "Name of fabric that should contain this protection container.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst primaryResourceGroup = new azure.core.ResourceGroup(\"primaryResourceGroup\", {location: \"West US\"});\nconst secondaryResourceGroup = new azure.core.ResourceGroup(\"secondaryResourceGroup\", {location: \"East US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: secondaryResourceGroup.location,\n resourceGroupName: secondaryResourceGroup.name,\n sku: \"Standard\",\n});\nconst primaryFabric = new azure.siterecovery.Fabric(\"primaryFabric\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n location: primaryResourceGroup.location,\n});\nconst secondaryFabric = new azure.siterecovery.Fabric(\"secondaryFabric\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n location: secondaryResourceGroup.location,\n});\nconst primaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"primaryProtectionContainer\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n recoveryFabricName: primaryFabric.name,\n});\nconst secondaryProtectionContainer = new azure.siterecovery.ProtectionContainer(\"secondaryProtectionContainer\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n recoveryFabricName: secondaryFabric.name,\n});\nconst policy = new azure.siterecovery.ReplicationPolicy(\"policy\", {\n resourceGroupName: secondaryResourceGroup.name,\n recoveryVaultName: vault.name,\n recoveryPointRetentionInMinutes: 24 * 60,\n applicationConsistentSnapshotFrequencyInMinutes: 4 * 60,\n});\nconst container_mapping = new azure.siterecovery.ProtectionContainerMapping(\"container-mapping\", {\n resourceGroupName: secondaryResourceGroup.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_resource_group = azure.core.ResourceGroup(\"primaryResourceGroup\", location=\"West US\")\nsecondary_resource_group = azure.core.ResourceGroup(\"secondaryResourceGroup\", location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=secondary_resource_group.location,\n resource_group_name=secondary_resource_group.name,\n sku=\"Standard\")\nprimary_fabric = azure.siterecovery.Fabric(\"primaryFabric\",\n resource_group_name=secondary_resource_group.name,\n recovery_vault_name=vault.name,\n location=primary_resource_group.location)\nsecondary_fabric = azure.siterecovery.Fabric(\"secondaryFabric\",\n resource_group_name=secondary_resource_group.name,\n recovery_vault_name=vault.name,\n location=secondary_resource_group.location)\nprimary_protection_container = azure.siterecovery.ProtectionContainer(\"primaryProtectionContainer\",\n resource_group_name=secondary_resource_group.name,\n recovery_vault_name=vault.name,\n recovery_fabric_name=primary_fabric.name)\nsecondary_protection_container = azure.siterecovery.ProtectionContainer(\"secondaryProtectionContainer\",\n resource_group_name=secondary_resource_group.name,\n recovery_vault_name=vault.name,\n recovery_fabric_name=secondary_fabric.name)\npolicy = azure.siterecovery.ReplicationPolicy(\"policy\",\n resource_group_name=secondary_resource_group.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 resource_group_name=secondary_resource_group.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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var primaryResourceGroup = new Azure.Core.ResourceGroup(\"primaryResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var secondaryResourceGroup = new Azure.Core.ResourceGroup(\"secondaryResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = secondaryResourceGroup.Location,\n ResourceGroupName = secondaryResourceGroup.Name,\n Sku = \"Standard\",\n });\n var primaryFabric = new Azure.SiteRecovery.Fabric(\"primaryFabric\", new Azure.SiteRecovery.FabricArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n Location = primaryResourceGroup.Location,\n });\n var secondaryFabric = new Azure.SiteRecovery.Fabric(\"secondaryFabric\", new Azure.SiteRecovery.FabricArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n Location = secondaryResourceGroup.Location,\n });\n var primaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"primaryProtectionContainer\", new Azure.SiteRecovery.ProtectionContainerArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n RecoveryFabricName = primaryFabric.Name,\n });\n var secondaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer(\"secondaryProtectionContainer\", new Azure.SiteRecovery.ProtectionContainerArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n RecoveryFabricName = secondaryFabric.Name,\n });\n var policy = new Azure.SiteRecovery.ReplicationPolicy(\"policy\", new Azure.SiteRecovery.ReplicationPolicyArgs\n {\n ResourceGroupName = secondaryResourceGroup.Name,\n RecoveryVaultName = vault.Name,\n RecoveryPointRetentionInMinutes = 24 * 60,\n ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,\n });\n var container_mapping = new Azure.SiteRecovery.ProtectionContainerMapping(\"container-mapping\", new Azure.SiteRecovery.ProtectionContainerMappingArgs\n {\n ResourceGroupName = secondaryResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprimaryResourceGroup, err := core.NewResourceGroup(ctx, \"primaryResourceGroup\", \u0026core.ResourceGroupArgs{\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\tsecondaryResourceGroup, err := core.NewResourceGroup(ctx, \"secondaryResourceGroup\", \u0026core.ResourceGroupArgs{\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\tLocation: secondaryResourceGroup.Location,\n\t\t\tResourceGroupName: secondaryResourceGroup.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, \"primaryFabric\", \u0026siterecovery.FabricArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation: primaryResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondaryFabric, err := siterecovery.NewFabric(ctx, \"secondaryFabric\", \u0026siterecovery.FabricArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tLocation: secondaryResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, \"primaryProtectionContainer\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.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, \"secondaryProtectionContainer\", \u0026siterecovery.ProtectionContainerArgs{\n\t\t\tResourceGroupName: secondaryResourceGroup.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\tResourceGroupName: secondaryResourceGroup.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tRecoveryPointRetentionInMinutes: pulumi.Int(24 * 60),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: pulumi.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\tResourceGroupName: secondaryResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryFabricName": { "type": "string", "description": "Name of fabric that should contains the protection container to map.\n" }, "recoveryReplicationPolicyId": { "type": "string", "description": "Id of the policy to use for this mapping.\n" }, "recoverySourceProtectionContainerName": { "type": "string", "description": "Name of the source protection container to map.\n" }, "recoveryTargetProtectionContainerId": { "type": "string", "description": "Id of target protection container to map to.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "required": [ "name", "recoveryFabricName", "recoveryReplicationPolicyId", "recoverySourceProtectionContainerName", "recoveryTargetProtectionContainerId", "recoveryVaultName", "resourceGroupName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryFabricName": { "type": "string", "description": "Name of fabric that should contains the protection container to map.\n" }, "recoveryReplicationPolicyId": { "type": "string", "description": "Id of the policy to use for this mapping.\n" }, "recoverySourceProtectionContainerName": { "type": "string", "description": "Name of the source protection container to map.\n" }, "recoveryTargetProtectionContainerId": { "type": "string", "description": "Id of target protection container to map to.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "requiredInputs": [ "recoveryFabricName", "recoveryReplicationPolicyId", "recoverySourceProtectionContainerName", "recoveryTargetProtectionContainerId", "recoveryVaultName", "resourceGroupName" ], "stateInputs": { "description": "Input properties used for looking up and filtering ProtectionContainerMapping resources.\n", "properties": { "name": { "type": "string", "description": "The name of the network mapping.\n" }, "recoveryFabricName": { "type": "string", "description": "Name of fabric that should contains the protection container to map.\n" }, "recoveryReplicationPolicyId": { "type": "string", "description": "Id of the policy to use for this mapping.\n" }, "recoverySourceProtectionContainerName": { "type": "string", "description": "Name of the source protection container to map.\n" }, "recoveryTargetProtectionContainerId": { "type": "string", "description": "Id of target protection container to map to.\n" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "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", "properties": { "managedDisks": { "type": "array", "items": { "$ref": "#/types/azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk" }, "description": "One or more `managed_disk` block.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\n" }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface" }, "description": "One or more `network_interface` block.\n" }, "recoveryReplicationPolicyId": { "type": "string" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" }, "sourceRecoveryFabricName": { "type": "string", "description": "Name of fabric that should contains this replication.\n" }, "sourceRecoveryProtectionContainerName": { "type": "string", "description": "Name of the protection container to use.\n" }, "sourceVmId": { "type": "string", "description": "Id of the VM to replicate\n" }, "targetAvailabilitySetId": { "type": "string", "description": "Id of availability set that the new VM should belong to when a failover is done.\n" }, "targetNetworkId": { "type": "string", "description": "Network to use when a failover is done (recommended to set if any network_interface is configured for failover).\n" }, "targetRecoveryFabricId": { "type": "string", "description": "Id of fabric where the VM replication should be handled when a failover is done.\n" }, "targetRecoveryProtectionContainerId": { "type": "string", "description": "Id of protection container where the VM replication should be created when a failover is done.\n" }, "targetResourceGroupId": { "type": "string", "description": "Id of resource group where the VM should be created when a failover is done.\n" } }, "required": [ "name", "networkInterfaces", "recoveryReplicationPolicyId", "recoveryVaultName", "resourceGroupName", "sourceRecoveryFabricName", "sourceRecoveryProtectionContainerName", "sourceVmId", "targetNetworkId", "targetRecoveryFabricId", "targetRecoveryProtectionContainerId", "targetResourceGroupId" ], "inputProperties": { "managedDisks": { "type": "array", "items": { "$ref": "#/types/azure:siterecovery/ReplicatedVMManagedDisk:ReplicatedVMManagedDisk" }, "description": "One or more `managed_disk` block.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\n" }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface" }, "description": "One or more `network_interface` block.\n" }, "recoveryReplicationPolicyId": { "type": "string" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" }, "sourceRecoveryFabricName": { "type": "string", "description": "Name of fabric that should contains this replication.\n" }, "sourceRecoveryProtectionContainerName": { "type": "string", "description": "Name of the protection container to use.\n" }, "sourceVmId": { "type": "string", "description": "Id of the VM to replicate\n" }, "targetAvailabilitySetId": { "type": "string", "description": "Id of availability set that the new VM should belong to when a failover is done.\n" }, "targetNetworkId": { "type": "string", "description": "Network to use when a failover is done (recommended to set if any network_interface is configured for failover).\n" }, "targetRecoveryFabricId": { "type": "string", "description": "Id of fabric where the VM replication should be handled when a failover is done.\n" }, "targetRecoveryProtectionContainerId": { "type": "string", "description": "Id of protection container where the VM replication should be created when a failover is done.\n" }, "targetResourceGroupId": { "type": "string", "description": "Id of resource group where the VM should be created when a failover is done.\n" } }, "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 `managed_disk` block.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\n" }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/azure:siterecovery/ReplicatedVMNetworkInterface:ReplicatedVMNetworkInterface" }, "description": "One or more `network_interface` block.\n" }, "recoveryReplicationPolicyId": { "type": "string" }, "recoveryVaultName": { "type": "string", "description": "The name of the vault that should be updated.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" }, "sourceRecoveryFabricName": { "type": "string", "description": "Name of fabric that should contains this replication.\n" }, "sourceRecoveryProtectionContainerName": { "type": "string", "description": "Name of the protection container to use.\n" }, "sourceVmId": { "type": "string", "description": "Id of the VM to replicate\n" }, "targetAvailabilitySetId": { "type": "string", "description": "Id of availability set that the new VM should belong to when a failover is done.\n" }, "targetNetworkId": { "type": "string", "description": "Network to use when a failover is done (recommended to set if any network_interface is configured for failover).\n" }, "targetRecoveryFabricId": { "type": "string", "description": "Id of fabric where the VM replication should be handled when a failover is done.\n" }, "targetRecoveryProtectionContainerId": { "type": "string", "description": "Id of protection container where the VM replication should be created when a failover is done.\n" }, "targetResourceGroupId": { "type": "string", "description": "Id of resource group where the VM should be created when a failover is done.\n" } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst secondary = new azure.core.ResourceGroup(\"secondary\", {location: \"East US\"});\nconst vault = new azure.recoveryservices.Vault(\"vault\", {\n location: secondary.location,\n resourceGroupName: secondary.name,\n sku: \"Standard\",\n});\nconst policy = new azure.siterecovery.ReplicationPolicy(\"policy\", {\n resourceGroupName: secondary.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\nsecondary = azure.core.ResourceGroup(\"secondary\", location=\"East US\")\nvault = azure.recoveryservices.Vault(\"vault\",\n location=secondary.location,\n resource_group_name=secondary.name,\n sku=\"Standard\")\npolicy = azure.siterecovery.ReplicationPolicy(\"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)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var secondary = new Azure.Core.ResourceGroup(\"secondary\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"East US\",\n });\n var vault = new Azure.RecoveryServices.Vault(\"vault\", new Azure.RecoveryServices.VaultArgs\n {\n Location = secondary.Location,\n ResourceGroupName = secondary.Name,\n Sku = \"Standard\",\n });\n var policy = new Azure.SiteRecovery.ReplicationPolicy(\"policy\", new Azure.SiteRecovery.ReplicationPolicyArgs\n {\n ResourceGroupName = secondary.Name,\n RecoveryVaultName = vault.Name,\n RecoveryPointRetentionInMinutes = 24 * 60,\n ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsecondary, err := core.NewResourceGroup(ctx, \"secondary\", \u0026core.ResourceGroupArgs{\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\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.NewReplicationPolicy(ctx, \"policy\", \u0026siterecovery.ReplicationPolicyArgs{\n\t\t\tResourceGroupName: secondary.Name,\n\t\t\tRecoveryVaultName: vault.Name,\n\t\t\tRecoveryPointRetentionInMinutes: pulumi.Int(24 * 60),\n\t\t\tApplicationConsistentSnapshotFrequencyInMinutes: pulumi.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{{% /example %}}\n{{% /examples %}}", "properties": { "applicationConsistentSnapshotFrequencyInMinutes": { "type": "integer", "description": "Specifies the frequency(in minutes) at which to create application consistent recovery points.\n" }, "name": { "type": "string", "description": "The name of the network mapping.\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.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\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" }, "name": { "type": "string", "description": "The name of the network mapping.\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.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "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" }, "name": { "type": "string", "description": "The name of the network mapping.\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.\n" }, "resourceGroupName": { "type": "string", "description": "Name of the resource group where the vault that should be updated is located.\n" } }, "type": "object" } }, "azure:sql/activeDirectoryAdministrator:ActiveDirectoryAdministrator": { "description": "Allows you to set a user or group as the AD administrator for an Azure SQL server\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleActiveDirectoryAdministrator = new azure.sql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", {\n serverName: exampleSqlServer.name,\n resourceGroupName: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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_active_directory_administrator = azure.sql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\",\n server_name=example_sql_server.name,\n resource_group_name=example_resource_group.name,\n login=\"sqladmin\",\n tenant_id=current.tenant_id,\n object_id=current.object_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleActiveDirectoryAdministrator = new Azure.Sql.ActiveDirectoryAdministrator(\"exampleActiveDirectoryAdministrator\", new Azure.Sql.ActiveDirectoryAdministratorArgs\n {\n ServerName = exampleSqlServer.Name,\n ResourceGroupName = exampleResourceGroup.Name,\n Login = \"sqladmin\",\n TenantId = current.Apply(current =\u003e current.TenantId),\n ObjectId = current.Apply(current =\u003e current.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\t_, err = sql.NewActiveDirectoryAdministrator(ctx, \"exampleActiveDirectoryAdministrator\", \u0026sql.ActiveDirectoryAdministratorArgs{\n\t\t\tServerName: exampleSqlServer.Name,\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "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\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group for the 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 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\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group for the 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 set the administrator. Changing this forces a new resource to be created.\n" }, "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\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group for the 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 set the administrator. Changing this forces a new resource to be created.\n" }, "tenantId": { "type": "string", "description": "The Azure Tenant ID\n" } }, "type": "object" } }, "azure:sql/database:Database": { "description": "Allows you to manage an Azure SQL Database\n\n\u003e **NOTE:** The Database Extended Auditing Policy Can be set inline here as well as with the mssql_database_extended_auditing_policy resource resource. You can only use one or the other and using both will cause a conflict.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West US\",\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n tags: {\n environment: \"production\",\n },\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleDatabase = new azure.sql.Database(\"exampleDatabase\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West US\",\n serverName: exampleSqlServer.name,\n extendedAuditingPolicy: {\n storageEndpoint: exampleAccount.primaryBlobEndpoint,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n storageAccountAccessKeyIsSecondary: true,\n retentionInDays: 6,\n },\n tags: {\n environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\n resource_group_name=example_resource_group.name,\n location=\"West US\",\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\",\n tags={\n \"environment\": \"production\",\n })\nexample_account = azure.storage.Account(\"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_database = azure.sql.Database(\"exampleDatabase\",\n resource_group_name=example_resource_group.name,\n location=\"West US\",\n server_name=example_sql_server.name,\n extended_auditing_policy=azure.sql.DatabaseExtendedAuditingPolicyArgs(\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=True,\n retention_in_days=6,\n ),\n tags={\n \"environment\": \"production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West US\",\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n Tags = \n {\n { \"environment\", \"production\" },\n },\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleDatabase = new Azure.Sql.Database(\"exampleDatabase\", new Azure.Sql.DatabaseArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West US\",\n ServerName = exampleSqlServer.Name,\n ExtendedAuditingPolicy = new Azure.Sql.Inputs.DatabaseExtendedAuditingPolicyArgs\n {\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n StorageAccountAccessKeyIsSecondary = true,\n RetentionInDays = 6,\n },\n Tags = \n {\n { \"environment\", \"production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West US\"),\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\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = sql.NewDatabase(ctx, \"exampleDatabase\", \u0026sql.DatabaseArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tServerName: exampleSqlServer.Name,\n\t\t\tExtendedAuditingPolicy: \u0026sql.DatabaseExtendedAuditingPolicyArgs{\n\t\t\t\tStorageEndpoint: exampleAccount.PrimaryBlobEndpoint,\n\t\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(true),\n\t\t\t\tRetentionInDays: pulumi.Int(6),\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{{% /example %}}\n{{% /examples %}}", "properties": { "collation": { "type": "string", "description": "The name of the collation. Applies only if `create_mode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.\n" }, "createMode": { "type": "string", "description": "Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/en-us/rest/api/sql/databases/createorupdate#createmode)\n" }, "creationDate": { "type": "string", "description": "The creation date of the SQL Database.\n" }, "defaultSecondaryLocation": { "type": "string", "description": "The default secondary location of the SQL Database.\n" }, "edition": { "type": "string", "description": "The edition of the database to be created. Applies only if `create_mode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL Database Service Tiers](https://azure.microsoft.com/en-gb/documentation/articles/sql-database-service-tiers/).\n" }, "elasticPoolName": { "type": "string", "description": "The name of the elastic database pool.\n" }, "encryption": { "type": "string" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:sql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "import": { "$ref": "#/types/azure:sql/DatabaseImport:DatabaseImport", "description": "A Database Import block as documented below. `create_mode` must be set to `Default`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n" }, "maxSizeBytes": { "type": "string", "description": "The maximum size that the database can grow to. Applies only if `create_mode` is `Default`. Please see [Azure SQL Database Service Tiers](https://azure.microsoft.com/en-gb/documentation/articles/sql-database-service-tiers/).\n" }, "maxSizeGb": { "type": "string" }, "name": { "type": "string", "description": "The name of the database.\n" }, "readScale": { "type": "boolean", "description": "Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-read-scale-out).\n" }, "requestedServiceObjectiveId": { "type": "string", "description": "A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level.\n.\n" }, "requestedServiceObjectiveName": { "type": "string", "description": "The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the cli: ```shell az sql db list-editions -l westus -o table ```. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/en-us/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the database. This must be the same as Database Server resource group currently.\n" }, "restorePointInTime": { "type": "string", "description": "The point in time for the restore. Only applies if `create_mode` is `PointInTimeRestore` e.g. 2013-11-08T22:00:40Z\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the database.\n" }, "sourceDatabaseDeletionDate": { "type": "string", "description": "The deletion date time of the source database. Only applies to deleted databases where `create_mode` is `PointInTimeRestore`.\n" }, "sourceDatabaseId": { "type": "string", "description": "The URI of the source database if `create_mode` value is not `Default`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "threatDetectionPolicy": { "$ref": "#/types/azure:sql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy", "description": "Threat detection policy configuration. The `threat_detection_policy` block supports fields documented below.\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.\n" } }, "required": [ "collation", "creationDate", "defaultSecondaryLocation", "edition", "elasticPoolName", "encryption", "extendedAuditingPolicy", "location", "maxSizeBytes", "maxSizeGb", "name", "requestedServiceObjectiveId", "requestedServiceObjectiveName", "resourceGroupName", "restorePointInTime", "serverName", "sourceDatabaseDeletionDate", "sourceDatabaseId", "threatDetectionPolicy" ], "inputProperties": { "collation": { "type": "string", "description": "The name of the collation. Applies only if `create_mode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.\n" }, "createMode": { "type": "string", "description": "Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/en-us/rest/api/sql/databases/createorupdate#createmode)\n" }, "edition": { "type": "string", "description": "The edition of the database to be created. Applies only if `create_mode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL Database Service Tiers](https://azure.microsoft.com/en-gb/documentation/articles/sql-database-service-tiers/).\n" }, "elasticPoolName": { "type": "string", "description": "The name of the elastic database pool.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:sql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "import": { "$ref": "#/types/azure:sql/DatabaseImport:DatabaseImport", "description": "A Database Import block as documented below. `create_mode` must be set to `Default`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n" }, "maxSizeBytes": { "type": "string", "description": "The maximum size that the database can grow to. Applies only if `create_mode` is `Default`. Please see [Azure SQL Database Service Tiers](https://azure.microsoft.com/en-gb/documentation/articles/sql-database-service-tiers/).\n" }, "maxSizeGb": { "type": "string" }, "name": { "type": "string", "description": "The name of the database.\n" }, "readScale": { "type": "boolean", "description": "Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-read-scale-out).\n" }, "requestedServiceObjectiveId": { "type": "string", "description": "A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level.\n.\n" }, "requestedServiceObjectiveName": { "type": "string", "description": "The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the cli: ```shell az sql db list-editions -l westus -o table ```. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/en-us/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the database. This must be the same as Database Server resource group currently.\n" }, "restorePointInTime": { "type": "string", "description": "The point in time for the restore. Only applies if `create_mode` is `PointInTimeRestore` e.g. 2013-11-08T22:00:40Z\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the database.\n" }, "sourceDatabaseDeletionDate": { "type": "string", "description": "The deletion date time of the source database. Only applies to deleted databases where `create_mode` is `PointInTimeRestore`.\n" }, "sourceDatabaseId": { "type": "string", "description": "The URI of the source database if `create_mode` value is not `Default`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "threatDetectionPolicy": { "$ref": "#/types/azure:sql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy", "description": "Threat detection policy configuration. The `threat_detection_policy` block supports fields documented below.\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.\n" } }, "requiredInputs": [ "resourceGroupName", "serverName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Database resources.\n", "properties": { "collation": { "type": "string", "description": "The name of the collation. Applies only if `create_mode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.\n" }, "createMode": { "type": "string", "description": "Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/en-us/rest/api/sql/databases/createorupdate#createmode)\n" }, "creationDate": { "type": "string", "description": "The creation date of the SQL Database.\n" }, "defaultSecondaryLocation": { "type": "string", "description": "The default secondary location of the SQL Database.\n" }, "edition": { "type": "string", "description": "The edition of the database to be created. Applies only if `create_mode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL Database Service Tiers](https://azure.microsoft.com/en-gb/documentation/articles/sql-database-service-tiers/).\n" }, "elasticPoolName": { "type": "string", "description": "The name of the elastic database pool.\n" }, "encryption": { "type": "string" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:sql/DatabaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "import": { "$ref": "#/types/azure:sql/DatabaseImport:DatabaseImport", "description": "A Database Import block as documented below. `create_mode` must be set to `Default`.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n" }, "maxSizeBytes": { "type": "string", "description": "The maximum size that the database can grow to. Applies only if `create_mode` is `Default`. Please see [Azure SQL Database Service Tiers](https://azure.microsoft.com/en-gb/documentation/articles/sql-database-service-tiers/).\n" }, "maxSizeGb": { "type": "string" }, "name": { "type": "string", "description": "The name of the database.\n" }, "readScale": { "type": "boolean", "description": "Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-read-scale-out).\n" }, "requestedServiceObjectiveId": { "type": "string", "description": "A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level.\n.\n" }, "requestedServiceObjectiveName": { "type": "string", "description": "The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the cli: ```shell az sql db list-editions -l westus -o table ```. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/en-us/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the database. This must be the same as Database Server resource group currently.\n" }, "restorePointInTime": { "type": "string", "description": "The point in time for the restore. Only applies if `create_mode` is `PointInTimeRestore` e.g. 2013-11-08T22:00:40Z\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the database.\n" }, "sourceDatabaseDeletionDate": { "type": "string", "description": "The deletion date time of the source database. Only applies to deleted databases where `create_mode` is `PointInTimeRestore`.\n" }, "sourceDatabaseId": { "type": "string", "description": "The URI of the source database if `create_mode` value is not `Default`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "threatDetectionPolicy": { "$ref": "#/types/azure:sql/DatabaseThreatDetectionPolicy:DatabaseThreatDetectionPolicy", "description": "Threat detection policy configuration. The `threat_detection_policy` block supports fields documented below.\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.\n" } }, "type": "object" } }, "azure:sql/elasticPool:ElasticPool": { "description": "Allows you to manage an Azure SQL Elastic Pool.\n\n\u003e **NOTE:** - This version of the `Elasticpool` resource is being **deprecated** and should no longer be used. Please use the azure.mssql.ElasticPool version instead.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleElasticPool = new azure.sql.ElasticPool(\"exampleElasticPool\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n serverName: exampleSqlServer.name,\n edition: \"Basic\",\n dtu: 50,\n dbDtuMin: 0,\n dbDtuMax: 5,\n poolSize: 5000,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\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_elastic_pool = azure.sql.ElasticPool(\"exampleElasticPool\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n server_name=example_sql_server.name,\n edition=\"Basic\",\n dtu=50,\n db_dtu_min=0,\n db_dtu_max=5,\n pool_size=5000)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleElasticPool = new Azure.Sql.ElasticPool(\"exampleElasticPool\", new Azure.Sql.ElasticPoolArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n ServerName = exampleSqlServer.Name,\n Edition = \"Basic\",\n Dtu = 50,\n DbDtuMin = 0,\n DbDtuMax = 5,\n PoolSize = 5000,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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\t_, err = sql.NewElasticPool(ctx, \"exampleElasticPool\", \u0026sql.ElasticPoolArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tServerName: exampleSqlServer.Name,\n\t\t\tEdition: pulumi.String(\"Basic\"),\n\t\t\tDtu: pulumi.Int(50),\n\t\t\tDbDtuMin: pulumi.Int(0),\n\t\t\tDbDtuMax: pulumi.Int(5),\n\t\t\tPoolSize: pulumi.Int(5000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n\u003e **NOTE on `azure.sql.ElasticPool`:** - The values of `edition`, `dtu`, and `pool_size` must be consistent with the [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). Any inconsistent argument configuration will be rejected.\n{{% /example %}}\n{{% /examples %}}", "properties": { "creationDate": { "type": "string", "description": "The creation date of the SQL Elastic Pool.\n" }, "dbDtuMax": { "type": "integer", "description": "The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.\n" }, "dbDtuMin": { "type": "integer", "description": "The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.\n" }, "dtu": { "type": "integer", "description": "The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.\n" }, "edition": { "type": "string", "description": "The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. 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 elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.\n" }, "poolSize": { "type": "integer", "description": "The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.\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.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "creationDate", "dbDtuMax", "dbDtuMin", "dtu", "edition", "location", "name", "poolSize", "resourceGroupName", "serverName" ], "inputProperties": { "dbDtuMax": { "type": "integer", "description": "The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.\n" }, "dbDtuMin": { "type": "integer", "description": "The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.\n" }, "dtu": { "type": "integer", "description": "The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.\n" }, "edition": { "type": "string", "description": "The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. 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 elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.\n" }, "poolSize": { "type": "integer", "description": "The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.\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.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "requiredInputs": [ "dtu", "edition", "resourceGroupName", "serverName" ], "stateInputs": { "description": "Input properties used for looking up and filtering ElasticPool resources.\n", "properties": { "creationDate": { "type": "string", "description": "The creation date of the SQL Elastic Pool.\n" }, "dbDtuMax": { "type": "integer", "description": "The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.\n" }, "dbDtuMin": { "type": "integer", "description": "The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.\n" }, "dtu": { "type": "integer", "description": "The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.\n" }, "edition": { "type": "string", "description": "The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. 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 elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.\n" }, "poolSize": { "type": "integer", "description": "The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.\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.\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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object" } }, "azure:sql/failoverGroup:FailoverGroup": { "description": "Create a failover group of databases on a collection of Azure SQL servers.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"uksouth\"});\nconst primary = new azure.sql.SqlServer(\"primary\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"sqladmin\",\n administratorLoginPassword: `pa$$w0rd`,\n});\nconst secondary = new azure.sql.SqlServer(\"secondary\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"northeurope\",\n version: \"12.0\",\n administratorLogin: \"sqladmin\",\n administratorLoginPassword: `pa$$w0rd`,\n});\nconst db1 = new azure.sql.Database(\"db1\", {\n resourceGroupName: primary.resourceGroupName,\n location: primary.location,\n serverName: primary.name,\n});\nconst exampleFailoverGroup = new azure.sql.FailoverGroup(\"exampleFailoverGroup\", {\n resourceGroupName: primary.resourceGroupName,\n serverName: primary.name,\n databases: [db1.id],\n partnerServers: [{\n id: secondary.id,\n }],\n readWriteEndpointFailoverPolicy: {\n mode: \"Automatic\",\n graceMinutes: 60,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"uksouth\")\nprimary = azure.sql.SqlServer(\"primary\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n version=\"12.0\",\n administrator_login=\"sqladmin\",\n administrator_login_password=\"pa$$w0rd\")\nsecondary = azure.sql.SqlServer(\"secondary\",\n resource_group_name=example_resource_group.name,\n location=\"northeurope\",\n version=\"12.0\",\n administrator_login=\"sqladmin\",\n administrator_login_password=\"pa$$w0rd\")\ndb1 = azure.sql.Database(\"db1\",\n resource_group_name=primary.resource_group_name,\n location=primary.location,\n server_name=primary.name)\nexample_failover_group = azure.sql.FailoverGroup(\"exampleFailoverGroup\",\n resource_group_name=primary.resource_group_name,\n server_name=primary.name,\n databases=[db1.id],\n partner_servers=[azure.sql.FailoverGroupPartnerServerArgs(\n id=secondary.id,\n )],\n read_write_endpoint_failover_policy=azure.sql.FailoverGroupReadWriteEndpointFailoverPolicyArgs(\n mode=\"Automatic\",\n grace_minutes=60,\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"uksouth\",\n });\n var primary = new Azure.Sql.SqlServer(\"primary\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"sqladmin\",\n AdministratorLoginPassword = \"pa$$w0rd\",\n });\n var secondary = new Azure.Sql.SqlServer(\"secondary\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"northeurope\",\n Version = \"12.0\",\n AdministratorLogin = \"sqladmin\",\n AdministratorLoginPassword = \"pa$$w0rd\",\n });\n var db1 = new Azure.Sql.Database(\"db1\", new Azure.Sql.DatabaseArgs\n {\n ResourceGroupName = primary.ResourceGroupName,\n Location = primary.Location,\n ServerName = primary.Name,\n });\n var exampleFailoverGroup = new Azure.Sql.FailoverGroup(\"exampleFailoverGroup\", new Azure.Sql.FailoverGroupArgs\n {\n ResourceGroupName = primary.ResourceGroupName,\n ServerName = primary.Name,\n Databases = \n {\n db1.Id,\n },\n PartnerServers = \n {\n new Azure.Sql.Inputs.FailoverGroupPartnerServerArgs\n {\n Id = secondary.Id,\n },\n },\n ReadWriteEndpointFailoverPolicy = new Azure.Sql.Inputs.FailoverGroupReadWriteEndpointFailoverPolicyArgs\n {\n Mode = \"Automatic\",\n GraceMinutes = 60,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\t\tLocation: pulumi.String(\"uksouth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprimary, err := sql.NewSqlServer(ctx, \"primary\", \u0026sql.SqlServerArgs{\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(\"sqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(fmt.Sprintf(\"%v%v%v%v\", \"pa\", \"$\", \"$\", \"w0rd\")),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecondary, err := sql.NewSqlServer(ctx, \"secondary\", \u0026sql.SqlServerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"northeurope\"),\n\t\t\tVersion: pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin: pulumi.String(\"sqladmin\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(fmt.Sprintf(\"%v%v%v%v\", \"pa\", \"$\", \"$\", \"w0rd\")),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdb1, err := sql.NewDatabase(ctx, \"db1\", \u0026sql.DatabaseArgs{\n\t\t\tResourceGroupName: primary.ResourceGroupName,\n\t\t\tLocation: primary.Location,\n\t\t\tServerName: primary.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sql.NewFailoverGroup(ctx, \"exampleFailoverGroup\", \u0026sql.FailoverGroupArgs{\n\t\t\tResourceGroupName: primary.ResourceGroupName,\n\t\t\tServerName: primary.Name,\n\t\t\tDatabases: pulumi.StringArray{\n\t\t\t\tdb1.ID(),\n\t\t\t},\n\t\t\tPartnerServers: sql.FailoverGroupPartnerServerArray{\n\t\t\t\t\u0026sql.FailoverGroupPartnerServerArgs{\n\t\t\t\t\tId: secondary.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReadWriteEndpointFailoverPolicy: \u0026sql.FailoverGroupReadWriteEndpointFailoverPolicyArgs{\n\t\t\t\tMode: pulumi.String(\"Automatic\"),\n\t\t\t\tGraceMinutes: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "databases": { "type": "array", "items": { "type": "string" }, "description": "A list of database ids to add to the failover group\n" }, "location": { "type": "string", "description": "the location of 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:sql/FailoverGroupPartnerServer:FailoverGroupPartnerServer" }, "description": "A list of secondary servers as documented below\n" }, "readWriteEndpointFailoverPolicy": { "$ref": "#/types/azure:sql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy", "description": "A read/write policy as documented below\n" }, "readonlyEndpointFailoverPolicy": { "$ref": "#/types/azure:sql/FailoverGroupReadonlyEndpointFailoverPolicy:FailoverGroupReadonlyEndpointFailoverPolicy", "description": "a read-only policy as documented below\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group containing the SQL server\n" }, "role": { "type": "string", "description": "local replication role of the failover group instance.\n" }, "serverName": { "type": "string", "description": "The name of the primary SQL server. 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", "partnerServers", "readWriteEndpointFailoverPolicy", "readonlyEndpointFailoverPolicy", "resourceGroupName", "role", "serverName" ], "inputProperties": { "databases": { "type": "array", "items": { "type": "string" }, "description": "A list of database ids to add to 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:sql/FailoverGroupPartnerServer:FailoverGroupPartnerServer" }, "description": "A list of secondary servers as documented below\n" }, "readWriteEndpointFailoverPolicy": { "$ref": "#/types/azure:sql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy", "description": "A read/write policy as documented below\n" }, "readonlyEndpointFailoverPolicy": { "$ref": "#/types/azure:sql/FailoverGroupReadonlyEndpointFailoverPolicy:FailoverGroupReadonlyEndpointFailoverPolicy", "description": "a read-only policy as documented below\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group containing the SQL server\n" }, "serverName": { "type": "string", "description": "The name of the primary SQL server. 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" } }, "requiredInputs": [ "partnerServers", "readWriteEndpointFailoverPolicy", "resourceGroupName", "serverName" ], "stateInputs": { "description": "Input properties used for looking up and filtering FailoverGroup resources.\n", "properties": { "databases": { "type": "array", "items": { "type": "string" }, "description": "A list of database ids to add to the failover group\n" }, "location": { "type": "string", "description": "the location of 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:sql/FailoverGroupPartnerServer:FailoverGroupPartnerServer" }, "description": "A list of secondary servers as documented below\n" }, "readWriteEndpointFailoverPolicy": { "$ref": "#/types/azure:sql/FailoverGroupReadWriteEndpointFailoverPolicy:FailoverGroupReadWriteEndpointFailoverPolicy", "description": "A read/write policy as documented below\n" }, "readonlyEndpointFailoverPolicy": { "$ref": "#/types/azure:sql/FailoverGroupReadonlyEndpointFailoverPolicy:FailoverGroupReadonlyEndpointFailoverPolicy", "description": "a read-only policy as documented below\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group containing the SQL server\n" }, "role": { "type": "string", "description": "local replication role of the failover group instance.\n" }, "serverName": { "type": "string", "description": "The name of the primary SQL server. 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": "object" } }, "azure:sql/firewallRule:FirewallRule": { "description": "Allows you to manage an Azure SQL Firewall Rule\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"West US\",\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleFirewallRule = new azure.sql.FirewallRule(\"exampleFirewallRule\", {\n resourceGroupName: exampleResourceGroup.name,\n serverName: exampleSqlServer.name,\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\n resource_group_name=example_resource_group.name,\n location=\"West US\",\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_firewall_rule = azure.sql.FirewallRule(\"exampleFirewallRule\",\n resource_group_name=example_resource_group.name,\n server_name=example_sql_server.name,\n start_ip_address=\"10.0.17.62\",\n end_ip_address=\"10.0.17.62\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"West US\",\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var exampleFirewallRule = new Azure.Sql.FirewallRule(\"exampleFirewallRule\", new Azure.Sql.FirewallRuleArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ServerName = exampleSqlServer.Name,\n StartIpAddress = \"10.0.17.62\",\n EndIpAddress = \"10.0.17.62\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"West US\"),\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 = sql.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026sql.FirewallRuleArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tServerName: exampleSqlServer.Name,\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{{% /example %}}\n{{% /examples %}}", "properties": { "endIpAddress": { "type": "string", "description": "The ending IP address to allow through the firewall for this rule.\n" }, "name": { "type": "string", "description": "The name of the firewall rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the sql server.\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the Firewall Rule.\n" }, "startIpAddress": { "type": "string", "description": "The starting IP address to allow through the firewall for this rule.\n" } }, "required": [ "endIpAddress", "name", "resourceGroupName", "serverName", "startIpAddress" ], "inputProperties": { "endIpAddress": { "type": "string", "description": "The ending IP address to allow through the firewall for this rule.\n" }, "name": { "type": "string", "description": "The name of the firewall rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the sql server.\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the Firewall Rule.\n" }, "startIpAddress": { "type": "string", "description": "The starting IP address to allow through the firewall for this rule.\n" } }, "requiredInputs": [ "endIpAddress", "resourceGroupName", "serverName", "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" }, "name": { "type": "string", "description": "The name of the firewall rule.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to\ncreate the sql server.\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the Firewall Rule.\n" }, "startIpAddress": { "type": "string", "description": "The starting IP address to allow through the firewall for this rule.\n" } }, "type": "object" } }, "azure:sql/sqlServer:SqlServer": { "description": "Manages a Microsoft SQL Azure Database Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n version: \"12.0\",\n administratorLogin: \"mradministrator\",\n administratorLoginPassword: \"thisIsDog11\",\n extendedAuditingPolicy: {\n storageEndpoint: exampleAccount.primaryBlobEndpoint,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n storageAccountAccessKeyIsSecondary: true,\n retentionInDays: 6,\n },\n tags: {\n environment: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_account = azure.storage.Account(\"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_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n version=\"12.0\",\n administrator_login=\"mradministrator\",\n administrator_login_password=\"thisIsDog11\",\n extended_auditing_policy=azure.sql.SqlServerExtendedAuditingPolicyArgs(\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=True,\n retention_in_days=6,\n ),\n tags={\n \"environment\": \"production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n Version = \"12.0\",\n AdministratorLogin = \"mradministrator\",\n AdministratorLoginPassword = \"thisIsDog11\",\n ExtendedAuditingPolicy = new Azure.Sql.Inputs.SqlServerExtendedAuditingPolicyArgs\n {\n StorageEndpoint = exampleAccount.PrimaryBlobEndpoint,\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n StorageAccountAccessKeyIsSecondary = true,\n RetentionInDays = 6,\n },\n Tags = \n {\n { \"environment\", \"production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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 = sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\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(\"mradministrator\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"thisIsDog11\"),\n\t\t\tExtendedAuditingPolicy: \u0026sql.SqlServerExtendedAuditingPolicyArgs{\n\t\t\t\tStorageEndpoint: exampleAccount.PrimaryBlobEndpoint,\n\t\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\t\tStorageAccountAccessKeyIsSecondary: pulumi.Bool(true),\n\t\t\t\tRetentionInDays: pulumi.Int(6),\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{{% /example %}}\n{{% /examples %}}", "properties": { "administratorLogin": { "type": "string", "description": "The administrator login name for the new server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The password associated with the `administrator_login` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n" }, "connectionPolicy": { "type": "string", "description": "The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:sql/SqlServerExtendedAuditingPolicy:SqlServerExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "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:sql/SqlServerIdentity:SqlServerIdentity", "description": "An `identity` 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" }, "name": { "type": "string", "description": "The name of the Microsoft SQL Server. This needs to be globally unique within Azure.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Microsoft SQL Server.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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).\n" } }, "required": [ "administratorLogin", "administratorLoginPassword", "extendedAuditingPolicy", "fullyQualifiedDomainName", "location", "name", "resourceGroupName", "version" ], "inputProperties": { "administratorLogin": { "type": "string", "description": "The administrator login name for the new server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The password associated with the `administrator_login` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n" }, "connectionPolicy": { "type": "string", "description": "The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:sql/SqlServerExtendedAuditingPolicy:SqlServerExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "identity": { "$ref": "#/types/azure:sql/SqlServerIdentity:SqlServerIdentity", "description": "An `identity` 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" }, "name": { "type": "string", "description": "The name of the Microsoft SQL Server. This needs to be globally unique within Azure.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Microsoft SQL Server.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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).\n" } }, "requiredInputs": [ "administratorLogin", "administratorLoginPassword", "resourceGroupName", "version" ], "stateInputs": { "description": "Input properties used for looking up and filtering SqlServer resources.\n", "properties": { "administratorLogin": { "type": "string", "description": "The administrator login name for the new server. Changing this forces a new resource to be created.\n" }, "administratorLoginPassword": { "type": "string", "description": "The password associated with the `administrator_login` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)\n" }, "connectionPolicy": { "type": "string", "description": "The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.\n" }, "extendedAuditingPolicy": { "$ref": "#/types/azure:sql/SqlServerExtendedAuditingPolicy:SqlServerExtendedAuditingPolicy", "description": "A `extended_auditing_policy` block as defined below.\n", "deprecationMessage": "the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider." }, "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:sql/SqlServerIdentity:SqlServerIdentity", "description": "An `identity` 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" }, "name": { "type": "string", "description": "The name of the Microsoft SQL Server. This needs to be globally unique within Azure.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the Microsoft SQL Server.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\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).\n" } }, "type": "object" } }, "azure:sql/virtualNetworkRule:VirtualNetworkRule": { "description": "Allows you to add, update, or remove an Azure SQL server to a subnet of a virtual network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West US\"});\nconst vnet = new azure.network.VirtualNetwork(\"vnet\", {\n addressSpaces: [\"10.7.29.0/29\"],\n location: example.location,\n resourceGroupName: example.name,\n});\nconst subnet = new azure.network.Subnet(\"subnet\", {\n resourceGroupName: example.name,\n virtualNetworkName: vnet.name,\n addressPrefix: \"10.7.29.0/29\",\n serviceEndpoints: [\"Microsoft.Sql\"],\n});\nconst sqlserver = new azure.sql.SqlServer(\"sqlserver\", {\n resourceGroupName: example.name,\n location: example.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst sqlvnetrule = new azure.sql.VirtualNetworkRule(\"sqlvnetrule\", {\n resourceGroupName: example.name,\n serverName: sqlserver.name,\n subnetId: subnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\", location=\"West US\")\nvnet = azure.network.VirtualNetwork(\"vnet\",\n address_spaces=[\"10.7.29.0/29\"],\n location=example.location,\n resource_group_name=example.name)\nsubnet = azure.network.Subnet(\"subnet\",\n resource_group_name=example.name,\n virtual_network_name=vnet.name,\n address_prefix=\"10.7.29.0/29\",\n service_endpoints=[\"Microsoft.Sql\"])\nsqlserver = azure.sql.SqlServer(\"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\")\nsqlvnetrule = azure.sql.VirtualNetworkRule(\"sqlvnetrule\",\n resource_group_name=example.name,\n server_name=sqlserver.name,\n subnet_id=subnet.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var vnet = new Azure.Network.VirtualNetwork(\"vnet\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.7.29.0/29\",\n },\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n var subnet = new Azure.Network.Subnet(\"subnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = example.Name,\n VirtualNetworkName = vnet.Name,\n AddressPrefix = \"10.7.29.0/29\",\n ServiceEndpoints = \n {\n \"Microsoft.Sql\",\n },\n });\n var sqlserver = new Azure.Sql.SqlServer(\"sqlserver\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n var sqlvnetrule = new Azure.Sql.VirtualNetworkRule(\"sqlvnetrule\", new Azure.Sql.VirtualNetworkRuleArgs\n {\n ResourceGroupName = example.Name,\n ServerName = sqlserver.Name,\n SubnetId = subnet.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\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\tvnet, err := network.NewVirtualNetwork(ctx, \"vnet\", \u0026network.VirtualNetworkArgs{\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\tsubnet, err := network.NewSubnet(ctx, \"subnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: vnet.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.7.29.0/29\"),\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\tsqlserver, err := sql.NewSqlServer(ctx, \"sqlserver\", \u0026sql.SqlServerArgs{\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 = sql.NewVirtualNetworkRule(ctx, \"sqlvnetrule\", \u0026sql.VirtualNetworkRuleArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName: sqlserver.Name,\n\t\t\tSubnetId: subnet.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{{% /example %}}\n{{% /examples %}}", "properties": { "ignoreMissingVnetServiceEndpoint": { "type": "boolean", "description": "Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.\n" }, "name": { "type": "string", "description": "The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the SQL 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 SQL 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 SQL server will be connected to.\n" } }, "required": [ "name", "resourceGroupName", "serverName", "subnetId" ], "inputProperties": { "ignoreMissingVnetServiceEndpoint": { "type": "boolean", "description": "Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.\n" }, "name": { "type": "string", "description": "The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the SQL 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 SQL 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 SQL 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": "Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.\n" }, "name": { "type": "string", "description": "The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the SQL 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 SQL 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 SQL server will be connected to.\n" } }, "type": "object" } }, "azure:storage/account:Account": { "description": "Manages an Azure Storage Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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 })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\treturn nil\n\t})\n}\n```\n\n{{% /example %}}\n{{% example %}}\n### With Network Rules\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n serviceEndpoints: [\n \"Microsoft.Sql\",\n \"Microsoft.Storage\",\n ],\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\",\n service_endpoints=[\n \"Microsoft.Sql\",\n \"Microsoft.Storage\",\n ])\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n network_rules=azure.storage.AccountNetworkRulesArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n ServiceEndpoints = \n {\n \"Microsoft.Sql\",\n \"Microsoft.Storage\",\n },\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n NetworkRules = new Azure.Storage.Inputs.AccountNetworkRulesArgs\n {\n DefaultAction = \"Deny\",\n IpRules = \n {\n \"100.0.0.1\",\n },\n VirtualNetworkSubnetIds = \n {\n exampleSubnet.Id,\n },\n },\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefix: pulumi.String(\"10.0.2.0/24\"),\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\tNetworkRules: \u0026storage.AccountNetworkRulesArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessTier": { "type": "string", "description": "Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`.\n" }, "accountKind": { "type": "string", "description": "Defines the Kind of account. Valid options are `BlobStorage`, `BlockBlobStorage`, `FileStorage`, `Storage` and `StorageV2`. Changing this forces a new resource to be created. Defaults to `StorageV2`.\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`.\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" }, "allowBlobPublicAccess": { "type": "boolean", "description": "Allow or disallow public access to all blobs or containers in the storage account. Defaults to `false`.\n" }, "blobProperties": { "$ref": "#/types/azure:storage/AccountBlobProperties:AccountBlobProperties", "description": "A `blob_properties` block as defined below.\n" }, "customDomain": { "$ref": "#/types/azure:storage/AccountCustomDomain:AccountCustomDomain", "description": "A `custom_domain` block as documented below.\n" }, "enableHttpsTrafficOnly": { "type": "boolean", "description": "Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/storage-require-secure-transfer/)\nfor more information. Defaults to `true`.\n" }, "identity": { "$ref": "#/types/azure:storage/AccountIdentity:AccountIdentity", "description": "A `identity` block as defined below.\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/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). 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" }, "minTlsVersion": { "type": "string", "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_0` for new storage accounts.\n" }, "name": { "type": "string", "description": "Specifies the name of the storage account. 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 `network_rules` block as documented below.\n" }, "primaryAccessKey": { "type": "string", "description": "The primary access key for the storage account.\n" }, "primaryBlobConnectionString": { "type": "string", "description": "The connection string associated with the primary blob location.\n" }, "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" }, "primaryConnectionString": { "type": "string", "description": "The connection string associated with the primary location.\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "queueProperties": { "$ref": "#/types/azure:storage/AccountQueueProperties:AccountQueueProperties", "description": "A `queue_properties` block as defined below.\n" }, "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" }, "secondaryAccessKey": { "type": "string", "description": "The secondary access key for the storage account.\n" }, "secondaryBlobConnectionString": { "type": "string", "description": "The connection string associated with the secondary blob location.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The connection string associated with the secondary location.\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "staticWebsite": { "$ref": "#/types/azure:storage/AccountStaticWebsite:AccountStaticWebsite", "description": "A `static_website` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "required": [ "accessTier", "accountReplicationType", "accountTier", "blobProperties", "identity", "location", "name", "networkRules", "primaryAccessKey", "primaryBlobConnectionString", "primaryBlobEndpoint", "primaryBlobHost", "primaryConnectionString", "primaryDfsEndpoint", "primaryDfsHost", "primaryFileEndpoint", "primaryFileHost", "primaryLocation", "primaryQueueEndpoint", "primaryQueueHost", "primaryTableEndpoint", "primaryTableHost", "primaryWebEndpoint", "primaryWebHost", "queueProperties", "resourceGroupName", "secondaryAccessKey", "secondaryBlobConnectionString", "secondaryBlobEndpoint", "secondaryBlobHost", "secondaryConnectionString", "secondaryDfsEndpoint", "secondaryDfsHost", "secondaryFileEndpoint", "secondaryFileHost", "secondaryLocation", "secondaryQueueEndpoint", "secondaryQueueHost", "secondaryTableEndpoint", "secondaryTableHost", "secondaryWebEndpoint", "secondaryWebHost" ], "inputProperties": { "accessTier": { "type": "string", "description": "Defines the access tier for `BlobStorage`, `FileStorage` and `StorageV2` accounts. Valid options are `Hot` and `Cool`, defaults to `Hot`.\n" }, "accountKind": { "type": "string", "description": "Defines the Kind of account. Valid options are `BlobStorage`, `BlockBlobStorage`, `FileStorage`, `Storage` and `StorageV2`. Changing this forces a new resource to be created. Defaults to `StorageV2`.\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`.\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" }, "allowBlobPublicAccess": { "type": "boolean", "description": "Allow or disallow public access to all blobs or containers in the storage account. Defaults to `false`.\n" }, "blobProperties": { "$ref": "#/types/azure:storage/AccountBlobProperties:AccountBlobProperties", "description": "A `blob_properties` block as defined below.\n" }, "customDomain": { "$ref": "#/types/azure:storage/AccountCustomDomain:AccountCustomDomain", "description": "A `custom_domain` block as documented below.\n" }, "enableHttpsTrafficOnly": { "type": "boolean", "description": "Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/storage-require-secure-transfer/)\nfor more information. Defaults to `true`.\n" }, "identity": { "$ref": "#/types/azure:storage/AccountIdentity:AccountIdentity", "description": "A `identity` block as defined below.\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/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). 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" }, "minTlsVersion": { "type": "string", "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_0` for new storage accounts.\n" }, "name": { "type": "string", "description": "Specifies the name of the storage account. 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 `network_rules` block as documented below.\n" }, "queueProperties": { "$ref": "#/types/azure:storage/AccountQueueProperties:AccountQueueProperties", "description": "A `queue_properties` block as defined below.\n" }, "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" }, "staticWebsite": { "$ref": "#/types/azure:storage/AccountStaticWebsite:AccountStaticWebsite", "description": "A `static_website` block as defined below.\n" }, "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` and `Cool`, defaults to `Hot`.\n" }, "accountKind": { "type": "string", "description": "Defines the Kind of account. Valid options are `BlobStorage`, `BlockBlobStorage`, `FileStorage`, `Storage` and `StorageV2`. Changing this forces a new resource to be created. Defaults to `StorageV2`.\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`.\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" }, "allowBlobPublicAccess": { "type": "boolean", "description": "Allow or disallow public access to all blobs or containers in the storage account. Defaults to `false`.\n" }, "blobProperties": { "$ref": "#/types/azure:storage/AccountBlobProperties:AccountBlobProperties", "description": "A `blob_properties` block as defined below.\n" }, "customDomain": { "$ref": "#/types/azure:storage/AccountCustomDomain:AccountCustomDomain", "description": "A `custom_domain` block as documented below.\n" }, "enableHttpsTrafficOnly": { "type": "boolean", "description": "Boolean flag which forces HTTPS if enabled, see [here](https://docs.microsoft.com/en-us/azure/storage/storage-require-secure-transfer/)\nfor more information. Defaults to `true`.\n" }, "identity": { "$ref": "#/types/azure:storage/AccountIdentity:AccountIdentity", "description": "A `identity` block as defined below.\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/en-us/azure/storage/blobs/data-lake-storage-quickstart-create-account/)). 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" }, "minTlsVersion": { "type": "string", "description": "The minimum supported TLS version for the storage account. Possible values are `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_0` for new storage accounts.\n" }, "name": { "type": "string", "description": "Specifies the name of the storage account. 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 `network_rules` block as documented below.\n" }, "primaryAccessKey": { "type": "string", "description": "The primary access key for the storage account.\n" }, "primaryBlobConnectionString": { "type": "string", "description": "The connection string associated with the primary blob location.\n" }, "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" }, "primaryConnectionString": { "type": "string", "description": "The connection string associated with the primary location.\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "queueProperties": { "$ref": "#/types/azure:storage/AccountQueueProperties:AccountQueueProperties", "description": "A `queue_properties` block as defined below.\n" }, "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" }, "secondaryAccessKey": { "type": "string", "description": "The secondary access key for the storage account.\n" }, "secondaryBlobConnectionString": { "type": "string", "description": "The connection string associated with the secondary blob location.\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The connection string associated with the secondary location.\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "staticWebsite": { "$ref": "#/types/azure:storage/AccountStaticWebsite:AccountStaticWebsite", "description": "A `static_website` 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: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 `azure.storage.Account` resource, or using the `azure.storage.AccountNetworkRules` 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 `azure.storage.AccountNetworkRules` can be tied to an `azure.storage.Account`. Spurious changes will occur if more than `azure.storage.AccountNetworkRules` is tied to the same `azure.storage.Account`.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n serviceEndpoints: [\"Microsoft.Storage\"],\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst test = new azure.storage.AccountNetworkRules(\"test\", {\n resourceGroupName: azurerm_resource_group.test.name,\n storageAccountName: azurerm_storage_account.test.name,\n defaultAction: \"Allow\",\n ipRules: [\"127.0.0.1\"],\n virtualNetworkSubnetIds: [azurerm_subnet.test.id],\n bypasses: [\"Metrics\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\",\n service_endpoints=[\"Microsoft.Storage\"])\nexample_account = azure.storage.Account(\"exampleAccount\",\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 })\ntest = azure.storage.AccountNetworkRules(\"test\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n storage_account_name=azurerm_storage_account[\"test\"][\"name\"],\n default_action=\"Allow\",\n ip_rules=[\"127.0.0.1\"],\n virtual_network_subnet_ids=[azurerm_subnet[\"test\"][\"id\"]],\n bypasses=[\"Metrics\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n ServiceEndpoints = \n {\n \"Microsoft.Storage\",\n },\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var test = new Azure.Storage.AccountNetworkRules(\"test\", new Azure.Storage.AccountNetworkRulesArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n StorageAccountName = azurerm_storage_account.Test.Name,\n DefaultAction = \"Allow\",\n IpRules = \n {\n \"127.0.0.1\",\n },\n VirtualNetworkSubnetIds = \n {\n azurerm_subnet.Test.Id,\n },\n Bypasses = \n {\n \"Metrics\",\n },\n });\n }\n\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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. Private IP address ranges (as defined in [RFC 1918](https://tools.ietf.org/html/rfc1918#section-3)) are not allowed.\n" }, "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" }, "storageAccountName": { "type": "string", "description": "Specifies the name of the storage account. 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" }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of virtual network subnet ids to to secure the storage account.\n" } }, "required": [ "bypasses", "defaultAction", "ipRules", "resourceGroupName", "storageAccountName", "virtualNetworkSubnetIds" ], "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`.\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" }, "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" }, "storageAccountName": { "type": "string", "description": "Specifies the name of the storage account. 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" }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of virtual network subnet ids to to secure the storage account.\n" } }, "requiredInputs": [ "defaultAction", "resourceGroupName", "storageAccountName" ], "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`.\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" }, "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" }, "storageAccountName": { "type": "string", "description": "Specifies the name of the storage account. 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" }, "virtualNetworkSubnetIds": { "type": "array", "items": { "type": "string" }, "description": "A list of virtual network subnet ids to to secure the storage account.\n" } }, "type": "object" } }, "azure:storage/blob:Blob": { "description": "Manages a Blob within a Storage Container.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleBlob = new azure.storage.Blob(\"exampleBlob\", {\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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_blob = azure.storage.Blob(\"exampleBlob\",\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleBlob = new Azure.Storage.Blob(\"exampleBlob\", new Azure.Storage.BlobArgs\n {\n StorageAccountName = exampleAccount.Name,\n StorageContainerName = exampleContainer.Name,\n Type = \"Block\",\n Source = new FileAsset(\"some-local-file.zip\"),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleBlob\", \u0026storage.BlobArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "accessTier": { "type": "string", "description": "The access tier of the storage blob. Possible values are `Archive`, `Cool` and `Hot`.\n" }, "contentType": { "type": "string", "description": "The content type of the storage blob. Cannot be defined if `source_uri` is defined. Defaults to `application/octet-stream`.\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.\n" }, "parallelism": { "type": "integer", "description": "The number of workers per CPU core to run for concurrent uploads. Defaults to `8`.\n" }, "size": { "type": "integer", "description": "Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to 0.\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 `source_content` or `source_uri` is specified.\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 `source` or `source_uri` is specified.\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\nfor 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 `source` or `source_content` is specified.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage container.\nChanging 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.\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" }, "contentType": { "type": "string", "description": "The content type of the storage blob. Cannot be defined if `source_uri` is defined. Defaults to `application/octet-stream`.\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.\n" }, "parallelism": { "type": "integer", "description": "The number of workers per CPU core to run for concurrent uploads. Defaults to `8`.\n" }, "size": { "type": "integer", "description": "Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to 0.\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 `source_content` or `source_uri` is specified.\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 `source` or `source_uri` is specified.\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\nfor 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 `source` or `source_content` is specified.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage container.\nChanging 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.\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" } }, "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" }, "contentType": { "type": "string", "description": "The content type of the storage blob. Cannot be defined if `source_uri` is defined. Defaults to `application/octet-stream`.\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.\n" }, "parallelism": { "type": "integer", "description": "The number of workers per CPU core to run for concurrent uploads. Defaults to `8`.\n" }, "size": { "type": "integer", "description": "Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to 0.\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 `source_content` or `source_uri` is specified.\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 `source` or `source_uri` is specified.\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\nfor 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 `source` or `source_content` is specified.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage container.\nChanging 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.\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" } }, "type": "object" } }, "azure:storage/container:Container": { "description": "Manages a Container within an Azure Storage Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n tags={\n \"environment\": \"staging\",\n })\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\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, \"exampleContainer\", \u0026storage.ContainerArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "containerAccessType": { "type": "string", "description": "The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`.\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.\n" }, "name": { "type": "string", "description": "The name of the Container which should be created within the Storage Account.\n" }, "resourceManagerId": { "type": "string", "description": "The Resource Manager ID of this Storage Container.\n" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account where the Container should be created.\n" } }, "required": [ "hasImmutabilityPolicy", "hasLegalHold", "metadata", "name", "resourceManagerId", "storageAccountName" ], "inputProperties": { "containerAccessType": { "type": "string", "description": "The Access Level configured for this Container. Possible values are `blob`, `container` or `private`. Defaults to `private`.\n" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of MetaData for this Container.\n" }, "name": { "type": "string", "description": "The name of the Container which should be created within the Storage Account.\n" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account where the Container should be created.\n" } }, "requiredInputs": [ "storageAccountName" ], "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 `blob`, `container` or `private`. Defaults to `private`.\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.\n" }, "name": { "type": "string", "description": "The name of the Container which should be created within the Storage Account.\n" }, "resourceManagerId": { "type": "string", "description": "The Resource Manager ID of this Storage Container.\n" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account where the Container should be created.\n" } }, "type": "object" } }, "azure:storage/customerManagedKey:CustomerManagedKey": { "description": "Manages a Customer Managed Key for a Storage Account.\n", "properties": { "keyName": { "type": "string", "description": "The name of Key Vault Key.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault. Changing this forces a new resource to be created.\n" }, "keyVersion": { "type": "string", "description": "The version of Key Vault Key. Remove or omit this argument to enable Automatic Key Rotation.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n" } }, "required": [ "keyName", "keyVaultId", "storageAccountId" ], "inputProperties": { "keyName": { "type": "string", "description": "The name of Key Vault Key.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault. Changing this forces a new resource to be created.\n" }, "keyVersion": { "type": "string", "description": "The version of Key Vault Key. Remove or omit this argument to enable Automatic Key Rotation.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "keyName", "keyVaultId", "storageAccountId" ], "stateInputs": { "description": "Input properties used for looking up and filtering CustomerManagedKey resources.\n", "properties": { "keyName": { "type": "string", "description": "The name of Key Vault Key.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key Vault. Changing this forces a new resource to be created.\n" }, "keyVersion": { "type": "string", "description": "The version of Key Vault Key. Remove or omit this argument to enable Automatic Key Rotation.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account. Changing this forces a new resource to be created.\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 using Azure Active Directory to connect to Azure Storage, which in turn requires the `Storage` specific roles - which are not granted by default.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\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(\"exampleDataLakeGen2Filesystem\", {\n storageAccountId: exampleAccount.id,\n properties: {\n hello: \"aGVsbG8=\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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(\"exampleDataLakeGen2Filesystem\",\n storage_account_id=example_account.id,\n properties={\n \"hello\": \"aGVsbG8=\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n AccountKind = \"StorageV2\",\n IsHnsEnabled = true,\n });\n var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", new Azure.Storage.DataLakeGen2FilesystemArgs\n {\n StorageAccountId = exampleAccount.Id,\n Properties = \n {\n { \"hello\", \"aGVsbG8=\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\t_, err = storage.NewDataLakeGen2Filesystem(ctx, \"exampleDataLakeGen2Filesystem\", \u0026storage.DataLakeGen2FilesystemArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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": [ "name", "storageAccountId" ], "inputProperties": { "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" }, "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" } }, "requiredInputs": [ "storageAccountId" ], "stateInputs": { "description": "Input properties used for looking up and filtering DataLakeGen2Filesystem resources.\n", "properties": { "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" }, "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" } }, "type": "object" } }, "azure:storage/managementPolicy:ManagementPolicy": { "description": "Manages an Azure Storage Account Management Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n accountKind: \"BlobStorage\",\n});\nconst exampleManagementPolicy = new azure.storage.ManagementPolicy(\"exampleManagementPolicy\", {\n storageAccountId: exampleAccount.id,\n rules: [\n {\n name: \"rule1\",\n enabled: true,\n filters: {\n prefixMatches: [\"container1/prefix1\"],\n blobTypes: [\"blockBlob\"],\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 deleteAfterDaysSinceCreationGreaterThan: 31,\n },\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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=\"BlobStorage\")\nexample_management_policy = azure.storage.ManagementPolicy(\"exampleManagementPolicy\",\n storage_account_id=example_account.id,\n rules=[\n azure.storage.ManagementPolicyRuleArgs(\n name=\"rule1\",\n enabled=True,\n filters=azure.storage.ManagementPolicyRuleFiltersArgs(\n prefix_matches=[\"container1/prefix1\"],\n blob_types=[\"blockBlob\"],\n ),\n actions=azure.storage.ManagementPolicyRuleActionsArgs(\n base_blob=azure.storage.ManagementPolicyRuleActionsBaseBlobArgs(\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=azure.storage.ManagementPolicyRuleActionsSnapshotArgs(\n delete_after_days_since_creation_greater_than=30,\n ),\n ),\n ),\n azure.storage.ManagementPolicyRuleArgs(\n name=\"rule2\",\n enabled=False,\n filters=azure.storage.ManagementPolicyRuleFiltersArgs(\n prefix_matches=[\n \"container2/prefix1\",\n \"container2/prefix2\",\n ],\n blob_types=[\"blockBlob\"],\n ),\n actions=azure.storage.ManagementPolicyRuleActionsArgs(\n base_blob=azure.storage.ManagementPolicyRuleActionsBaseBlobArgs(\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=azure.storage.ManagementPolicyRuleActionsSnapshotArgs(\n delete_after_days_since_creation_greater_than=31,\n ),\n ),\n ),\n ])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n AccountKind = \"BlobStorage\",\n });\n var exampleManagementPolicy = new Azure.Storage.ManagementPolicy(\"exampleManagementPolicy\", new Azure.Storage.ManagementPolicyArgs\n {\n StorageAccountId = exampleAccount.Id,\n Rules = \n {\n new Azure.Storage.Inputs.ManagementPolicyRuleArgs\n {\n Name = \"rule1\",\n Enabled = true,\n Filters = new Azure.Storage.Inputs.ManagementPolicyRuleFiltersArgs\n {\n PrefixMatches = \n {\n \"container1/prefix1\",\n },\n BlobTypes = \n {\n \"blockBlob\",\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 = \n {\n \"container2/prefix1\",\n \"container2/prefix2\",\n },\n BlobTypes = \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 DeleteAfterDaysSinceCreationGreaterThan = 31,\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\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(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewManagementPolicy(ctx, \"exampleManagementPolicy\", \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},\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\tDeleteAfterDaysSinceCreationGreaterThan: pulumi.Int(31),\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{{% /example %}}\n{{% /examples %}}", "properties": { "rules": { "type": "array", "items": { "$ref": "#/types/azure:storage/ManagementPolicyRule:ManagementPolicyRule" }, "description": "A `rule` block as documented below.\n" }, "storageAccountId": { "type": "string", "description": "Specifies the id of the storage account to apply the management policy to.\n" } }, "required": [ "storageAccountId" ], "inputProperties": { "rules": { "type": "array", "items": { "$ref": "#/types/azure:storage/ManagementPolicyRule:ManagementPolicyRule" }, "description": "A `rule` block as documented below.\n" }, "storageAccountId": { "type": "string", "description": "Specifies the id of the storage account to apply the management policy to.\n" } }, "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 `rule` block as documented below.\n" }, "storageAccountId": { "type": "string", "description": "Specifies the id of the storage account to apply the management policy to.\n" } }, "type": "object" } }, "azure:storage/queue:Queue": { "description": "Manages a Queue within an Azure Storage Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleQueue = new azure.storage.Queue(\"exampleQueue\", {storageAccountName: exampleAccount.name});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_queue = azure.storage.Queue(\"exampleQueue\", storage_account_name=example_account.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleQueue = new Azure.Storage.Queue(\"exampleQueue\", new Azure.Storage.QueueArgs\n {\n StorageAccountName = exampleAccount.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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 = storage.NewQueue(ctx, \"exampleQueue\", \u0026storage.QueueArgs{\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{{% /example %}}\n{{% /examples %}}", "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.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "storageAccountName" ], "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.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "storageAccountName" ], "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.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created.\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/en-us/azure/storage/files/storage-files-faq#general).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"exampleShare\", {\n storageAccountName: exampleAccount.name,\n quota: 50,\n acls: [{\n id: \"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\",\n accessPolicies: [{\n permissions: \"rwdl\",\n start: \"2019-07-02T09:38:21.0000000Z\",\n expiry: \"2019-07-02T10:38:21.0000000Z\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_share = azure.storage.Share(\"exampleShare\",\n storage_account_name=example_account.name,\n quota=50,\n acls=[azure.storage.ShareAclArgs(\n id=\"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\",\n access_policies=[{\n \"permissions\": \"rwdl\",\n \"start\": \"2019-07-02T09:38:21.0000000Z\",\n \"expiry\": \"2019-07-02T10:38:21.0000000Z\",\n }],\n )])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleShare = new Azure.Storage.Share(\"exampleShare\", new Azure.Storage.ShareArgs\n {\n StorageAccountName = exampleAccount.Name,\n Quota = 50,\n Acls = \n {\n new Azure.Storage.Inputs.ShareAclArgs\n {\n Id = \"MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI\",\n AccessPolicies = \n {\n new Azure.Storage.Inputs.ShareAclAccessPolicyArgs\n {\n Permissions = \"rwdl\",\n Start = \"2019-07-02T09:38:21.0000000Z\",\n Expiry = \"2019-07-02T10:38:21.0000000Z\",\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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 = storage.NewShare(ctx, \"exampleShare\", \u0026storage.ShareArgs{\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(\"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:21.0000000Z\"),\n\t\t\t\t\t\t\tExpiry: pulumi.String(\"2019-07-02T10:38:21.0000000Z\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "acls": { "type": "array", "items": { "$ref": "#/types/azure:storage/ShareAcl:ShareAcl" }, "description": "One or more `acl` blocks as defined below.\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.\n" }, "quota": { "type": "integer", "description": "The maximum size of the share, in gigabytes. For Standard storage accounts, this must be greater than 0 and less than 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and less than 102400 GB (100 TB). Default is 5120.\n" }, "resourceManagerId": { "type": "string", "description": "The Resource Manager ID of this File Share.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the share.\nChanging this forces a new resource to be created.\n" }, "url": { "type": "string", "description": "The URL of the File Share\n" } }, "required": [ "name", "resourceManagerId", "storageAccountName", "url" ], "inputProperties": { "acls": { "type": "array", "items": { "$ref": "#/types/azure:storage/ShareAcl:ShareAcl" }, "description": "One or more `acl` blocks as defined below.\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.\n" }, "quota": { "type": "integer", "description": "The maximum size of the share, in gigabytes. For Standard storage accounts, this must be greater than 0 and less than 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and less than 102400 GB (100 TB). Default is 5120.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the share.\nChanging this forces a new resource to be created.\n" } }, "requiredInputs": [ "storageAccountName" ], "stateInputs": { "description": "Input properties used for looking up and filtering Share resources.\n", "properties": { "acls": { "type": "array", "items": { "$ref": "#/types/azure:storage/ShareAcl:ShareAcl" }, "description": "One or more `acl` blocks as defined below.\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.\n" }, "quota": { "type": "integer", "description": "The maximum size of the share, in gigabytes. For Standard storage accounts, this must be greater than 0 and less than 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and less than 102400 GB (100 TB). Default is 5120.\n" }, "resourceManagerId": { "type": "string", "description": "The Resource Manager ID of this File Share.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the share.\nChanging this forces a new resource to be created.\n" }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleShare = new azure.storage.Share(\"exampleShare\", {\n storageAccountName: exampleAccount.name,\n quota: 50,\n});\nconst exampleShareDirectory = new azure.storage.ShareDirectory(\"exampleShareDirectory\", {\n shareName: exampleShare.name,\n storageAccountName: exampleAccount.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_share = azure.storage.Share(\"exampleShare\",\n storage_account_name=example_account.name,\n quota=50)\nexample_share_directory = azure.storage.ShareDirectory(\"exampleShareDirectory\",\n share_name=example_share.name,\n storage_account_name=example_account.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleShare = new Azure.Storage.Share(\"exampleShare\", new Azure.Storage.ShareArgs\n {\n StorageAccountName = exampleAccount.Name,\n Quota = 50,\n });\n var exampleShareDirectory = new Azure.Storage.ShareDirectory(\"exampleShareDirectory\", new Azure.Storage.ShareDirectoryArgs\n {\n ShareName = exampleShare.Name,\n StorageAccountName = exampleAccount.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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\texampleShare, err := storage.NewShare(ctx, \"exampleShare\", \u0026storage.ShareArgs{\n\t\t\tStorageAccountName: exampleAccount.Name,\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, \"exampleShareDirectory\", \u0026storage.ShareDirectoryArgs{\n\t\t\tShareName: exampleShare.Name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "shareName": { "type": "string", "description": "The name of the File Share where this Directory should be created. Changing this forces a new resource to be created.\n" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created.\n" } }, "required": [ "name", "shareName", "storageAccountName" ], "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" }, "shareName": { "type": "string", "description": "The name of the File Share where this Directory should be created. Changing this forces a new resource to be created.\n" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ "shareName", "storageAccountName" ], "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" }, "shareName": { "type": "string", "description": "The name of the File Share where this Directory should be created. Changing this forces a new resource to be created.\n" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:storage/sync:Sync": { "description": "Manages a Storage Sync.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {location: \"West Europe\"});\nconst test = new azure.storage.Sync(\"test\", {\n resourceGroupName: azurerm_resource_group.test.name,\n location: azurerm_resource_group.test.location,\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\", location=\"West Europe\")\ntest = azure.storage.Sync(\"test\",\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"],\n location=azurerm_resource_group[\"test\"][\"location\"],\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Azure.Core.ResourceGroup(\"example\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var test = new Azure.Storage.Sync(\"test\", new Azure.Storage.SyncArgs\n {\n ResourceGroupName = azurerm_resource_group.Test.Name,\n Location = azurerm_resource_group.Test.Location,\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\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, \"test\", \u0026storage.SyncArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Test.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Test.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{{% /example %}}\n{{% /examples %}}", "properties": { "incomingTrafficPolicy": { "type": "string", "description": "Incoming traffic policy. Possible values are `AllowAllTraffic` and `AllowVirtualNetworksOnly`.\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" }, "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", "resourceGroupName" ], "inputProperties": { "incomingTrafficPolicy": { "type": "string", "description": "Incoming traffic policy. Possible values are `AllowAllTraffic` and `AllowVirtualNetworksOnly`.\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" }, "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" } }, "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`.\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" }, "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" } }, "type": "object" } }, "azure:storage/syncGroup:SyncGroup": { "description": "Manages a Storage Sync Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleSync = new azure.storage.Sync(\"exampleSync\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleSyncGroup = new azure.storage.SyncGroup(\"exampleSyncGroup\", {storageSyncId: exampleSync.id});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_sync = azure.storage.Sync(\"exampleSync\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_sync_group = azure.storage.SyncGroup(\"exampleSyncGroup\", storage_sync_id=example_sync.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleSync = new Azure.Storage.Sync(\"exampleSync\", new Azure.Storage.SyncArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n var exampleSyncGroup = new Azure.Storage.SyncGroup(\"exampleSyncGroup\", new Azure.Storage.SyncGroupArgs\n {\n StorageSyncId = exampleSync.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleSync\", \u0026storage.SyncArgs{\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 = storage.NewSyncGroup(ctx, \"exampleSyncGroup\", \u0026storage.SyncGroupArgs{\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{{% /example %}}\n{{% /examples %}}", "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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:storage/table:Table": { "description": "Manages a Table within an Azure Storage Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleTable = new azure.storage.Table(\"exampleTable\", {storageAccountName: exampleAccount.name});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"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_table = azure.storage.Table(\"exampleTable\", storage_account_name=example_account.name)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleTable = new Azure.Storage.Table(\"exampleTable\", new Azure.Storage.TableArgs\n {\n StorageAccountName = exampleAccount.Name,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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 = storage.NewTable(ctx, \"exampleTable\", \u0026storage.TableArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "acls": { "type": "array", "items": { "$ref": "#/types/azure:storage/TableAcl:TableAcl" }, "description": "One or more `acl` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the storage table. Must be unique within the storage account the table is located.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage table.\nChanging this forces a new resource to be created.\n" } }, "required": [ "name", "storageAccountName" ], "inputProperties": { "acls": { "type": "array", "items": { "$ref": "#/types/azure:storage/TableAcl:TableAcl" }, "description": "One or more `acl` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the storage table. Must be unique within the storage account the table is located.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage table.\nChanging this forces a new resource to be created.\n" } }, "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 `acl` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the storage table. Must be unique within the storage account the table is located.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage table.\nChanging this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:storage/tableEntity:TableEntity": { "description": "Manages an Entity within a Table in an Azure Storage Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleTable = new azure.storage.Table(\"exampleTable\", {\n resourceGroupName: exampleResourceGroup.name,\n storageAccountName: exampleAccount.name,\n});\nconst exampleTableEntity = new azure.storage.TableEntity(\"exampleTableEntity\", {\n storageAccountName: exampleAccount.name,\n tableName: exampleTable.name,\n partitionKey: \"examplepartition\",\n rowKey: \"exmamplerow\",\n entity: {\n example: \"example\",\n },\n});\n```\n{{% /example %}}\n{{% /examples %}}", "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.\n" }, "rowKey": { "type": "string", "description": "The key for the row where the entity will be inserted/merged. Changing this forces a new resource.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage table entity.\nChanging this forces a new resource to be created.\n" }, "tableName": { "type": "string", "description": "The name of the storage table in which to create the storage table entity.\nChanging this forces a new resource to be created.\n" } }, "required": [ "entity", "partitionKey", "rowKey", "storageAccountName", "tableName" ], "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.\n" }, "rowKey": { "type": "string", "description": "The key for the row where the entity will be inserted/merged. Changing this forces a new resource.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage table entity.\nChanging this forces a new resource to be created.\n" }, "tableName": { "type": "string", "description": "The name of the storage table in which to create the storage table entity.\nChanging this forces a new resource to be created.\n" } }, "requiredInputs": [ "entity", "partitionKey", "rowKey", "storageAccountName", "tableName" ], "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.\n" }, "rowKey": { "type": "string", "description": "The key for the row where the entity will be inserted/merged. Changing this forces a new resource.\n" }, "storageAccountName": { "type": "string", "description": "Specifies the storage account in which to create the storage table entity.\nChanging this forces a new resource to be created.\n" }, "tableName": { "type": "string", "description": "The name of the storage table in which to create the storage table entity.\nChanging this forces a new resource to be created.\n" } }, "type": "object" } }, "azure:storage/zipBlob:ZipBlob": { "properties": { "accessTier": { "type": "string" }, "content": { "$ref": "pulumi.json#/Archive" }, "contentType": { "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" }, "content": { "$ref": "pulumi.json#/Archive" }, "contentType": { "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" } }, "requiredInputs": [ "storageAccountName", "storageContainerName", "type" ], "stateInputs": { "description": "Input properties used for looking up and filtering ZipBlob resources.\n", "properties": { "accessTier": { "type": "string" }, "content": { "$ref": "pulumi.json#/Archive" }, "contentType": { "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" } }, "type": "object" }, "deprecationMessage": "ZipBlob resource is deprecated in the 2.0 version of the provider. Use Blob resource instead." }, "azure:streamanalytics/functionJavaScriptUDF:FunctionJavaScriptUDF": { "description": "Manages a JavaScript UDF Function within Stream Analytics Streaming Job.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleFunctionJavaScriptUDF = new azure.streamanalytics.FunctionJavaScriptUDF(\"exampleFunctionJavaScriptUDF\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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_resource_group = azure.core.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_function_java_script_udf = azure.streamanalytics.FunctionJavaScriptUDF(\"exampleFunctionJavaScriptUDF\",\n stream_analytics_job_name=example_job.name,\n resource_group_name=example_job.resource_group_name,\n script=\"\"\"function getRandomNumber(in) {\n return in;\n}\n\"\"\",\n inputs=[azure.streamanalytics.FunctionJavaScriptUDFInputArgs(\n type=\"bigint\",\n )],\n output=azure.streamanalytics.FunctionJavaScriptUDFOutputArgs(\n type=\"bigint\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleFunctionJavaScriptUDF = new Azure.StreamAnalytics.FunctionJavaScriptUDF(\"exampleFunctionJavaScriptUDF\", new Azure.StreamAnalytics.FunctionJavaScriptUDFArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.ResourceGroupName),\n Script = @\"function getRandomNumber(in) {\n return in;\n}\n\",\n Inputs = \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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.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, \"exampleFunctionJavaScriptUDF\", \u0026streamanalytics.FunctionJavaScriptUDFArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleJob.ResourceGroupName),\n\t\t\tScript: pulumi.String(fmt.Sprintf(\"%v%v%v\", \"function getRandomNumber(in) {\\n\", \" return in;\\n\", \"}\\n\")),\n\t\t\tInputs: streamanalytics.FunctionJavaScriptUDFInputArray{\n\t\t\t\t\u0026streamanalytics.FunctionJavaScriptUDFInputArgs{\n\t\t\t\t\tType: pulumi.String(\"bigint\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutput: \u0026streamanalytics.FunctionJavaScriptUDFOutputArgs{\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{{% /example %}}\n{{% /examples %}}", "properties": { "inputs": { "type": "array", "items": { "$ref": "#/types/azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput" }, "description": "One or more `input` 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 `output` 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 `input` 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 `output` 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" } }, "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 `input` 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 `output` 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" } }, "type": "object" } }, "azure:streamanalytics/job:Job": { "description": "Manages a Stream Analytics Job.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleJob = new azure.streamanalytics.Job(\"exampleJob\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n compatibilityLevel: \"1.1\",\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 [YourOutputAlias]\n FROM [YourInputAlias]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_job = azure.streamanalytics.Job(\"exampleJob\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n compatibility_level=\"1.1\",\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 [YourOutputAlias]\n FROM [YourInputAlias]\n\"\"\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleJob = new Azure.StreamAnalytics.Job(\"exampleJob\", new Azure.StreamAnalytics.JobArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n CompatibilityLevel = \"1.1\",\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 [YourOutputAlias]\n FROM [YourInputAlias]\n\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleJob\", \u0026streamanalytics.JobArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t\tCompatibilityLevel: pulumi.String(\"1.1\"),\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(fmt.Sprintf(\"%v%v%v\", \" 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{{% /example %}}\n{{% /examples %}}", "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` and `1.1`.\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).\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 `1814399` (20d 23h 59m 59s). Default is `0`.\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 `0` to `599` (9m 59s). Default is `5`.\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" }, "jobId": { "type": "string", "description": "The Job ID assigned by the Stream Analytics Job.\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" }, "streamingUnits": { "type": "integer", "description": "Specifies the number of streaming units that the streaming job uses. Supported values are `1`, `3`, `6` and multiples of `6` up to `120`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "transformationQuery": { "type": "string", "description": "Specifies the query that will be run in the streaming job, [written in Stream Analytics Query Language (SAQL)](https://msdn.microsoft.com/library/azure/dn834998).\n" } }, "required": [ "compatibilityLevel", "dataLocale", "jobId", "location", "name", "resourceGroupName", "streamingUnits", "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` and `1.1`.\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).\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 `1814399` (20d 23h 59m 59s). Default is `0`.\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 `0` to `599` (9m 59s). Default is `5`.\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" }, "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" }, "streamingUnits": { "type": "integer", "description": "Specifies the number of streaming units that the streaming job uses. Supported values are `1`, `3`, `6` and multiples of `6` up to `120`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "transformationQuery": { "type": "string", "description": "Specifies the query that will be run in the streaming job, [written in Stream Analytics Query Language (SAQL)](https://msdn.microsoft.com/library/azure/dn834998).\n" } }, "requiredInputs": [ "resourceGroupName", "streamingUnits", "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` and `1.1`.\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).\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 `1814399` (20d 23h 59m 59s). Default is `0`.\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 `0` to `599` (9m 59s). Default is `5`.\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" }, "jobId": { "type": "string", "description": "The Job ID assigned by the Stream Analytics Job.\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" }, "streamingUnits": { "type": "integer", "description": "Specifies the number of streaming units that the streaming job uses. Supported values are `1`, `3`, `6` and multiples of `6` up to `120`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "transformationQuery": { "type": "string", "description": "Specifies the query that will be run in the streaming job, [written in Stream Analytics Query Language (SAQL)](https://msdn.microsoft.com/library/azure/dn834998).\n" } }, "type": "object" } }, "azure:streamanalytics/outputBlob:OutputBlob": { "description": "Manages a Stream Analytics Output to Blob Storage.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleOutputBlob = new azure.streamanalytics.OutputBlob(\"exampleOutputBlob\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_account = azure.storage.Account(\"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_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_output_blob = azure.streamanalytics.OutputBlob(\"exampleOutputBlob\",\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=\"some-pattern\",\n date_format=\"yyyy-MM-dd\",\n time_format=\"HH\",\n serialization=azure.streamanalytics.OutputBlobSerializationArgs(\n type=\"Csv\",\n encoding=\"UTF8\",\n field_delimiter=\",\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleOutputBlob = new Azure.StreamAnalytics.OutputBlob(\"exampleOutputBlob\", new Azure.StreamAnalytics.OutputBlobArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleResourceGroup.Name),\n\t\t\tLocation: pulumi.String(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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleOutputBlob\", \u0026streamanalytics.OutputBlobArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(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(\"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{{% /example %}}\n{{% /examples %}}", "properties": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, 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": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, 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 OutputBlob resources.\n", "properties": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, the value of this property is used as the time format instead.\n" } }, "type": "object" } }, "azure:streamanalytics/outputEventHub:OutputEventHub": { "description": "Manages a Stream Analytics Output to an EventHub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n sku: \"Standard\",\n capacity: 1,\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n partitionCount: 2,\n messageRetention: 1,\n});\nconst exampleOutputEventHub = new azure.streamanalytics.OutputEventHub(\"exampleOutputEventHub\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\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(\"exampleEventHub\",\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(\"exampleOutputEventHub\",\n stream_analytics_job_name=example_job.name,\n resource_group_name=example_job.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=azure.streamanalytics.OutputEventHubSerializationArgs(\n type=\"Avro\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Sku = \"Standard\",\n Capacity = 1,\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n PartitionCount = 2,\n MessageRetention = 1,\n });\n var exampleOutputEventHub = new Azure.StreamAnalytics.OutputEventHub(\"exampleOutputEventHub\", new Azure.StreamAnalytics.OutputEventHubArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(exampleResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleOutputEventHub\", \u0026streamanalytics.OutputEventHubArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleJob.ResourceGroupName),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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 `serialization` 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" }, "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", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName" ], "inputProperties": { "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" }, "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 `serialization` 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" }, "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" } }, "requiredInputs": [ "eventhubName", "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName" ], "stateInputs": { "description": "Input properties used for looking up and filtering OutputEventHub resources.\n", "properties": { "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" }, "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 `serialization` 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" }, "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" } }, "type": "object" } }, "azure:streamanalytics/outputMssql:OutputMssql": { "description": "Manages a Stream Analytics Output to Microsoft SQL Server Database.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleSqlServer = new azure.sql.SqlServer(\"exampleSqlServer\", {\n resourceGroupName: azurerm_resource_group.example.name,\n location: azurerm_resource_group.example.location,\n version: \"12.0\",\n administratorLogin: \"dbadmin\",\n administratorLoginPassword: \"example-password\",\n});\nconst exampleDatabase = new azure.sql.Database(\"exampleDatabase\", {\n resourceGroupName: azurerm_resource_group.example.name,\n location: azurerm_resource_group.example.location,\n serverName: exampleSqlServer.name,\n requestedServiceObjectiveName: \"S0\",\n collation: \"SQL_LATIN1_GENERAL_CP1_CI_AS\",\n maxSizeBytes: \"268435456000\",\n createMode: \"Default\",\n});\nconst exampleOutputMssql = new azure.streamanalytics.OutputMssql(\"exampleOutputMssql\", {\n streamAnalyticsJobName: azurerm_stream_analytics_job.example.name,\n resourceGroupName: azurerm_stream_analytics_job.example.resource_group_name,\n server: exampleSqlServer.fullyQualifiedDomainName,\n user: exampleSqlServer.administratorLogin,\n password: exampleSqlServer.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_sql_server = azure.sql.SqlServer(\"exampleSqlServer\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"],\n location=azurerm_resource_group[\"example\"][\"location\"],\n version=\"12.0\",\n administrator_login=\"dbadmin\",\n administrator_login_password=\"example-password\")\nexample_database = azure.sql.Database(\"exampleDatabase\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"],\n location=azurerm_resource_group[\"example\"][\"location\"],\n server_name=example_sql_server.name,\n requested_service_objective_name=\"S0\",\n collation=\"SQL_LATIN1_GENERAL_CP1_CI_AS\",\n max_size_bytes=\"268435456000\",\n create_mode=\"Default\")\nexample_output_mssql = azure.streamanalytics.OutputMssql(\"exampleOutputMssql\",\n stream_analytics_job_name=azurerm_stream_analytics_job[\"example\"][\"name\"],\n resource_group_name=azurerm_stream_analytics_job[\"example\"][\"resource_group_name\"],\n server=example_sql_server.fully_qualified_domain_name,\n user=example_sql_server.administrator_login,\n password=example_sql_server.administrator_login_password,\n database=example_database.name,\n table=\"ExampleTable\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleSqlServer = new Azure.Sql.SqlServer(\"exampleSqlServer\", new Azure.Sql.SqlServerArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Location = azurerm_resource_group.Example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"dbadmin\",\n AdministratorLoginPassword = \"example-password\",\n });\n var exampleDatabase = new Azure.Sql.Database(\"exampleDatabase\", new Azure.Sql.DatabaseArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Location = azurerm_resource_group.Example.Location,\n ServerName = exampleSqlServer.Name,\n RequestedServiceObjectiveName = \"S0\",\n Collation = \"SQL_LATIN1_GENERAL_CP1_CI_AS\",\n MaxSizeBytes = \"268435456000\",\n CreateMode = \"Default\",\n });\n var exampleOutputMssql = new Azure.StreamAnalytics.OutputMssql(\"exampleOutputMssql\", new Azure.StreamAnalytics.OutputMssqlArgs\n {\n StreamAnalyticsJobName = azurerm_stream_analytics_job.Example.Name,\n ResourceGroupName = azurerm_stream_analytics_job.Example.Resource_group_name,\n Server = exampleSqlServer.FullyQualifiedDomainName,\n User = exampleSqlServer.AdministratorLogin,\n Password = exampleSqlServer.AdministratorLoginPassword,\n Database = exampleDatabase.Name,\n Table = \"ExampleTable\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\t_, err = streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSqlServer, err := sql.NewSqlServer(ctx, \"exampleSqlServer\", \u0026sql.SqlServerArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Example.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 := sql.NewDatabase(ctx, \"exampleDatabase\", \u0026sql.DatabaseArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.Example.Location),\n\t\t\tServerName: exampleSqlServer.Name,\n\t\t\tRequestedServiceObjectiveName: pulumi.String(\"S0\"),\n\t\t\tCollation: pulumi.String(\"SQL_LATIN1_GENERAL_CP1_CI_AS\"),\n\t\t\tMaxSizeBytes: pulumi.String(\"268435456000\"),\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 = streamanalytics.NewOutputMssql(ctx, \"exampleOutputMssql\", \u0026streamanalytics.OutputMssqlArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.Any(azurerm_stream_analytics_job.Example.Name),\n\t\t\tResourceGroupName: pulumi.Any(azurerm_stream_analytics_job.Example.Resource_group_name),\n\t\t\tServer: exampleSqlServer.FullyQualifiedDomainName,\n\t\t\tUser: exampleSqlServer.AdministratorLogin,\n\t\t\tPassword: exampleSqlServer.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{{% /example %}}\n{{% /examples %}}", "properties": { "database": { "type": "string" }, "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. 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" }, "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.\n" } }, "required": [ "database", "name", "password", "resourceGroupName", "server", "streamAnalyticsJobName", "table", "user" ], "inputProperties": { "database": { "type": "string" }, "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. 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" }, "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.\n" } }, "requiredInputs": [ "database", "password", "resourceGroupName", "server", "streamAnalyticsJobName", "table", "user" ], "stateInputs": { "description": "Input properties used for looking up and filtering OutputMssql resources.\n", "properties": { "database": { "type": "string" }, "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. 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" }, "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.\n" } }, "type": "object" } }, "azure:streamanalytics/outputServiceBusQueue:OutputServiceBusQueue": { "description": "Manages a Stream Analytics Output to a ServiceBus Queue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n sku: \"Standard\",\n});\nconst exampleQueue = new azure.servicebus.Queue(\"exampleQueue\", {\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleOutputServiceBusQueue = new azure.streamanalytics.OutputServiceBusQueue(\"exampleOutputServiceBusQueue\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.resourceGroupName),\n queueName: exampleQueue.name,\n servicebusNamespace: exampleNamespace.name,\n sharedAccessPolicyKey: exampleNamespace.defaultPrimaryKey,\n sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n serialization: {\n format: \"Avro\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_queue = azure.servicebus.Queue(\"exampleQueue\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_output_service_bus_queue = azure.streamanalytics.OutputServiceBusQueue(\"exampleOutputServiceBusQueue\",\n stream_analytics_job_name=example_job.name,\n resource_group_name=example_job.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=azure.streamanalytics.OutputServiceBusQueueSerializationArgs(\n format=\"Avro\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Sku = \"Standard\",\n });\n var exampleQueue = new Azure.ServiceBus.Queue(\"exampleQueue\", new Azure.ServiceBus.QueueArgs\n {\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleOutputServiceBusQueue = new Azure.StreamAnalytics.OutputServiceBusQueue(\"exampleOutputServiceBusQueue\", new Azure.StreamAnalytics.OutputServiceBusQueueArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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 Format = \"Avro\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: pulumi.String(exampleResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleQueue\", \u0026servicebus.QueueArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleResourceGroup.Name),\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputServiceBusQueue(ctx, \"exampleOutputServiceBusQueue\", \u0026streamanalytics.OutputServiceBusQueueArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleJob.ResourceGroupName),\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\tFormat: 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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the Stream Output. Changing this forces a new resource to be created.\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 `serialization` 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" }, "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": [ "name", "queueName", "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the Stream Output. Changing this forces a new resource to be created.\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 `serialization` 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" }, "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" } }, "requiredInputs": [ "queueName", "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName" ], "stateInputs": { "description": "Input properties used for looking up and filtering OutputServiceBusQueue resources.\n", "properties": { "name": { "type": "string", "description": "The name of the Stream Output. Changing this forces a new resource to be created.\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 `serialization` 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" }, "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" } }, "type": "object" } }, "azure:streamanalytics/outputServicebusTopic:OutputServicebusTopic": { "description": "Manages a Stream Analytics Output to a ServiceBus Topic.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleNamespace = new azure.servicebus.Namespace(\"exampleNamespace\", {\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n sku: \"Standard\",\n});\nconst exampleTopic = new azure.servicebus.Topic(\"exampleTopic\", {\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n namespaceName: exampleNamespace.name,\n enablePartitioning: true,\n});\nconst exampleOutputServicebusTopic = new azure.streamanalytics.OutputServicebusTopic(\"exampleOutputServicebusTopic\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.resourceGroupName),\n topicName: exampleTopic.name,\n servicebusNamespace: exampleNamespace.name,\n sharedAccessPolicyKey: exampleNamespace.defaultPrimaryKey,\n sharedAccessPolicyName: \"RootManageSharedAccessKey\",\n serialization: {\n format: \"Avro\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_namespace = azure.servicebus.Namespace(\"exampleNamespace\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n sku=\"Standard\")\nexample_topic = azure.servicebus.Topic(\"exampleTopic\",\n resource_group_name=example_resource_group.name,\n namespace_name=example_namespace.name,\n enable_partitioning=True)\nexample_output_servicebus_topic = azure.streamanalytics.OutputServicebusTopic(\"exampleOutputServicebusTopic\",\n stream_analytics_job_name=example_job.name,\n resource_group_name=example_job.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 serialization=azure.streamanalytics.OutputServicebusTopicSerializationArgs(\n format=\"Avro\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleNamespace = new Azure.ServiceBus.Namespace(\"exampleNamespace\", new Azure.ServiceBus.NamespaceArgs\n {\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Sku = \"Standard\",\n });\n var exampleTopic = new Azure.ServiceBus.Topic(\"exampleTopic\", new Azure.ServiceBus.TopicArgs\n {\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n NamespaceName = exampleNamespace.Name,\n EnablePartitioning = true,\n });\n var exampleOutputServicebusTopic = new Azure.StreamAnalytics.OutputServicebusTopic(\"exampleOutputServicebusTopic\", new Azure.StreamAnalytics.OutputServicebusTopicArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.ResourceGroupName),\n TopicName = exampleTopic.Name,\n ServicebusNamespace = exampleNamespace.Name,\n SharedAccessPolicyKey = exampleNamespace.DefaultPrimaryKey,\n SharedAccessPolicyName = \"RootManageSharedAccessKey\",\n Serialization = new Azure.StreamAnalytics.Inputs.OutputServicebusTopicSerializationArgs\n {\n Format = \"Avro\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := servicebus.NewNamespace(ctx, \"exampleNamespace\", \u0026servicebus.NamespaceArgs{\n\t\t\tLocation: pulumi.String(exampleResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleTopic\", \u0026servicebus.TopicArgs{\n\t\t\tResourceGroupName: pulumi.String(exampleResourceGroup.Name),\n\t\t\tNamespaceName: exampleNamespace.Name,\n\t\t\tEnablePartitioning: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = streamanalytics.NewOutputServicebusTopic(ctx, \"exampleOutputServicebusTopic\", \u0026streamanalytics.OutputServicebusTopicArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleJob.ResourceGroupName),\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\tSerialization: \u0026streamanalytics.OutputServicebusTopicSerializationArgs{\n\t\t\t\tFormat: 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{{% /example %}}\n{{% /examples %}}", "properties": { "name": { "type": "string", "description": "The name of the Stream 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 Job exists. Changing this forces a new resource to be created.\n" }, "serialization": { "$ref": "#/types/azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization", "description": "A `serialization` 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.\n" }, "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" }, "topicName": { "type": "string", "description": "The name of the Service Bus Topic.\n" } }, "required": [ "name", "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName", "topicName" ], "inputProperties": { "name": { "type": "string", "description": "The name of the Stream 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 Job exists. Changing this forces a new resource to be created.\n" }, "serialization": { "$ref": "#/types/azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization", "description": "A `serialization` 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.\n" }, "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" }, "topicName": { "type": "string", "description": "The name of the Service Bus Topic.\n" } }, "requiredInputs": [ "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName", "topicName" ], "stateInputs": { "description": "Input properties used for looking up and filtering OutputServicebusTopic resources.\n", "properties": { "name": { "type": "string", "description": "The name of the Stream 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 Job exists. Changing this forces a new resource to be created.\n" }, "serialization": { "$ref": "#/types/azure:streamanalytics/OutputServicebusTopicSerialization:OutputServicebusTopicSerialization", "description": "A `serialization` 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.\n" }, "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" }, "topicName": { "type": "string", "description": "The name of the Service Bus Topic.\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/en-us/azure/stream-analytics/stream-analytics-use-reference-data#azure-blob-storage).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: azurerm_resource_group.example.name,\n location: azurerm_resource_group.example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst test = new azure.streamanalytics.ReferenceInputBlob(\"test\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"],\n location=azurerm_resource_group[\"example\"][\"location\"],\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\ntest = azure.streamanalytics.ReferenceInputBlob(\"test\",\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=\"some-random-pattern\",\n date_format=\"yyyy/MM/dd\",\n time_format=\"HH\",\n serialization=azure.streamanalytics.ReferenceInputBlobSerializationArgs(\n type=\"Json\",\n encoding=\"UTF8\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Location = azurerm_resource_group.Example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var test = new Azure.StreamAnalytics.ReferenceInputBlob(\"test\", new Azure.StreamAnalytics.ReferenceInputBlobArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.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, \"exampleContainer\", \u0026storage.ContainerArgs{\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\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(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(\"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{{% /example %}}\n{{% /examples %}}", "properties": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, 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": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, 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 ReferenceInputBlob resources.\n", "properties": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, the value of this property is used as the time format instead.\n" } }, "type": "object" } }, "azure:streamanalytics/streamInputBlob:StreamInputBlob": { "description": "Manages a Stream Analytics Stream Input Blob.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: azurerm_resource_group.example.name,\n location: azurerm_resource_group.example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"exampleContainer\", {\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleStreamInputBlob = new azure.streamanalytics.StreamInputBlob(\"exampleStreamInputBlob\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"],\n location=azurerm_resource_group[\"example\"][\"location\"],\n account_tier=\"Standard\",\n account_replication_type=\"LRS\")\nexample_container = azure.storage.Container(\"exampleContainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_stream_input_blob = azure.streamanalytics.StreamInputBlob(\"exampleStreamInputBlob\",\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=\"some-random-pattern\",\n date_format=\"yyyy/MM/dd\",\n time_format=\"HH\",\n serialization=azure.streamanalytics.StreamInputBlobSerializationArgs(\n type=\"Json\",\n encoding=\"UTF8\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Location = azurerm_resource_group.Example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var exampleContainer = new Azure.Storage.Container(\"exampleContainer\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n var exampleStreamInputBlob = new Azure.StreamAnalytics.StreamInputBlob(\"exampleStreamInputBlob\", new Azure.StreamAnalytics.StreamInputBlobArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.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, \"exampleContainer\", \u0026storage.ContainerArgs{\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, \"exampleStreamInputBlob\", \u0026streamanalytics.StreamInputBlobArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(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(\"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{{% /example %}}\n{{% /examples %}}", "properties": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, 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": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, 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": { "dateFormat": { "type": "string", "description": "The date format. Wherever `{date}` appears in `path_pattern`, 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 `serialization` block as defined below.\n" }, "storageAccountKey": { "type": "string", "description": "The Access Key which should be used to connect to this Storage Account.\n" }, "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 `path_pattern`, the value of this property is used as the time format instead.\n" } }, "type": "object" } }, "azure:streamanalytics/streamInputEventHub:StreamInputEventHub": { "description": "Manages a Stream Analytics Stream Input EventHub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleEventHubNamespace = new azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\", {\n location: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.location),\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n sku: \"Standard\",\n capacity: 1,\n});\nconst exampleEventHub = new azure.eventhub.EventHub(\"exampleEventHub\", {\n namespaceName: exampleEventHubNamespace.name,\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n partitionCount: 2,\n messageRetention: 1,\n});\nconst exampleConsumerGroup = new azure.eventhub.ConsumerGroup(\"exampleConsumerGroup\", {\n namespaceName: exampleEventHubNamespace.name,\n eventhubName: exampleEventHub.name,\n resourceGroupName: exampleResourceGroup.then(exampleResourceGroup =\u003e exampleResourceGroup.name),\n});\nconst exampleStreamInputEventHub = new azure.streamanalytics.StreamInputEventHub(\"exampleStreamInputEventHub\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_event_hub_namespace = azure.eventhub.EventHubNamespace(\"exampleEventHubNamespace\",\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(\"exampleEventHub\",\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(\"exampleConsumerGroup\",\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(\"exampleStreamInputEventHub\",\n stream_analytics_job_name=example_job.name,\n resource_group_name=example_job.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=azure.streamanalytics.StreamInputEventHubSerializationArgs(\n type=\"Json\",\n encoding=\"UTF8\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace(\"exampleEventHubNamespace\", new Azure.EventHub.EventHubNamespaceArgs\n {\n Location = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Location),\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n Sku = \"Standard\",\n Capacity = 1,\n });\n var exampleEventHub = new Azure.EventHub.EventHub(\"exampleEventHub\", new Azure.EventHub.EventHubArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n PartitionCount = 2,\n MessageRetention = 1,\n });\n var exampleConsumerGroup = new Azure.EventHub.ConsumerGroup(\"exampleConsumerGroup\", new Azure.EventHub.ConsumerGroupArgs\n {\n NamespaceName = exampleEventHubNamespace.Name,\n EventhubName = exampleEventHub.Name,\n ResourceGroupName = exampleResourceGroup.Apply(exampleResourceGroup =\u003e exampleResourceGroup.Name),\n });\n var exampleStreamInputEventHub = new Azure.StreamAnalytics.StreamInputEventHub(\"exampleStreamInputEventHub\", new Azure.StreamAnalytics.StreamInputEventHubArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, \"exampleEventHubNamespace\", \u0026eventhub.EventHubNamespaceArgs{\n\t\t\tLocation: pulumi.String(exampleResourceGroup.Location),\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleEventHub\", \u0026eventhub.EventHubArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleConsumerGroup\", \u0026eventhub.ConsumerGroupArgs{\n\t\t\tNamespaceName: exampleEventHubNamespace.Name,\n\t\t\tEventhubName: exampleEventHub.Name,\n\t\t\tResourceGroupName: pulumi.String(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, \"exampleStreamInputEventHub\", \u0026streamanalytics.StreamInputEventHubArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleJob.ResourceGroupName),\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{{% /example %}}\n{{% /examples %}}", "properties": { "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" }, "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" }, "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 `serialization` 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" }, "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": [ "eventhubConsumerGroupName", "eventhubName", "name", "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName" ], "inputProperties": { "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" }, "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" }, "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 `serialization` 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" }, "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" } }, "requiredInputs": [ "eventhubConsumerGroupName", "eventhubName", "resourceGroupName", "serialization", "servicebusNamespace", "sharedAccessPolicyKey", "sharedAccessPolicyName", "streamAnalyticsJobName" ], "stateInputs": { "description": "Input properties used for looking up and filtering StreamInputEventHub resources.\n", "properties": { "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" }, "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" }, "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 `serialization` 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" }, "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" } }, "type": "object" } }, "azure:streamanalytics/streamInputIotHub:StreamInputIotHub": { "description": "Manages a Stream Analytics Stream Input IoTHub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = azure.core.getResourceGroup({\n name: \"example-resources\",\n});\nconst exampleJob = azure.streamanalytics.getJob({\n name: \"example-job\",\n resourceGroupName: azurerm_resource_group.example.name,\n});\nconst exampleIoTHub = new azure.iot.IoTHub(\"exampleIoTHub\", {\n resourceGroupName: azurerm_resource_group.example.name,\n location: azurerm_resource_group.example.location,\n sku: {\n name: \"S1\",\n capacity: \"1\",\n },\n});\nconst exampleStreamInputIotHub = new azure.streamanalytics.StreamInputIotHub(\"exampleStreamInputIotHub\", {\n streamAnalyticsJobName: exampleJob.then(exampleJob =\u003e exampleJob.name),\n resourceGroupName: exampleJob.then(exampleJob =\u003e exampleJob.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.get_resource_group(name=\"example-resources\")\nexample_job = azure.streamanalytics.get_job(name=\"example-job\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\nexample_io_t_hub = azure.iot.IoTHub(\"exampleIoTHub\",\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"],\n location=azurerm_resource_group[\"example\"][\"location\"],\n sku=azure.iot.IoTHubSkuArgs(\n name=\"S1\",\n capacity=1,\n ))\nexample_stream_input_iot_hub = azure.streamanalytics.StreamInputIotHub(\"exampleStreamInputIotHub\",\n stream_analytics_job_name=example_job.name,\n resource_group_name=example_job.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=azure.streamanalytics.StreamInputIotHubSerializationArgs(\n type=\"Json\",\n encoding=\"UTF8\",\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"example-resources\",\n }));\n var exampleJob = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n var exampleIoTHub = new Azure.Iot.IoTHub(\"exampleIoTHub\", new Azure.Iot.IoTHubArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Location = azurerm_resource_group.Example.Location,\n Sku = new Azure.Iot.Inputs.IoTHubSkuArgs\n {\n Name = \"S1\",\n Capacity = 1,\n },\n });\n var exampleStreamInputIotHub = new Azure.StreamAnalytics.StreamInputIotHub(\"exampleStreamInputIotHub\", new Azure.StreamAnalytics.StreamInputIotHubArgs\n {\n StreamAnalyticsJobName = exampleJob.Apply(exampleJob =\u003e exampleJob.Name),\n ResourceGroupName = exampleJob.Apply(exampleJob =\u003e exampleJob.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```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\texampleJob, err := streamanalytics.LookupJob(ctx, \u0026streamanalytics.LookupJobArgs{\n\t\t\tName: \"example-job\",\n\t\t\tResourceGroupName: azurerm_resource_group.Example.Name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIoTHub, err := iot.NewIoTHub(ctx, \"exampleIoTHub\", \u0026iot.IoTHubArgs{\n\t\t\tResourceGroupName: pulumi.Any(azurerm_resource_group.Example.Name),\n\t\t\tLocation: pulumi.Any(azurerm_resource_group.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 = streamanalytics.NewStreamInputIotHub(ctx, \"exampleStreamInputIotHub\", \u0026streamanalytics.StreamInputIotHubArgs{\n\t\t\tStreamAnalyticsJobName: pulumi.String(exampleJob.Name),\n\t\t\tResourceGroupName: pulumi.String(exampleJob.ResourceGroupName),\n\t\t\tEndpoint: pulumi.String(\"messages/events\"),\n\t\t\tEventhubConsumerGroupName: pulumi.String(fmt.Sprintf(\"%v%v\", \"$\", \"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 sharedAccessPolicies[0].PrimaryKey, nil\n\t\t\t}).(pulumi.StringOutput)),\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{{% /example %}}\n{{% /examples %}}", "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 `serialization` block as defined below.\n" }, "sharedAccessPolicyKey": { "type": "string", "description": "The shared access policy key for the specified shared access policy.\n" }, "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" }, "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 `serialization` block as defined below.\n" }, "sharedAccessPolicyKey": { "type": "string", "description": "The shared access policy key for the specified shared access policy.\n" }, "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" } }, "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" }, "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 `serialization` block as defined below.\n" }, "sharedAccessPolicyKey": { "type": "string", "description": "The shared access policy key for the specified shared access policy.\n" }, "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" } }, "type": "object" } }, "azure:synapse/firewallRule:FirewallRule": { "description": "Allows you to Manages a Synapse Firewall Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\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(\"exampleDataLakeGen2Filesystem\", {storageAccountId: exampleAccount.id});\nconst exampleWorkspace = new azure.synapse.Workspace(\"exampleWorkspace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n sqlAdministratorLogin: \"sqladminuser\",\n sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n});\nconst exampleFirewallRule = new azure.synapse.FirewallRule(\"exampleFirewallRule\", {\n synapseWorkspaceId: azurerm_synapse_workspace.test.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_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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(\"exampleDataLakeGen2Filesystem\", storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"exampleWorkspace\",\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!\")\nexample_firewall_rule = azure.synapse.FirewallRule(\"exampleFirewallRule\",\n synapse_workspace_id=azurerm_synapse_workspace[\"test\"][\"id\"],\n start_ip_address=\"0.0.0.0\",\n end_ip_address=\"255.255.255.255\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n AccountKind = \"StorageV2\",\n IsHnsEnabled = true,\n });\n var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", new Azure.Storage.DataLakeGen2FilesystemArgs\n {\n StorageAccountId = exampleAccount.Id,\n });\n var exampleWorkspace = new Azure.Synapse.Workspace(\"exampleWorkspace\", new Azure.Synapse.WorkspaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n SqlAdministratorLogin = \"sqladminuser\",\n SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n });\n var exampleFirewallRule = new Azure.Synapse.FirewallRule(\"exampleFirewallRule\", new Azure.Synapse.FirewallRuleArgs\n {\n SynapseWorkspaceId = azurerm_synapse_workspace.Test.Id,\n StartIpAddress = \"0.0.0.0\",\n EndIpAddress = \"255.255.255.255\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleDataLakeGen2Filesystem\", \u0026storage.DataLakeGen2FilesystemArgs{\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, \"exampleWorkspace\", \u0026synapse.WorkspaceArgs{\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewFirewallRule(ctx, \"exampleFirewallRule\", \u0026synapse.FirewallRuleArgs{\n\t\t\tSynapseWorkspaceId: pulumi.Any(azurerm_synapse_workspace.Test.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{{% /example %}}\n{{% /examples %}}", "properties": { "endIpAddress": { "type": "string", "description": "The ending IP address to allow through the firewall for this rule.\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" }, "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" } }, "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" }, "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" } }, "type": "object" } }, "azure:synapse/sparkPool:SparkPool": { "description": "Manages a Synapse Spark Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\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(\"exampleDataLakeGen2Filesystem\", {storageAccountId: exampleAccount.id});\nconst exampleWorkspace = new azure.synapse.Workspace(\"exampleWorkspace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n sqlAdministratorLogin: \"sqladminuser\",\n sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n});\nconst exampleSparkPool = new azure.synapse.SparkPool(\"exampleSparkPool\", {\n synapseWorkspaceId: exampleWorkspace.id,\n nodeSizeFamily: \"MemoryOptimized\",\n nodeSize: \"Small\",\n autoScale: {\n maxNodeCount: 50,\n minNodeCount: 3,\n },\n autoPause: {\n delayInMinutes: 15,\n },\n tags: {\n ENV: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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(\"exampleDataLakeGen2Filesystem\", storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"exampleWorkspace\",\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!\")\nexample_spark_pool = azure.synapse.SparkPool(\"exampleSparkPool\",\n synapse_workspace_id=example_workspace.id,\n node_size_family=\"MemoryOptimized\",\n node_size=\"Small\",\n auto_scale=azure.synapse.SparkPoolAutoScaleArgs(\n max_node_count=50,\n min_node_count=3,\n ),\n auto_pause=azure.synapse.SparkPoolAutoPauseArgs(\n delay_in_minutes=15,\n ),\n tags={\n \"ENV\": \"Production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n AccountKind = \"StorageV2\",\n IsHnsEnabled = true,\n });\n var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", new Azure.Storage.DataLakeGen2FilesystemArgs\n {\n StorageAccountId = exampleAccount.Id,\n });\n var exampleWorkspace = new Azure.Synapse.Workspace(\"exampleWorkspace\", new Azure.Synapse.WorkspaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n SqlAdministratorLogin = \"sqladminuser\",\n SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n });\n var exampleSparkPool = new Azure.Synapse.SparkPool(\"exampleSparkPool\", new Azure.Synapse.SparkPoolArgs\n {\n SynapseWorkspaceId = exampleWorkspace.Id,\n NodeSizeFamily = \"MemoryOptimized\",\n NodeSize = \"Small\",\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 Tags = \n {\n { \"ENV\", \"Production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleDataLakeGen2Filesystem\", \u0026storage.DataLakeGen2FilesystemArgs{\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, \"exampleWorkspace\", \u0026synapse.WorkspaceArgs{\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSparkPool(ctx, \"exampleSparkPool\", \u0026synapse.SparkPoolArgs{\n\t\t\tSynapseWorkspaceId: exampleWorkspace.ID(),\n\t\t\tNodeSizeFamily: pulumi.String(\"MemoryOptimized\"),\n\t\t\tNodeSize: pulumi.String(\"Small\"),\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\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{{% /example %}}\n{{% /examples %}}", "properties": { "autoPause": { "$ref": "#/types/azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause", "description": "An `auto_pause` block as defined below.\n" }, "autoScale": { "$ref": "#/types/azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale", "description": "An `auto_scale` block as defined below. Exactly one of `node_count` or `auto_scale` must be specified.\n" }, "libraryRequirement": { "$ref": "#/types/azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement", "description": "A `library_requirement` block as defined below.\n" }, "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 `node_count` or `auto_scale` must be specified.\n" }, "nodeSize": { "type": "string", "description": "The level of node in the Spark Pool. Possible value is `Small`, `Medium` and `Large`.\n" }, "nodeSizeFamily": { "type": "string", "description": "The kind of nodes that the Spark Pool provides. Possible value is `MemoryOptimized`.\n" }, "sparkEventsFolder": { "type": "string", "description": "The Spark events folder. Defaults to `/events`.\n" }, "sparkLogFolder": { "type": "string", "description": "The default folder where Spark logs will be written. Defaults to `/logs`.\n" }, "sparkVersion": { "type": "string", "description": "The Apache Spark version. Possible value is `2.4`. Defaults to `2.4`.\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" }, "description": "A mapping of tags which should be assigned to the Synapse Spark Pool.\n" } }, "required": [ "name", "nodeSize", "nodeSizeFamily", "synapseWorkspaceId" ], "inputProperties": { "autoPause": { "$ref": "#/types/azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause", "description": "An `auto_pause` block as defined below.\n" }, "autoScale": { "$ref": "#/types/azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale", "description": "An `auto_scale` block as defined below. Exactly one of `node_count` or `auto_scale` must be specified.\n" }, "libraryRequirement": { "$ref": "#/types/azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement", "description": "A `library_requirement` block as defined below.\n" }, "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 `node_count` or `auto_scale` must be specified.\n" }, "nodeSize": { "type": "string", "description": "The level of node in the Spark Pool. Possible value is `Small`, `Medium` and `Large`.\n" }, "nodeSizeFamily": { "type": "string", "description": "The kind of nodes that the Spark Pool provides. Possible value is `MemoryOptimized`.\n" }, "sparkEventsFolder": { "type": "string", "description": "The Spark events folder. Defaults to `/events`.\n" }, "sparkLogFolder": { "type": "string", "description": "The default folder where Spark logs will be written. Defaults to `/logs`.\n" }, "sparkVersion": { "type": "string", "description": "The Apache Spark version. Possible value is `2.4`. Defaults to `2.4`.\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" }, "description": "A mapping of tags which should be assigned to the Synapse Spark Pool.\n" } }, "requiredInputs": [ "nodeSize", "nodeSizeFamily", "synapseWorkspaceId" ], "stateInputs": { "description": "Input properties used for looking up and filtering SparkPool resources.\n", "properties": { "autoPause": { "$ref": "#/types/azure:synapse/SparkPoolAutoPause:SparkPoolAutoPause", "description": "An `auto_pause` block as defined below.\n" }, "autoScale": { "$ref": "#/types/azure:synapse/SparkPoolAutoScale:SparkPoolAutoScale", "description": "An `auto_scale` block as defined below. Exactly one of `node_count` or `auto_scale` must be specified.\n" }, "libraryRequirement": { "$ref": "#/types/azure:synapse/SparkPoolLibraryRequirement:SparkPoolLibraryRequirement", "description": "A `library_requirement` block as defined below.\n" }, "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 `node_count` or `auto_scale` must be specified.\n" }, "nodeSize": { "type": "string", "description": "The level of node in the Spark Pool. Possible value is `Small`, `Medium` and `Large`.\n" }, "nodeSizeFamily": { "type": "string", "description": "The kind of nodes that the Spark Pool provides. Possible value is `MemoryOptimized`.\n" }, "sparkEventsFolder": { "type": "string", "description": "The Spark events folder. Defaults to `/events`.\n" }, "sparkLogFolder": { "type": "string", "description": "The default folder where Spark logs will be written. Defaults to `/logs`.\n" }, "sparkVersion": { "type": "string", "description": "The Apache Spark version. Possible value is `2.4`. Defaults to `2.4`.\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" }, "description": "A mapping of tags which should be assigned to the Synapse Spark Pool.\n" } }, "type": "object" } }, "azure:synapse/sqlPool:SqlPool": { "description": "Manages a Synapse Sql Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n accountKind: \"BlobStorage\",\n});\nconst exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", {storageAccountId: exampleAccount.id});\nconst exampleWorkspace = new azure.synapse.Workspace(\"exampleWorkspace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n storageDataLakeGen2FilesystemId: exampleDataLakeGen2Filesystem.id,\n sqlAdministratorLogin: \"sqladminuser\",\n sqlAdministratorLoginPassword: \"H@Sh1CoR3!\",\n});\nconst exampleSqlPool = new azure.synapse.SqlPool(\"exampleSqlPool\", {\n synapseWorkspaceId: exampleWorkspace.id,\n skuName: \"DW100c\",\n createMode: \"Default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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=\"BlobStorage\")\nexample_data_lake_gen2_filesystem = azure.storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"exampleWorkspace\",\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!\")\nexample_sql_pool = azure.synapse.SqlPool(\"exampleSqlPool\",\n synapse_workspace_id=example_workspace.id,\n sku_name=\"DW100c\",\n create_mode=\"Default\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n AccountKind = \"BlobStorage\",\n });\n var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", new Azure.Storage.DataLakeGen2FilesystemArgs\n {\n StorageAccountId = exampleAccount.Id,\n });\n var exampleWorkspace = new Azure.Synapse.Workspace(\"exampleWorkspace\", new Azure.Synapse.WorkspaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n SqlAdministratorLogin = \"sqladminuser\",\n SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n });\n var exampleSqlPool = new Azure.Synapse.SqlPool(\"exampleSqlPool\", new Azure.Synapse.SqlPoolArgs\n {\n SynapseWorkspaceId = exampleWorkspace.Id,\n SkuName = \"DW100c\",\n CreateMode = \"Default\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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(\"BlobStorage\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDataLakeGen2Filesystem, err := storage.NewDataLakeGen2Filesystem(ctx, \"exampleDataLakeGen2Filesystem\", \u0026storage.DataLakeGen2FilesystemArgs{\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, \"exampleWorkspace\", \u0026synapse.WorkspaceArgs{\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synapse.NewSqlPool(ctx, \"exampleSqlPool\", \u0026synapse.SqlPoolArgs{\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "collation": { "type": "string", "description": "The name of the collation to use with this pool, only applicable when `create_mode` is set to `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource 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`.\n" }, "dataEncrypted": { "type": "boolean" }, "name": { "type": "string", "description": "The name which should be used for this Synapse Sql Pool. Changing this forces a new synapse SqlPool 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 `create_mode` 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 `restore` block as defined below. only applicable when `create_mode` is set to `PointInTimeRestore`.\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" }, "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", "synapseWorkspaceId" ], "inputProperties": { "collation": { "type": "string", "description": "The name of the collation to use with this pool, only applicable when `create_mode` is set to `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource 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`.\n" }, "dataEncrypted": { "type": "boolean" }, "name": { "type": "string", "description": "The name which should be used for this Synapse Sql Pool. Changing this forces a new synapse SqlPool 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 `create_mode` 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 `restore` block as defined below. only applicable when `create_mode` is set to `PointInTimeRestore`.\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" }, "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" } }, "requiredInputs": [ "skuName", "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 `create_mode` is set to `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource 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`.\n" }, "dataEncrypted": { "type": "boolean" }, "name": { "type": "string", "description": "The name which should be used for this Synapse Sql Pool. Changing this forces a new synapse SqlPool 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 `create_mode` 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 `restore` block as defined below. only applicable when `create_mode` is set to `PointInTimeRestore`.\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" }, "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" } }, "type": "object" } }, "azure:synapse/workspace:Workspace": { "description": "Manages a Synapse Workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West Europe\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\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(\"exampleDataLakeGen2Filesystem\", {storageAccountId: exampleAccount.id});\nconst exampleWorkspace = new azure.synapse.Workspace(\"exampleWorkspace\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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 tags: {\n Env: \"production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West Europe\")\nexample_account = azure.storage.Account(\"exampleAccount\",\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(\"exampleDataLakeGen2Filesystem\", storage_account_id=example_account.id)\nexample_workspace = azure.synapse.Workspace(\"exampleWorkspace\",\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 aad_admin=azure.synapse.WorkspaceAadAdminArgs(\n login=\"AzureAD Admin\",\n object_id=\"00000000-0000-0000-0000-000000000000\",\n tenant_id=\"00000000-0000-0000-0000-000000000000\",\n ),\n tags={\n \"Env\": \"production\",\n })\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West Europe\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n AccountKind = \"StorageV2\",\n IsHnsEnabled = true,\n });\n var exampleDataLakeGen2Filesystem = new Azure.Storage.DataLakeGen2Filesystem(\"exampleDataLakeGen2Filesystem\", new Azure.Storage.DataLakeGen2FilesystemArgs\n {\n StorageAccountId = exampleAccount.Id,\n });\n var exampleWorkspace = new Azure.Synapse.Workspace(\"exampleWorkspace\", new Azure.Synapse.WorkspaceArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n StorageDataLakeGen2FilesystemId = exampleDataLakeGen2Filesystem.Id,\n SqlAdministratorLogin = \"sqladminuser\",\n SqlAdministratorLoginPassword = \"H@Sh1CoR3!\",\n AadAdmin = new Azure.Synapse.Inputs.WorkspaceAadAdminArgs\n {\n Login = \"AzureAD Admin\",\n ObjectId = \"00000000-0000-0000-0000-000000000000\",\n TenantId = \"00000000-0000-0000-0000-000000000000\",\n },\n Tags = \n {\n { \"Env\", \"production\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\n\t\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, \"exampleAccount\", \u0026storage.AccountArgs{\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, \"exampleDataLakeGen2Filesystem\", \u0026storage.DataLakeGen2FilesystemArgs{\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, \"exampleWorkspace\", \u0026synapse.WorkspaceArgs{\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\tAadAdmin: \u0026synapse.WorkspaceAadAdminArgs{\n\t\t\t\tLogin: pulumi.String(\"AzureAD Admin\"),\n\t\t\t\tObjectId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t\tTenantId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "aadAdmin": { "$ref": "#/types/azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin", "description": "An `aad_admin` block as defined below.\n" }, "connectivityEndpoints": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A list of Connectivity endpoints for this Synapse Workspace.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:synapse/WorkspaceIdentity:WorkspaceIdentity" }, "description": "An `identity` block as defined below, which contains the Managed Service Identity information for this Synapse Workspace.\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.\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" }, "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.\n" }, "sqlAdministratorLoginPassword": { "type": "string", "description": "The Password associated with the `sql_administrator_login` for the SQL administrator.\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": [ "aadAdmin", "connectivityEndpoints", "identities", "location", "managedResourceGroupName", "name", "resourceGroupName", "sqlAdministratorLogin", "sqlAdministratorLoginPassword", "storageDataLakeGen2FilesystemId" ], "inputProperties": { "aadAdmin": { "$ref": "#/types/azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin", "description": "An `aad_admin` block as defined below.\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" }, "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" }, "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.\n" }, "sqlAdministratorLoginPassword": { "type": "string", "description": "The Password associated with the `sql_administrator_login` for the SQL administrator.\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" } }, "requiredInputs": [ "resourceGroupName", "sqlAdministratorLogin", "sqlAdministratorLoginPassword", "storageDataLakeGen2FilesystemId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Workspace resources.\n", "properties": { "aadAdmin": { "$ref": "#/types/azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin", "description": "An `aad_admin` block as defined below.\n" }, "connectivityEndpoints": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A list of Connectivity endpoints for this Synapse Workspace.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:synapse/WorkspaceIdentity:WorkspaceIdentity" }, "description": "An `identity` block as defined below, which contains the Managed Service Identity information for this Synapse Workspace.\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.\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" }, "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.\n" }, "sqlAdministratorLoginPassword": { "type": "string", "description": "The Password associated with the `sql_administrator_login` for the SQL administrator.\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" } }, "type": "object" } }, "azure:trafficmanager/endpoint:Endpoint": { "description": "Manages a Traffic Manager Endpoint.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", {\n resourceGroupName: exampleResourceGroup.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});\nconst exampleTrafficManagerEndpoint = new azure.network.TrafficManagerEndpoint(\"exampleTrafficManagerEndpoint\", {\n resourceGroupName: exampleResourceGroup.name,\n profileName: exampleTrafficManagerProfile.name,\n type: \"externalEndpoints\",\n weight: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\",\n resource_group_name=example_resource_group.name,\n traffic_routing_method=\"Weighted\",\n dns_config=azure.network.TrafficManagerProfileDnsConfigArgs(\n relative_name=server.hex,\n ttl=100,\n ),\n monitor_config=azure.network.TrafficManagerProfileMonitorConfigArgs(\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_endpoint = azure.network.TrafficManagerEndpoint(\"exampleTrafficManagerEndpoint\",\n resource_group_name=example_resource_group.name,\n profile_name=example_traffic_manager_profile.name,\n type=\"externalEndpoints\",\n weight=100)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", new Azure.Network.TrafficManagerProfileArgs\n {\n ResourceGroupName = exampleResourceGroup.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 var exampleTrafficManagerEndpoint = new Azure.Network.TrafficManagerEndpoint(\"exampleTrafficManagerEndpoint\", new Azure.Network.TrafficManagerEndpointArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n ProfileName = exampleTrafficManagerProfile.Name,\n Type = \"externalEndpoints\",\n Weight = 100,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleTrafficManagerProfile, err := network.NewTrafficManagerProfile(ctx, \"exampleTrafficManagerProfile\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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\t_, err = network.NewTrafficManagerEndpoint(ctx, \"exampleTrafficManagerEndpoint\", \u0026network.TrafficManagerEndpointArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tProfileName: exampleTrafficManagerProfile.Name,\n\t\t\tType: pulumi.String(\"externalEndpoints\"),\n\t\t\tWeight: 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{{% /example %}}\n{{% /examples %}}", "properties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/EndpointCustomHeader:EndpointCustomHeader" }, "description": "One or more `custom_header` blocks as defined below\n" }, "endpointLocation": { "type": "string", "description": "Specifies the Azure location of the Endpoint,\nthis must be specified for Profiles using the `Performance` routing method\nif the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.\nFor Endpoints of type `azureEndpoints` the value will be taken from the\nlocation of the Azure target resource.\n" }, "endpointMonitorStatus": { "type": "string" }, "endpointStatus": { "type": "string", "description": "The status of the Endpoint, can be set to\neither `Enabled` or `Disabled`. Defaults to `Enabled`.\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/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).\n" }, "minChildEndpoints": { "type": "integer", "description": "This argument specifies the minimum number\nof endpoints that must be ‘online’ in the child profile in order for the\nparent profile to direct traffic to any of the endpoints in that child\nprofile. This argument only applies to Endpoints of type `nestedEndpoints`\nand defaults to `1`.\n" }, "name": { "type": "string", "description": "The name of the Traffic Manager endpoint. Changing this forces a\nnew resource to be created.\n" }, "priority": { "type": "integer", "description": "Specifies the priority of this Endpoint, this must be\nspecified for Profiles using the `Priority` traffic routing method. Supports\nvalues between 1 and 1000, with no Endpoints sharing the same value. If\nomitted the value will be computed in order of creation.\n" }, "profileName": { "type": "string", "description": "The name of the Traffic Manager Profile to attach\ncreate the Traffic Manager endpoint.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Traffic Manager Profile exists.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/EndpointSubnet:EndpointSubnet" }, "description": "One or more `subnet` blocks as defined below\n" }, "target": { "type": "string", "description": "The FQDN DNS name of the target. This argument must be\nprovided for an endpoint of type `externalEndpoints`, for other types it\nwill be computed.\n" }, "targetResourceId": { "type": "string", "description": "The resource id of an Azure resource to\ntarget. This argument must be provided for an endpoint of type\n`azureEndpoints` or `nestedEndpoints`.\n" }, "type": { "type": "string", "description": "The Endpoint type, must be one of:\n- `azureEndpoints`\n- `externalEndpoints`\n- `nestedEndpoints`\n" }, "weight": { "type": "integer", "description": "Specifies how much traffic should be distributed to this\nendpoint, this must be specified for Profiles using the `Weighted` traffic\nrouting method. Supports values between 1 and 1000.\n" } }, "required": [ "endpointLocation", "endpointMonitorStatus", "endpointStatus", "name", "priority", "profileName", "resourceGroupName", "target", "type", "weight" ], "inputProperties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/EndpointCustomHeader:EndpointCustomHeader" }, "description": "One or more `custom_header` blocks as defined below\n" }, "endpointLocation": { "type": "string", "description": "Specifies the Azure location of the Endpoint,\nthis must be specified for Profiles using the `Performance` routing method\nif the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.\nFor Endpoints of type `azureEndpoints` the value will be taken from the\nlocation of the Azure target resource.\n" }, "endpointStatus": { "type": "string", "description": "The status of the Endpoint, can be set to\neither `Enabled` or `Disabled`. Defaults to `Enabled`.\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/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).\n" }, "minChildEndpoints": { "type": "integer", "description": "This argument specifies the minimum number\nof endpoints that must be ‘online’ in the child profile in order for the\nparent profile to direct traffic to any of the endpoints in that child\nprofile. This argument only applies to Endpoints of type `nestedEndpoints`\nand defaults to `1`.\n" }, "name": { "type": "string", "description": "The name of the Traffic Manager endpoint. Changing this forces a\nnew resource to be created.\n" }, "priority": { "type": "integer", "description": "Specifies the priority of this Endpoint, this must be\nspecified for Profiles using the `Priority` traffic routing method. Supports\nvalues between 1 and 1000, with no Endpoints sharing the same value. If\nomitted the value will be computed in order of creation.\n" }, "profileName": { "type": "string", "description": "The name of the Traffic Manager Profile to attach\ncreate the Traffic Manager endpoint.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Traffic Manager Profile exists.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/EndpointSubnet:EndpointSubnet" }, "description": "One or more `subnet` blocks as defined below\n" }, "target": { "type": "string", "description": "The FQDN DNS name of the target. This argument must be\nprovided for an endpoint of type `externalEndpoints`, for other types it\nwill be computed.\n" }, "targetResourceId": { "type": "string", "description": "The resource id of an Azure resource to\ntarget. This argument must be provided for an endpoint of type\n`azureEndpoints` or `nestedEndpoints`.\n" }, "type": { "type": "string", "description": "The Endpoint type, must be one of:\n- `azureEndpoints`\n- `externalEndpoints`\n- `nestedEndpoints`\n" }, "weight": { "type": "integer", "description": "Specifies how much traffic should be distributed to this\nendpoint, this must be specified for Profiles using the `Weighted` traffic\nrouting method. Supports values between 1 and 1000.\n" } }, "requiredInputs": [ "profileName", "resourceGroupName", "type" ], "stateInputs": { "description": "Input properties used for looking up and filtering Endpoint resources.\n", "properties": { "customHeaders": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/EndpointCustomHeader:EndpointCustomHeader" }, "description": "One or more `custom_header` blocks as defined below\n" }, "endpointLocation": { "type": "string", "description": "Specifies the Azure location of the Endpoint,\nthis must be specified for Profiles using the `Performance` routing method\nif the Endpoint is of either type `nestedEndpoints` or `externalEndpoints`.\nFor Endpoints of type `azureEndpoints` the value will be taken from the\nlocation of the Azure target resource.\n" }, "endpointMonitorStatus": { "type": "string" }, "endpointStatus": { "type": "string", "description": "The status of the Endpoint, can be set to\neither `Enabled` or `Disabled`. Defaults to `Enabled`.\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/en-us/rest/api/trafficmanager/geographichierarchies/getdefault).\n" }, "minChildEndpoints": { "type": "integer", "description": "This argument specifies the minimum number\nof endpoints that must be ‘online’ in the child profile in order for the\nparent profile to direct traffic to any of the endpoints in that child\nprofile. This argument only applies to Endpoints of type `nestedEndpoints`\nand defaults to `1`.\n" }, "name": { "type": "string", "description": "The name of the Traffic Manager endpoint. Changing this forces a\nnew resource to be created.\n" }, "priority": { "type": "integer", "description": "Specifies the priority of this Endpoint, this must be\nspecified for Profiles using the `Priority` traffic routing method. Supports\nvalues between 1 and 1000, with no Endpoints sharing the same value. If\nomitted the value will be computed in order of creation.\n" }, "profileName": { "type": "string", "description": "The name of the Traffic Manager Profile to attach\ncreate the Traffic Manager endpoint.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Traffic Manager Profile exists.\n" }, "subnets": { "type": "array", "items": { "$ref": "#/types/azure:trafficmanager/EndpointSubnet:EndpointSubnet" }, "description": "One or more `subnet` blocks as defined below\n" }, "target": { "type": "string", "description": "The FQDN DNS name of the target. This argument must be\nprovided for an endpoint of type `externalEndpoints`, for other types it\nwill be computed.\n" }, "targetResourceId": { "type": "string", "description": "The resource id of an Azure resource to\ntarget. This argument must be provided for an endpoint of type\n`azureEndpoints` or `nestedEndpoints`.\n" }, "type": { "type": "string", "description": "The Endpoint type, must be one of:\n- `azureEndpoints`\n- `externalEndpoints`\n- `nestedEndpoints`\n" }, "weight": { "type": "integer", "description": "Specifies how much traffic should be distributed to this\nendpoint, this must be specified for Profiles using the `Weighted` traffic\nrouting method. Supports values between 1 and 1000.\n" } }, "type": "object" }, "deprecationMessage": "azure.trafficmanager.Endpoint has been deprecated in favor of azure.network.TrafficManagerEndpoint" }, "azure:trafficmanager/profile:Profile": { "description": "Manages a Traffic Manager Profile to which multiple endpoints can be attached.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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.RandomId(\"server\", {\n keepers: {\n azi_id: 1,\n },\n byteLength: 8,\n});\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US\"});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", {\n resourceGroupName: exampleResourceGroup.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.RandomId(\"server\",\n keepers={\n \"azi_id\": 1,\n },\n byte_length=8)\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"exampleTrafficManagerProfile\",\n resource_group_name=example_resource_group.name,\n traffic_routing_method=\"Weighted\",\n dns_config=azure.network.TrafficManagerProfileDnsConfigArgs(\n relative_name=server.hex,\n ttl=100,\n ),\n monitor_config=azure.network.TrafficManagerProfileMonitorConfigArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var server = new Random.RandomId(\"server\", new Random.RandomIdArgs\n {\n Keepers = \n {\n { \"azi_id\", 1 },\n },\n ByteLength = 8,\n });\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US\",\n });\n var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"exampleTrafficManagerProfile\", new Azure.Network.TrafficManagerProfileArgs\n {\n ResourceGroupName = exampleResourceGroup.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```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v2/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.Float64Map{\n\t\t\t\t\"azi_id\": pulumi.Float64(1),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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.NewTrafficManagerProfile(ctx, \"exampleTrafficManagerProfile\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.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{{% /example %}}\n{{% /examples %}}", "properties": { "dnsConfig": { "$ref": "#/types/azure:trafficmanager/ProfileDnsConfig:ProfileDnsConfig", "description": "This block specifies the DNS configuration of the Profile, it supports the fields documented below.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the created Profile.\n" }, "monitorConfig": { "$ref": "#/types/azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig", "description": "This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented 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.\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:\n" } }, "required": [ "dnsConfig", "fqdn", "monitorConfig", "name", "profileStatus", "resourceGroupName", "trafficRoutingMethod" ], "inputProperties": { "dnsConfig": { "$ref": "#/types/azure:trafficmanager/ProfileDnsConfig:ProfileDnsConfig", "description": "This block specifies the DNS configuration of the Profile, it supports the fields documented below.\n" }, "monitorConfig": { "$ref": "#/types/azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig", "description": "This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented 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.\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:\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, it supports the fields documented below.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the created Profile.\n" }, "monitorConfig": { "$ref": "#/types/azure:trafficmanager/ProfileMonitorConfig:ProfileMonitorConfig", "description": "This block specifies the Endpoint monitoring configuration for the Profile, it supports the fields documented 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.\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:\n" } }, "type": "object" }, "deprecationMessage": "azure.trafficmanager.Profile has been deprecated in favor of azure.network.TrafficManagerProfile" }, "azure:waf/policy:Policy": { "description": "Manages a Azure Web Application Firewall Policy instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst examplePolicy = new azure.waf.Policy(\"examplePolicy\", {\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.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.1\",\n ruleGroupOverrides: [{\n ruleGroupName: \"REQUEST-920-PROTOCOL-ENFORCEMENT\",\n disabledRules: [\n \"920300\",\n \"920440\",\n ],\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_policy = azure.waf.Policy(\"examplePolicy\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location,\n custom_rules=[\n azure.waf.PolicyCustomRuleArgs(\n name=\"Rule1\",\n priority=1,\n rule_type=\"MatchRule\",\n match_conditions=[azure.waf.PolicyCustomRuleMatchConditionArgs(\n match_variables=[azure.waf.PolicyCustomRuleMatchConditionMatchVariableArgs(\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 azure.waf.PolicyCustomRuleArgs(\n name=\"Rule2\",\n priority=2,\n rule_type=\"MatchRule\",\n match_conditions=[\n azure.waf.PolicyCustomRuleMatchConditionArgs(\n match_variables=[azure.waf.PolicyCustomRuleMatchConditionMatchVariableArgs(\n variable_name=\"RemoteAddr\",\n )],\n operator=\"IPMatch\",\n negation_condition=False,\n match_values=[\"192.168.1.0/24\"],\n ),\n azure.waf.PolicyCustomRuleMatchConditionArgs(\n match_variables=[azure.waf.PolicyCustomRuleMatchConditionMatchVariableArgs(\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=azure.waf.PolicyPolicySettingsArgs(\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=azure.waf.PolicyManagedRulesArgs(\n exclusions=[\n azure.waf.PolicyManagedRulesExclusionArgs(\n match_variable=\"RequestHeaderNames\",\n selector=\"x-company-secret-header\",\n selector_match_operator=\"Equals\",\n ),\n azure.waf.PolicyManagedRulesExclusionArgs(\n match_variable=\"RequestCookieNames\",\n selector=\"too-tasty\",\n selector_match_operator=\"EndsWith\",\n ),\n ],\n managed_rule_sets=[azure.waf.PolicyManagedRulesManagedRuleSetArgs(\n type=\"OWASP\",\n version=\"3.1\",\n rule_group_overrides=[azure.waf.PolicyManagedRulesManagedRuleSetRuleGroupOverrideArgs(\n rule_group_name=\"REQUEST-920-PROTOCOL-ENFORCEMENT\",\n disabled_rules=[\n \"920300\",\n \"920440\",\n ],\n )],\n )],\n ))\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var examplePolicy = new Azure.Waf.Policy(\"examplePolicy\", new Azure.Waf.PolicyArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n CustomRules = \n {\n new Azure.Waf.Inputs.PolicyCustomRuleArgs\n {\n Name = \"Rule1\",\n Priority = 1,\n RuleType = \"MatchRule\",\n MatchConditions = \n {\n new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionArgs\n {\n MatchVariables = \n {\n new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionMatchVariableArgs\n {\n VariableName = \"RemoteAddr\",\n },\n },\n Operator = \"IPMatch\",\n NegationCondition = false,\n MatchValues = \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 = \n {\n new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionArgs\n {\n MatchVariables = \n {\n new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionMatchVariableArgs\n {\n VariableName = \"RemoteAddr\",\n },\n },\n Operator = \"IPMatch\",\n NegationCondition = false,\n MatchValues = \n {\n \"192.168.1.0/24\",\n },\n },\n new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionArgs\n {\n MatchVariables = \n {\n new Azure.Waf.Inputs.PolicyCustomRuleMatchConditionMatchVariableArgs\n {\n VariableName = \"RequestHeaders\",\n Selector = \"UserAgent\",\n },\n },\n Operator = \"Contains\",\n NegationCondition = false,\n MatchValues = \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 = \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 = \n {\n new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetArgs\n {\n Type = \"OWASP\",\n Version = \"3.1\",\n RuleGroupOverrides = \n {\n new Azure.Waf.Inputs.PolicyManagedRulesManagedRuleSetRuleGroupOverrideArgs\n {\n RuleGroupName = \"REQUEST-920-PROTOCOL-ENFORCEMENT\",\n DisabledRules = \n {\n \"920300\",\n \"920440\",\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/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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 = waf.NewPolicy(ctx, \"examplePolicy\", \u0026waf.PolicyArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.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.1\"),\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\tDisabledRules: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"920300\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"920440\"),\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{{% /example %}}\n{{% /examples %}}", "properties": { "customRules": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyCustomRule:PolicyCustomRule" }, "description": "One or more `custom_rules` blocks as defined below.\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 `managed_rules` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the policy. Changing this forces a new resource to be created.\n" }, "policySettings": { "$ref": "#/types/azure:waf/PolicyPolicySettings:PolicyPolicySettings", "description": "A `policy_settings` 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": [ "location", "managedRules", "name", "resourceGroupName" ], "inputProperties": { "customRules": { "type": "array", "items": { "$ref": "#/types/azure:waf/PolicyCustomRule:PolicyCustomRule" }, "description": "One or more `custom_rules` blocks as defined below.\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 `managed_rules` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the policy. Changing this forces a new resource to be created.\n" }, "policySettings": { "$ref": "#/types/azure:waf/PolicyPolicySettings:PolicyPolicySettings", "description": "A `policy_settings` 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" } }, "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 `custom_rules` blocks as defined below.\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 `managed_rules` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the policy. Changing this forces a new resource to be created.\n" }, "policySettings": { "$ref": "#/types/azure:waf/PolicyPolicySettings:PolicyPolicySettings", "description": "A `policy_settings` 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" } }, "type": "object" } } }, "functions": { "azure:advisor/getRecommendations:getRecommendations": { "description": "Use this data source to access information about an existing Advisor Recommendations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Advisor.GetRecommendations.InvokeAsync(new Azure.Advisor.GetRecommendationsArgs\n {\n FilterByCategories = \n {\n \"security\",\n \"cost\",\n },\n FilterByResourceGroups = \n {\n \"example-resgroups\",\n },\n }));\n this.Recommendations = example.Apply(example =\u003e example.Recommendations);\n }\n\n [Output(\"recommendations\")]\n public Output\u003cstring\u003e Recommendations { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/advisor\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "type": "string" } }, "filterByResourceGroups": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "recommendations": { "type": "array", "items": { "$ref": "#/types/azure:advisor/getRecommendationsRecommendation:getRecommendationsRecommendation" }, "description": "One or more `recommendations` blocks as defined below.\n" } }, "type": "object", "required": [ "recommendations", "id" ] } }, "azure:apimanagement/getApi:getApi": { "description": "Use this data source to access information about an existing API Management API.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ApiManagement.GetApi.InvokeAsync(new Azure.ApiManagement.GetApiArgs\n {\n Name = \"search-api\",\n ApiManagementName = \"search-api-management\",\n ResourceGroupName = \"search-service\",\n Revision = \"2\",\n }));\n this.ApiManagementApiId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"apiManagementApiId\")]\n public Output\u003cstring\u003e ApiManagementApiId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\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" }, "name": { "type": "string" }, "path": { "type": "string", "description": "The Path for this API Management API.\n" }, "protocols": { "type": "array", "items": { "type": "string" }, "description": "A list of protocols the operations in this API can be invoked.\n" }, "resourceGroupName": { "type": "string" }, "revision": { "type": "string" }, "serviceUrl": { "type": "string", "description": "Absolute URL of the backend service implementing this API.\n" }, "soapPassThrough": { "type": "boolean", "description": "Should this API expose a SOAP frontend, rather than a HTTP frontend?\n" }, "subscriptionKeyParameterNames": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getApiSubscriptionKeyParameterName:getApiSubscriptionKeyParameterName" }, "description": "A `subscription_key_parameter_names` block as documented below.\n" }, "subscriptionRequired": { "type": "boolean", "description": "Should this API require a subscription key?\n" }, "version": { "type": "string", "description": "The Version number of this API, if this API is versioned.\n" }, "versionSetId": { "type": "string", "description": "The ID of the Version Set which this API is associated with.\n" } }, "type": "object", "required": [ "apiManagementName", "description", "displayName", "isCurrent", "isOnline", "name", "path", "protocols", "resourceGroupName", "revision", "serviceUrl", "soapPassThrough", "subscriptionKeyParameterNames", "subscriptionRequired", "version", "versionSetId", "id" ] } }, "azure:apimanagement/getApiVersionSet:getApiVersionSet": { "description": "Uses this data source to access information about an API Version Set within an API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ApiManagement.GetApiVersionSet.InvokeAsync(new Azure.ApiManagement.GetApiVersionSetArgs\n {\n ResourceGroupName = \"example-resources\",\n ApiManagementName = \"example-api\",\n Name = \"example-api-version-set\",\n }));\n this.ApiManagementApiVersionSetId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"apiManagementApiVersionSetId\")]\n public Output\u003cstring\u003e ApiManagementApiVersionSetId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The description of API Version Set.\n" }, "displayName": { "type": "string", "description": "The display name of this API Version Set.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "versionHeaderName": { "type": "string", "description": "The name of the Header which should be read from Inbound Requests which defines the API Version.\n" }, "versionQueryName": { "type": "string", "description": "The name of the Query String which should be read from Inbound Requests which defines the API Version.\n" }, "versioningScheme": { "type": "string" } }, "type": "object", "required": [ "apiManagementName", "description", "displayName", "name", "resourceGroupName", "versionHeaderName", "versionQueryName", "versioningScheme", "id" ] } }, "azure:apimanagement/getGroup:getGroup": { "description": "Use this data source to access information about an existing API Management Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ApiManagement.GetGroup.InvokeAsync(new Azure.ApiManagement.GetGroupArgs\n {\n Name = \"my-group\",\n ApiManagementName = \"example-apim\",\n ResourceGroupName = \"search-service\",\n }));\n this.GroupType = example.Apply(example =\u003e example.Type);\n }\n\n [Output(\"groupType\")]\n public Output\u003cstring\u003e GroupType { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "type": { "type": "string", "description": "The type of this API Management Group, such as `custom` or `external`.\n" } }, "type": "object", "required": [ "apiManagementName", "description", "displayName", "externalId", "name", "resourceGroupName", "type", "id" ] } }, "azure:apimanagement/getProduct:getProduct": { "description": "Use this data source to access information about an existing API Management Product.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ApiManagement.GetProduct.InvokeAsync(new Azure.ApiManagement.GetProductArgs\n {\n ProductId = \"my-product\",\n ApiManagementName = \"example-apim\",\n ResourceGroupName = \"search-service\",\n }));\n this.ProductTerms = example.Apply(example =\u003e example.Terms);\n }\n\n [Output(\"productTerms\")]\n public Output\u003cstring\u003e ProductTerms { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "apiManagementName", "productId", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getProduct.\n", "properties": { "apiManagementName": { "type": "string" }, "approvalRequired": { "type": "boolean", "description": "Do subscribers need to be approved prior to being able to use the Product?\n" }, "description": { "type": "string", "description": "The description of this Product, which may include HTML formatting tags.\n" }, "displayName": { "type": "string", "description": "The Display Name for this API Management Product.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "productId": { "type": "string" }, "published": { "type": "boolean", "description": "Is this Product Published?\n" }, "resourceGroupName": { "type": "string" }, "subscriptionRequired": { "type": "boolean", "description": "Is a Subscription required to access API's included in this Product?\n" }, "subscriptionsLimit": { "type": "integer", "description": "The number of subscriptions a user can have to this Product at the same time.\n" }, "terms": { "type": "string", "description": "Any Terms and Conditions for this Product, which must be accepted by Developers before they can begin the Subscription process.\n" } }, "type": "object", "required": [ "apiManagementName", "approvalRequired", "description", "displayName", "productId", "published", "resourceGroupName", "subscriptionRequired", "subscriptionsLimit", "terms", "id" ] } }, "azure:apimanagement/getService:getService": { "description": "Use this data source to access information about an existing API Management Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ApiManagement.GetService.InvokeAsync(new Azure.ApiManagement.GetServiceArgs\n {\n Name = \"search-api\",\n ResourceGroupName = \"search-service\",\n }));\n this.ApiManagementId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"apiManagementId\")]\n public Output\u003cstring\u003e ApiManagementId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/apimanagement\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getService.\n", "properties": { "additionalLocations": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceAdditionalLocation:getServiceAdditionalLocation" }, "description": "Zero or more `additional_location` blocks as defined below\n" }, "developerPortalUrl": { "type": "string", "description": "The URL for the Developer Portal associated with this API Management service.\n" }, "gatewayRegionalUrl": { "type": "string", "description": "Gateway URL of the API Management service in the Region.\n" }, "gatewayUrl": { "type": "string", "description": "The URL for the API Management Service's Gateway.\n" }, "hostnameConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceHostnameConfiguration:getServiceHostnameConfiguration" }, "description": "A `hostname_configuration` block as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:apimanagement/getServiceIdentity:getServiceIdentity" }, "description": "(Optional) An `identity` block as defined below.\n" }, "location": { "type": "string", "description": "The location name of the additional region among Azure Data center regions.\n" }, "managementApiUrl": { "type": "string", "description": "The URL for the Management API.\n" }, "name": { "type": "string", "description": "Specifies the plan's pricing tier.\n" }, "notificationSenderEmail": { "type": "string", "description": "The email address from which the notification will be sent.\n" }, "portalUrl": { "type": "string", "description": "The URL of the Publisher Portal.\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" }, "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" }, "publisherEmail": { "type": "string", "description": "The email of Publisher/Company of the API Management Service.\n" }, "publisherName": { "type": "string", "description": "The name of the Publisher/Company of the API Management Service.\n" }, "resourceGroupName": { "type": "string" }, "scmUrl": { "type": "string", "description": "The SCM (Source Code Management) endpoint.\n" }, "skuName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "additionalLocations", "developerPortalUrl", "gatewayRegionalUrl", "gatewayUrl", "hostnameConfigurations", "identities", "location", "managementApiUrl", "name", "notificationSenderEmail", "portalUrl", "privateIpAddresses", "publicIpAddresses", "publisherEmail", "publisherName", "resourceGroupName", "scmUrl", "skuName", "tags", "id" ] } }, "azure:apimanagement/getUser:getUser": { "description": "Use this data source to access information about an existing API Management User.\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": { "type": "string", "description": "The Email Address used for this User.\n" }, "firstName": { "type": "string", "description": "The First Name for the User.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "lastName": { "type": "string", "description": "The Last Name for the User.\n" }, "note": { "type": "string", "description": "Any notes about this User.\n" }, "resourceGroupName": { "type": "string" }, "state": { "type": "string", "description": "The current state of this User, for example `active`, `blocked` or `pending`.\n" }, "userId": { "type": "string" } }, "type": "object", "required": [ "apiManagementName", "email", "firstName", "lastName", "note", "resourceGroupName", "state", "userId", "id" ] } }, "azure:appconfiguration/getConfigurationStore:getConfigurationStore": { "description": "Use this data source to access information about an existing App Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppConfiguration.GetConfigurationStore.InvokeAsync(new Azure.AppConfiguration.GetConfigurationStoreArgs\n {\n Name = \"existing\",\n ResourceGroupName = \"existing\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appconfiguration\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "endpoint": { "type": "string", "description": "The Endpoint used to access this App Configuration.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the App Configuration exists.\n" }, "name": { "type": "string" }, "primaryReadKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/getConfigurationStorePrimaryReadKey:getConfigurationStorePrimaryReadKey" }, "description": "A `primary_read_key` block as defined below containing the primary read access key.\n" }, "primaryWriteKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/getConfigurationStorePrimaryWriteKey:getConfigurationStorePrimaryWriteKey" }, "description": "A `primary_write_key` block as defined below containing the primary write access key.\n" }, "resourceGroupName": { "type": "string" }, "secondaryReadKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/getConfigurationStoreSecondaryReadKey:getConfigurationStoreSecondaryReadKey" }, "description": "A `secondary_read_key` block as defined below containing the secondary read access key.\n" }, "secondaryWriteKeys": { "type": "array", "items": { "$ref": "#/types/azure:appconfiguration/getConfigurationStoreSecondaryWriteKey:getConfigurationStoreSecondaryWriteKey" }, "description": "A `secondary_write_key` block as defined below containing the secondary write access key.\n" }, "sku": { "type": "string", "description": "The name of the SKU used for this App Configuration.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the App Configuration.\n" } }, "type": "object", "required": [ "endpoint", "location", "name", "primaryReadKeys", "primaryWriteKeys", "resourceGroupName", "secondaryReadKeys", "secondaryWriteKeys", "sku", "tags", "id" ] } }, "azure:appinsights/getInsights:getInsights": { "description": "Use this data source to access information about an existing Application Insights component.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppInsights.GetInsights.InvokeAsync(new Azure.AppInsights.GetInsightsArgs\n {\n Name = \"production\",\n ResourceGroupName = \"networking\",\n }));\n this.ApplicationInsightsInstrumentationKey = example.Apply(example =\u003e example.InstrumentationKey);\n }\n\n [Output(\"applicationInsightsInstrumentationKey\")]\n public Output\u003cstring\u003e ApplicationInsightsInstrumentationKey { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The App ID associated with this Application Insights component.\n" }, "applicationType": { "type": "string", "description": "The type of the component.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "instrumentationKey": { "type": "string", "description": "The instrumentation key of the Application Insights component.\n" }, "location": { "type": "string", "description": "The Azure location where the component exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "retentionInDays": { "type": "integer", "description": "The retention period in days.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Tags applied to the component.\n" } }, "type": "object", "required": [ "appId", "applicationType", "instrumentationKey", "location", "name", "resourceGroupName", "retentionInDays", "tags", "id" ] } }, "azure:appplatform/getSpringCloudService:getSpringCloudService": { "description": "Use this data source to access information about an existing Spring Cloud Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appplatform.getSpringCloudService({\n name: azurerm_spring_cloud_service.example.name,\n resourceGroupName: azurerm_spring_cloud_service.example.resource_group_name,\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=azurerm_spring_cloud_service[\"example\"][\"name\"],\n resource_group_name=azurerm_spring_cloud_service[\"example\"][\"resource_group_name\"])\npulumi.export(\"springCloudServiceId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppPlatform.GetSpringCloudService.InvokeAsync(new Azure.AppPlatform.GetSpringCloudServiceArgs\n {\n Name = azurerm_spring_cloud_service.Example.Name,\n ResourceGroupName = azurerm_spring_cloud_service.Example.Resource_group_name,\n }));\n this.SpringCloudServiceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"springCloudServiceId\")]\n public Output\u003cstring\u003e SpringCloudServiceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appplatform\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_spring_cloud_service.Example.Name,\n\t\t\tResourceGroupName: azurerm_spring_cloud_service.Example.Resource_group_name,\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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:appplatform/getSpringCloudServiceConfigServerGitSetting:getSpringCloudServiceConfigServerGitSetting" }, "description": "A `config_server_git_setting` block as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location of Spring Cloud Service.\n" }, "name": { "type": "string", "description": "The name to identify on the Git repository.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to Spring Cloud Service.\n" } }, "type": "object", "required": [ "configServerGitSettings", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:appservice/getAppService:getAppService": { "description": "Use this data source to access information about an existing App Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetAppService.InvokeAsync(new Azure.AppService.GetAppServiceArgs\n {\n Name = \"search-app-service\",\n ResourceGroupName = \"search-service\",\n }));\n this.AppServiceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"appServiceId\")]\n public Output\u003cstring\u003e AppServiceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The ID of the App Service Plan within which the App Service exists.\n" }, "appSettings": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A key-value pair of App Settings for the App Service.\n" }, "clientAffinityEnabled": { "type": "boolean", "description": "Does 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?\n" }, "connectionStrings": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceConnectionString:getAppServiceConnectionString" }, "description": "An `connection_string` block as defined below.\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?\n" }, "httpsOnly": { "type": "boolean", "description": "Can the App Service only be accessed via HTTPS?\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the App Service exists.\n" }, "name": { "type": "string", "description": "The name for this IP Restriction.\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 `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string" }, "siteConfigs": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceSiteConfig:getAppServiceSiteConfig" }, "description": "A `site_config` block as defined below.\n" }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceSiteCredential:getAppServiceSiteCredential" } }, "sourceControls": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getAppServiceSourceControl:getAppServiceSourceControl" }, "description": "A `source_control` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object", "required": [ "appServicePlanId", "appSettings", "clientAffinityEnabled", "clientCertEnabled", "connectionStrings", "defaultSiteHostname", "enabled", "httpsOnly", "location", "name", "outboundIpAddresses", "possibleOutboundIpAddresses", "resourceGroupName", "siteConfigs", "siteCredentials", "sourceControls", "tags", "id" ] } }, "azure:appservice/getAppServiceEnvironment:getAppServiceEnvironment": { "description": "Use this data source to access information about an existing App Service Environment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.appservice.getAppServiceEnvironment({\n name: \"existing-ase\",\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.appservice.get_app_service_environment(name=\"existing-ase\",\n resource_group_name=\"existing-rg\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetAppServiceEnvironment.InvokeAsync(new Azure.AppService.GetAppServiceEnvironmentArgs\n {\n Name = \"existing-ase\",\n ResourceGroupName = \"existing-rg\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := appservice.GetAppServiceEnvironment(ctx, \u0026appservice.GetAppServiceEnvironmentArgs{\n\t\t\tName: \"existing-ase\",\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAppServiceEnvironment.\n", "properties": { "name": { "type": "string", "description": "The name of this App Service Environment.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the App Service Environment exists.\n" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getAppServiceEnvironment.\n", "properties": { "frontEndScaleFactor": { "type": "integer", "description": "The number of app instances per App Service Environment Front End.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "internalIpAddress": { "type": "string", "description": "IP address of internal load balancer of the App Service Environment.\n" }, "location": { "type": "string", "description": "The Azure Region where the App Service Environment exists.\n" }, "name": { "type": "string" }, "outboundIpAddresses": { "type": "array", "items": { "type": "string" }, "description": "List of outbound IP addresses of the App Service Environment.\n" }, "pricingTier": { "type": "string", "description": "The Pricing Tier (Isolated SKU) of the App Service Environment.\n" }, "resourceGroupName": { "type": "string" }, "serviceIpAddress": { "type": "string", "description": "IP address of service endpoint of the App Service Environment.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the App Service Environment.\n" } }, "type": "object", "required": [ "frontEndScaleFactor", "internalIpAddress", "location", "name", "outboundIpAddresses", "pricingTier", "resourceGroupName", "serviceIpAddress", "tags", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetAppServicePlan.InvokeAsync(new Azure.AppService.GetAppServicePlanArgs\n {\n Name = \"search-app-service-plan\",\n ResourceGroupName = \"search-service\",\n }));\n this.AppServicePlanId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"appServicePlanId\")]\n public Output\u003cstring\u003e AppServicePlanId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The ID of the App Service Environment where the App Service Plan is located.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "isXenon": { "type": "boolean", "description": "A flag that indicates if it's a xenon plan (support for Windows Container)\n" }, "kind": { "type": "string", "description": "The Operating System type of the App Service Plan\n" }, "location": { "type": "string", "description": "The Azure location where the App Service Plan exists\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" }, "perSiteScaling": { "type": "boolean", "description": "Can Apps assigned to this App Service Plan be scaled independently?\n" }, "reserved": { "type": "boolean", "description": "Is this App Service Plan `Reserved`?\n" }, "resourceGroupName": { "type": "string" }, "sku": { "$ref": "#/types/azure:appservice/getAppServicePlanSku:getAppServicePlanSku", "description": "A `sku` block as documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "appServiceEnvironmentId", "isXenon", "kind", "location", "maximumElasticWorkerCount", "maximumNumberOfWorkers", "name", "perSiteScaling", "reserved", "resourceGroupName", "sku", "tags", "id" ] } }, "azure:appservice/getCertificate:getCertificate": { "description": "Use this data source to access information about an App Service Certificate.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetCertificate.InvokeAsync(new Azure.AppService.GetCertificateArgs\n {\n Name = \"example-app-service-certificate\",\n ResourceGroupName = \"example-rg\",\n }));\n this.AppServiceCertificateId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"appServiceCertificateId\")]\n public Output\u003cstring\u003e AppServiceCertificateId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "issueDate": { "type": "string", "description": "The issue date for the certificate.\n" }, "issuer": { "type": "string", "description": "The name of the certificate issuer.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "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", "required": [ "expirationDate", "friendlyName", "hostNames", "issueDate", "issuer", "location", "name", "resourceGroupName", "subjectName", "thumbprint", "id" ] } }, "azure:appservice/getCertificateOrder:getCertificateOrder": { "description": "Use this data source to access information about an existing App Service Certificate Order.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetCertificateOrder.InvokeAsync(new Azure.AppService.GetCertificateOrderArgs\n {\n Name = \"example-cert-order\",\n ResourceGroupName = \"example-resources\",\n }));\n this.CertificateOrderId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"certificateOrderId\")]\n public Output\u003cstring\u003e CertificateOrderId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getCertificateOrderCertificate:getCertificateOrderCertificate" }, "description": "State of the Key Vault secret. A `certificates` 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" }, "domainVerificationToken": { "type": "string", "description": "Domain verification token.\n" }, "expirationTime": { "type": "string", "description": "Certificate expiration time.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\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.\n" }, "location": { "type": "string", "description": "The Azure location where the App Service exists.\n" }, "name": { "type": "string" }, "productType": { "type": "string", "description": "Certificate product type, such as `Standard` or `WildCard`.\n" }, "resourceGroupName": { "type": "string" }, "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": "A mapping of tags to assign to the resource.\n" }, "validityInYears": { "type": "integer", "description": "Duration in years (must be between 1 and 3).\n" } }, "type": "object", "required": [ "appServiceCertificateNotRenewableReasons", "autoRenew", "certificates", "csr", "distinguishedName", "domainVerificationToken", "expirationTime", "intermediateThumbprint", "isPrivateKeyExternal", "keySize", "location", "name", "productType", "resourceGroupName", "rootThumbprint", "signedCertificateThumbprint", "status", "tags", "validityInYears", "id" ] } }, "azure:appservice/getFunctionApp:getFunctionApp": { "description": "Use this data source to access information about a Function App.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: azurerm_resource_group.example.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=azurerm_resource_group[\"example\"][\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetFunctionApp.InvokeAsync(new Azure.AppService.GetFunctionAppArgs\n {\n Name = \"test-azure-functions\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_resource_group.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "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 key-value pair of App Settings.\n" }, "connectionStrings": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppConnectionString:getFunctionAppConnectionString" }, "description": "An `connection_string` block as defined below.\n" }, "defaultHostname": { "type": "string", "description": "The default hostname associated with the Function App.\n" }, "enabled": { "type": "boolean", "description": "Is the Function App enabled?\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppIdentity:getFunctionAppIdentity" }, "description": "A `identity` block as defined below.\n" }, "location": { "type": "string" }, "name": { "type": "string", "description": "The name for this IP Restriction.\n" }, "osType": { "type": "string", "description": "A string indicating the Operating System type for this function app.\n" }, "outboundIpAddresses": { "type": "string", "description": "A comma separated list of outbound IP addresses.\n" }, "possibleOutboundIpAddresses": { "type": "string", "description": "A comma separated list of outbound IP addresses, not all of which are necessarily in use. Superset of `outbound_ip_addresses`.\n" }, "resourceGroupName": { "type": "string" }, "siteConfigs": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppSiteConfig:getFunctionAppSiteConfig" } }, "siteCredentials": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppSiteCredential:getFunctionAppSiteCredential" }, "description": "A `site_credential` block as defined below, which contains the site-level credentials used to publish to this App Service.\n" }, "sourceControls": { "type": "array", "items": { "$ref": "#/types/azure:appservice/getFunctionAppSourceControl:getFunctionAppSourceControl" }, "description": "A `source_control` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "appServicePlanId", "appSettings", "connectionStrings", "defaultHostname", "enabled", "identities", "location", "name", "osType", "outboundIpAddresses", "possibleOutboundIpAddresses", "resourceGroupName", "siteConfigs", "siteCredentials", "sourceControls", "id" ] } }, "azure:appservice/getFunctionAppHostKeys:getFunctionAppHostKeys": { "description": "Use this data source to fetch the Host Keys of an existing Function App\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: azurerm_resource_group.example.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=azurerm_resource_group[\"example\"][\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.AppService.GetFunctionAppHostKeys.InvokeAsync(new Azure.AppService.GetFunctionAppHostKeysArgs\n {\n Name = \"example-function\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/appservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_resource_group.Example.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\n\u003e **Note:** All arguments including the secret value will be stored in the raw state as plain-text, including `default_function_key` and `master_key`. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).\n{{% /example %}}\n{{% /examples %}}", "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": { "defaultFunctionKey": { "type": "string", "description": "Function App resource's default function key.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "masterKey": { "type": "string", "description": "Function App resource's secret key\n", "deprecationMessage": "This property has been renamed to `primary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "name": { "type": "string" }, "primaryKey": { "type": "string" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "defaultFunctionKey", "masterKey", "name", "primaryKey", "resourceGroupName", "id" ] } }, "azure:attestation/getProvider:getProvider": { "inputs": { "description": "A collection of arguments for invoking getProvider.\n", "properties": { "name": { "type": "string" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getProvider.\n", "properties": { "attestationUri": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "trustModel": { "type": "string" } }, "type": "object", "required": [ "attestationUri", "location", "name", "resourceGroupName", "tags", "trustModel", "id" ] } }, "azure:authorization/getRoleDefinition:getRoleDefinition": { "description": "Use this data source to access information about an existing Role Definition.\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" }, "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" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getRoleDefinition.\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`, or `/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM`.\n" }, "description": { "type": "string", "description": "the Description of the built-in Role.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:authorization/getRoleDefinitionPermission:getRoleDefinitionPermission" }, "description": "a `permissions` block as documented below.\n" }, "roleDefinitionId": { "type": "string" }, "scope": { "type": "string" }, "type": { "type": "string", "description": "the Type of the Role.\n" } }, "type": "object", "required": [ "assignableScopes", "description", "name", "permissions", "roleDefinitionId", "type", "id" ] } }, "azure:authorization/getUserAssignedIdentity:getUserAssignedIdentity": { "description": "Use this data source to access information about an existing User Assigned Identity.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Reference An Existing)\n\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);\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)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Authorization.GetUserAssignedIdentity.InvokeAsync(new Azure.Authorization.GetUserAssignedIdentityArgs\n {\n Name = \"name_of_user_assigned_identity\",\n ResourceGroupName = \"name_of_resource_group\",\n }));\n this.UaiClientId = example.Apply(example =\u003e example.ClientId);\n this.UaiPrincipalId = example.Apply(example =\u003e example.PrincipalId);\n }\n\n [Output(\"uaiClientId\")]\n public Output\u003cstring\u003e UaiClientId { get; set; }\n [Output(\"uaiPrincipalId\")]\n public Output\u003cstring\u003e UaiPrincipalId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The Client ID of the User Assigned Identity.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the User Assigned Identity exists.\n" }, "name": { "type": "string" }, "principalId": { "type": "string", "description": "The Service Principal ID of the User Assigned Identity.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the User Assigned Identity.\n" } }, "type": "object", "required": [ "clientId", "location", "name", "principalId", "resourceGroupName", "tags", "id" ] } }, "azure:automation/getAccount:getAccount": { "description": "Use this data source to access information about an existing Automation Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Automation.GetAccount.InvokeAsync(new Azure.Automation.GetAccountArgs\n {\n Name = \"example-account\",\n ResourceGroupName = \"example-resources\",\n }));\n this.AutomationAccountId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"automationAccountId\")]\n public Output\u003cstring\u003e AutomationAccountId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The Endpoint for this Auomation Account.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "primaryKey": { "type": "string", "description": "The Primary Access Key for the Automation Account.\n" }, "resourceGroupName": { "type": "string" }, "secondaryKey": { "type": "string", "description": "The Secondary Access Key for the Automation Account.\n" } }, "type": "object", "required": [ "endpoint", "name", "primaryKey", "resourceGroupName", "secondaryKey", "id" ] } }, "azure:automation/getBoolVariable:getBoolVariable": { "description": "Use this data source to access information about an existing Automation Bool Variable.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Automation.GetBoolVariable.InvokeAsync(new Azure.Automation.GetBoolVariableArgs\n {\n Name = \"tfex-example-var\",\n ResourceGroupName = \"tfex-example-rg\",\n AutomationAccountName = \"tfex-example-account\",\n }));\n this.VariableId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"variableId\")]\n public Output\u003cstring\u003e VariableId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "automationAccountName", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getBoolVariable.\n", "properties": { "automationAccountName": { "type": "string" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "value": { "type": "boolean", "description": "The value of the Automation Variable as a `boolean`.\n" } }, "type": "object", "required": [ "automationAccountName", "description", "encrypted", "name", "resourceGroupName", "value", "id" ] } }, "azure:automation/getDateTimeVariable:getDateTimeVariable": { "description": "Use this data source to access information about an existing Automation Datetime Variable.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Automation.GetDateTimeVariable.InvokeAsync(new Azure.Automation.GetDateTimeVariableArgs\n {\n Name = \"tfex-example-var\",\n ResourceGroupName = \"tfex-example-rg\",\n AutomationAccountName = \"tfex-example-account\",\n }));\n this.VariableId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"variableId\")]\n public Output\u003cstring\u003e VariableId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "automationAccountName", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getDateTimeVariable.\n", "properties": { "automationAccountName": { "type": "string" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "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", "required": [ "automationAccountName", "description", "encrypted", "name", "resourceGroupName", "value", "id" ] } }, "azure:automation/getIntVariable:getIntVariable": { "description": "Use this data source to access information about an existing Automation Int Variable.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Automation.GetIntVariable.InvokeAsync(new Azure.Automation.GetIntVariableArgs\n {\n Name = \"tfex-example-var\",\n ResourceGroupName = \"tfex-example-rg\",\n AutomationAccountName = \"tfex-example-account\",\n }));\n this.VariableId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"variableId\")]\n public Output\u003cstring\u003e VariableId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "automationAccountName", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getIntVariable.\n", "properties": { "automationAccountName": { "type": "string" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "value": { "type": "integer", "description": "The value of the Automation Variable as a `integer`.\n" } }, "type": "object", "required": [ "automationAccountName", "description", "encrypted", "name", "resourceGroupName", "value", "id" ] } }, "azure:automation/getStringVariable:getStringVariable": { "description": "Use this data source to access information about an existing Automation String Variable.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Automation.GetStringVariable.InvokeAsync(new Azure.Automation.GetStringVariableArgs\n {\n Name = \"tfex-example-var\",\n ResourceGroupName = \"tfex-example-rg\",\n AutomationAccountName = \"tfex-example-account\",\n }));\n this.VariableId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"variableId\")]\n public Output\u003cstring\u003e VariableId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/automation\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "automationAccountName", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getStringVariable.\n", "properties": { "automationAccountName": { "type": "string" }, "description": { "type": "string", "description": "The description of the Automation Variable.\n" }, "encrypted": { "type": "boolean", "description": "Specifies if the Automation Variable is encrypted. Defaults to `false`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "value": { "type": "string", "description": "The value of the Automation Variable as a `string`.\n" } }, "type": "object", "required": [ "automationAccountName", "description", "encrypted", "name", "resourceGroupName", "value", "id" ] } }, "azure:backup/getPolicyVM:getPolicyVM": { "description": "Use this data source to access information about an existing VM Backup Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst policy = pulumi.output(azure.backup.getPolicyVM({\n name: \"policy\",\n recoveryVaultName: \"recovery_vault\",\n resourceGroupName: \"resource_group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var policy = Output.Create(Azure.Backup.GetPolicyVM.InvokeAsync(new Azure.Backup.GetPolicyVMArgs\n {\n Name = \"policy\",\n RecoveryVaultName = \"recovery_vault\",\n ResourceGroupName = \"resource_group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/backup\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "recoveryVaultName": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "name", "recoveryVaultName", "resourceGroupName", "tags", "id" ] } }, "azure:batch/getAccount:getAccount": { "description": "Use this data source to access information about an existing Batch Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Batch.GetAccount.InvokeAsync(new Azure.Batch.GetAccountArgs\n {\n Name = \"testbatchaccount\",\n ResourceGroupName = \"test\",\n }));\n this.PoolAllocationMode = example.Apply(example =\u003e example.PoolAllocationMode);\n }\n\n [Output(\"poolAllocationMode\")]\n public Output\u003cstring\u003e PoolAllocationMode { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The account endpoint used to interact with the Batch service.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyVaultReferences": { "type": "array", "items": { "$ref": "#/types/azure:batch/getAccountKeyVaultReference:getAccountKeyVaultReference" }, "description": "The `key_vault_reference` block 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": "The Azure Region in which this Batch account exists.\n" }, "name": { "type": "string", "description": "The Batch account name.\n" }, "poolAllocationMode": { "type": "string", "description": "The pool allocation mode configured for this Batch account.\n" }, "primaryAccessKey": { "type": "string", "description": "The Batch account primary access key.\n" }, "resourceGroupName": { "type": "string" }, "secondaryAccessKey": { "type": "string", "description": "The Batch account secondary access key.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account used for this Batch account.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of tags assigned to the Batch account.\n" } }, "type": "object", "required": [ "accountEndpoint", "keyVaultReferences", "location", "name", "poolAllocationMode", "primaryAccessKey", "resourceGroupName", "secondaryAccessKey", "storageAccountId", "tags", "id" ] } }, "azure:batch/getCertificate:getCertificate": { "description": "Use this data source to access information about an existing certificate in a Batch Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Batch.GetCertificate.InvokeAsync(new Azure.Batch.GetCertificateArgs\n {\n Name = \"SHA1-42C107874FD0E4A9583292A2F1098E8FE4B2EDDA\",\n AccountName = \"examplebatchaccount\",\n ResourceGroupName = \"example\",\n }));\n this.Thumbprint = example.Apply(example =\u003e example.Thumbprint);\n }\n\n [Output(\"thumbprint\")]\n public Output\u003cstring\u003e Thumbprint { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The format of the certificate, such as `Cer` or `Pfx`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "publicData": { "type": "string", "description": "The public key of the certificate.\n" }, "resourceGroupName": { "type": "string" }, "thumbprint": { "type": "string", "description": "The thumbprint of the certificate.\n" }, "thumbprintAlgorithm": { "type": "string", "description": "The algorithm of the certificate thumbprint.\n" } }, "type": "object", "required": [ "accountName", "format", "name", "publicData", "resourceGroupName", "thumbprint", "thumbprintAlgorithm", "id" ] } }, "azure:batch/getPool:getPool": { "description": "Use this data source to access information about an existing Batch pool\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.batch.getPool({\n accountName: \"testbatchaccount\",\n name: \"testbatchpool\",\n resourceGroupName: \"test\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.batch.get_pool(account_name=\"testbatchaccount\",\n name=\"testbatchpool\",\n resource_group_name=\"test\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Batch.GetPool.InvokeAsync(new Azure.Batch.GetPoolArgs\n {\n AccountName = \"testbatchaccount\",\n Name = \"testbatchpool\",\n ResourceGroupName = \"test\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/batch\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tAccountName: \"testbatchaccount\",\n\t\t\tName: \"testbatchpool\",\n\t\t\tResourceGroupName: \"test\",\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getPool.\n", "properties": { "accountName": { "type": "string", "description": "The name of the Batch account.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolCertificate:getPoolCertificate" }, "description": "One or more `certificate` blocks that describe the certificates installed on each compute node in the pool.\n" }, "name": { "type": "string", "description": "The name of the endpoint.\n" }, "networkConfiguration": { "$ref": "#/types/azure:batch/getPoolNetworkConfiguration:getPoolNetworkConfiguration" }, "resourceGroupName": { "type": "string" }, "startTask": { "$ref": "#/types/azure:batch/getPoolStartTask:getPoolStartTask", "description": "A `start_task` block that describes the start task settings for the Batch pool.\n" } }, "type": "object", "required": [ "accountName", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getPool.\n", "properties": { "accountName": { "type": "string", "description": "The name of the Batch account.\n" }, "autoScales": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolAutoScale:getPoolAutoScale" }, "description": "A `auto_scale` block that describes the scale settings when using auto scale.\n" }, "certificates": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolCertificate:getPoolCertificate" }, "description": "One or more `certificate` blocks that describe the certificates installed on each compute node in the pool.\n" }, "containerConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolContainerConfiguration:getPoolContainerConfiguration" }, "description": "The container configuration used in the pool's VMs.\n" }, "displayName": { "type": "string" }, "fixedScales": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolFixedScale:getPoolFixedScale" }, "description": "A `fixed_scale` block that describes the scale settings when using fixed scale.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "maxTasksPerNode": { "type": "integer", "description": "The maximum number of tasks that can run concurrently on a single compute node in the pool.\n" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string", "description": "The name of the endpoint.\n" }, "networkConfiguration": { "$ref": "#/types/azure:batch/getPoolNetworkConfiguration:getPoolNetworkConfiguration" }, "nodeAgentSkuId": { "type": "string", "description": "The Sku of the node agents in the Batch pool.\n" }, "resourceGroupName": { "type": "string" }, "startTask": { "$ref": "#/types/azure:batch/getPoolStartTask:getPoolStartTask", "description": "A `start_task` block that describes the start task settings for the Batch pool.\n" }, "storageImageReferences": { "type": "array", "items": { "$ref": "#/types/azure:batch/getPoolStorageImageReference:getPoolStorageImageReference" }, "description": "The reference of the storage image used by the nodes in the Batch pool.\n" }, "vmSize": { "type": "string", "description": "The size of the VM created in the Batch pool.\n" } }, "type": "object", "required": [ "accountName", "autoScales", "containerConfigurations", "displayName", "fixedScales", "maxTasksPerNode", "metadata", "name", "networkConfiguration", "nodeAgentSkuId", "resourceGroupName", "storageImageReferences", "vmSize", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n var root = current.Apply(current =\u003e Output.Create(Azure.Management.GetGroup.InvokeAsync(new Azure.Management.GetGroupArgs\n {\n Name = current.TenantId,\n })));\n var example = root.Apply(root =\u003e Output.Create(Azure.Blueprint.GetDefinition.InvokeAsync(new Azure.Blueprint.GetDefinitionArgs\n {\n Name = \"exampleManagementGroupBP\",\n ScopeId = root.Id,\n })));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/blueprint\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\topt0 := current.TenantId\n\t\troot, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The description of the Blueprint Definition.\n" }, "displayName": { "type": "string", "description": "The display name of the Blueprint Definition.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "lastModified": { "type": "string", "description": "The timestamp of when this last modification was saved to the Blueprint Definition.\n" }, "name": { "type": "string" }, "scopeId": { "type": "string" }, "targetScope": { "type": "string", "description": "The target scope.\n" }, "timeCreated": { "type": "string", "description": "The timestamp of when this Blueprint Definition was created.\n" }, "versions": { "type": "array", "items": { "type": "string" }, "description": "A list of versions published for this Blueprint Definition.\n" } }, "type": "object", "required": [ "description", "displayName", "lastModified", "name", "scopeId", "targetScope", "timeCreated", "versions", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n var test = current.Apply(current =\u003e Output.Create(Azure.Blueprint.GetPublishedVersion.InvokeAsync(new Azure.Blueprint.GetPublishedVersionArgs\n {\n ScopeId = current.Id,\n BlueprintName = \"exampleBluePrint\",\n Version = \"dev_v2.3\",\n })));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/blueprint\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, 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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The description of the Blueprint Published Version\n" }, "displayName": { "type": "string", "description": "The display name of the Blueprint Published Version\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "lastModified": { "type": "string" }, "scopeId": { "type": "string" }, "targetScope": { "type": "string", "description": "The target scope\n" }, "timeCreated": { "type": "string" }, "type": { "type": "string", "description": "The type of the Blueprint\n" }, "version": { "type": "string" } }, "type": "object", "required": [ "blueprintName", "description", "displayName", "lastModified", "scopeId", "targetScope", "timeCreated", "type", "version", "id" ] } }, "azure:cdn/getProfile:getProfile": { "description": "Use this data source to access information about an existing CDN Profile.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Cdn.GetProfile.InvokeAsync(new Azure.Cdn.GetProfileArgs\n {\n Name = \"myfirstcdnprofile\",\n ResourceGroupName = \"example-resources\",\n }));\n this.CdnProfileId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"cdnProfileId\")]\n public Output\u003cstring\u003e CdnProfileId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "The pricing related information of current CDN profile.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "sku", "tags", "id" ] } }, "azure:compute/getAvailabilitySet:getAvailabilitySet": { "description": "Use this data source to access information about an existing Availability Set.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetAvailabilitySet.InvokeAsync(new Azure.Compute.GetAvailabilitySetArgs\n {\n Name = \"tf-appsecuritygroup\",\n ResourceGroupName = \"my-resource-group\",\n }));\n this.AvailabilitySetId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"availabilitySetId\")]\n public Output\u003cstring\u003e AvailabilitySetId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The supported Azure location where the Availability Set exists.\n" }, "managed": { "type": "boolean", "description": "Whether the availability set is managed or not.\n" }, "name": { "type": "string" }, "platformFaultDomainCount": { "type": "string", "description": "The number of fault domains that are used.\n" }, "platformUpdateDomainCount": { "type": "string", "description": "The number of update domains that are used.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "managed", "name", "platformFaultDomainCount", "platformUpdateDomainCount", "resourceGroupName", "tags", "id" ] } }, "azure:compute/getDedicatedHost:getDedicatedHost": { "description": "Use this data source to access information about an existing Dedicated Host.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetDedicatedHost.InvokeAsync(new Azure.Compute.GetDedicatedHostArgs\n {\n Name = \"example-host\",\n DedicatedHostGroupName = \"example-host-group\",\n ResourceGroupName = \"example-resources\",\n }));\n this.DedicatedHostId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"dedicatedHostId\")]\n public Output\u003cstring\u003e DedicatedHostId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location where the Dedicated Host exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Dedicated Host.\n" } }, "type": "object", "required": [ "dedicatedHostGroupName", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:compute/getDedicatedHostGroup:getDedicatedHostGroup": { "description": "Use this data source to access information about an existing Dedicated Host Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetDedicatedHostGroup.InvokeAsync(new Azure.Compute.GetDedicatedHostGroupArgs\n {\n Name = \"example-dedicated-host-group\",\n ResourceGroupName = \"example-rg\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the Dedicated Host Group exists.\n" }, "name": { "type": "string" }, "platformFaultDomainCount": { "type": "integer", "description": "The number of fault domains that the Dedicated Host Group spans.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "zones": { "type": "array", "items": { "type": "string" }, "description": "The Availability Zones in which this Dedicated Host Group is located.\n" } }, "type": "object", "required": [ "location", "name", "platformFaultDomainCount", "resourceGroupName", "tags", "zones", "id" ] } }, "azure:compute/getDiskEncryptionSet:getDiskEncryptionSet": { "description": "Use this data source to access information about an existing Disk Encryption Set.\n", "inputs": { "description": "A collection of arguments for invoking getDiskEncryptionSet.\n", "properties": { "name": { "type": "string", "description": "The name of the Disk Encryption Set exists.\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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location where the Disk Encryption Set exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Disk Encryption Set.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:compute/getImage:getImage": { "description": "Use this data source to access information about an existing Image.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var search = Output.Create(Azure.Compute.GetImage.InvokeAsync(new Azure.Compute.GetImageArgs\n {\n Name = \"search-api\",\n ResourceGroupName = \"packerimages\",\n }));\n this.ImageId = search.Apply(search =\u003e search.Id);\n }\n\n [Output(\"imageId\")]\n public Output\u003cstring\u003e ImageId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"search-api\"\n\t\tsearch, err := compute.LookupImage(ctx, \u0026compute.LookupImageArgs{\n\t\t\tName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:compute/getImageDataDisk:getImageDataDisk" }, "description": "a collection of `data_disk` blocks as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "the Azure Location where this Image exists.\n" }, "name": { "type": "string", "description": "the name of the Image.\n" }, "nameRegex": { "type": "string" }, "osDisks": { "type": "array", "items": { "$ref": "#/types/azure:compute/getImageOsDisk:getImageOsDisk" }, "description": "a `os_disk` block as defined below.\n" }, "resourceGroupName": { "type": "string" }, "sortDescending": { "type": "boolean" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "a mapping of tags to assigned to the resource.\n" }, "zoneResilient": { "type": "boolean", "description": "is zone resiliency enabled?\n" } }, "type": "object", "required": [ "dataDisks", "location", "osDisks", "resourceGroupName", "tags", "zoneResilient", "id" ] } }, "azure:compute/getManagedDisk:getManagedDisk": { "description": "Use this data source to access information about an existing Managed Disk.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var existing = Output.Create(Azure.Compute.GetManagedDisk.InvokeAsync(new Azure.Compute.GetManagedDiskArgs\n {\n Name = \"example-datadisk\",\n ResourceGroupName = \"example-resources\",\n }));\n this.Id = existing.Apply(existing =\u003e existing.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" }, "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": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getManagedDisk.\n", "properties": { "createOption": { "type": "string" }, "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" }, "diskSizeGb": { "type": "integer", "description": "The size of the Managed Disk in gigabytes.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "imageReferenceId": { "type": "string", "description": "The ID of the source image used for creating this Managed Disk.\n" }, "name": { "type": "string" }, "osType": { "type": "string", "description": "The operating system used for this Managed Disk.\n" }, "resourceGroupName": { "type": "string" }, "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 `source_uri` 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", "diskEncryptionSetId", "diskIopsReadWrite", "diskMbpsReadWrite", "diskSizeGb", "imageReferenceId", "name", "osType", "resourceGroupName", "sourceResourceId", "sourceUri", "storageAccountId", "storageAccountType", "zones", "id" ] } }, "azure:compute/getPlatformImage:getPlatformImage": { "description": "Use this data source to access information about a Platform Image.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"UbuntuServer\",\n sku: \"16.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=\"UbuntuServer\",\n sku=\"16.04-LTS\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetPlatformImage.InvokeAsync(new Azure.Compute.GetPlatformImageArgs\n {\n Location = \"West Europe\",\n Publisher = \"Canonical\",\n Offer = \"UbuntuServer\",\n Sku = \"16.04-LTS\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: \"UbuntuServer\",\n\t\t\tSku: \"16.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{{% /example %}}\n{{% /examples %}}", "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" }, "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "offer": { "type": "string" }, "publisher": { "type": "string" }, "sku": { "type": "string" }, "version": { "type": "string" } }, "type": "object", "required": [ "location", "offer", "publisher", "sku", "version", "id" ] } }, "azure:compute/getSharedImage:getSharedImage": { "description": "Use this data source to access information about an existing Shared Image within a Shared Image Gallery.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.compute.getSharedImage({\n galleryName: \"my-image-gallery\",\n name: \"my-image\",\n resourceGroupName: \"example-resources\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image(gallery_name=\"my-image-gallery\",\n name=\"my-image\",\n resource_group_name=\"example-resources\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetSharedImage.InvokeAsync(new Azure.Compute.GetSharedImageArgs\n {\n GalleryName = \"my-image-gallery\",\n Name = \"my-image\",\n ResourceGroupName = \"example-resources\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tGalleryName: \"my-image-gallery\",\n\t\t\tName: \"my-image\",\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{{% /example %}}\n{{% /examples %}}", "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": { "description": { "type": "string", "description": "The description of this Shared Image.\n" }, "eula": { "type": "string", "description": "The End User Licence Agreement for the Shared Image.\n" }, "galleryName": { "type": "string" }, "hyperVGeneration": { "type": "string", "description": "The generation of HyperV that the Virtual Machine used to create the Shared Image is based on.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identifiers": { "type": "array", "items": { "$ref": "#/types/azure:compute/getSharedImageIdentifier:getSharedImageIdentifier" }, "description": "An `identifier` block as defined below.\n" }, "location": { "type": "string", "description": "The supported Azure location where the Shared Image Gallery exists.\n" }, "name": { "type": "string" }, "osType": { "type": "string", "description": "The type of Operating System present in this Shared Image.\n" }, "privacyStatementUri": { "type": "string", "description": "The URI containing the Privacy Statement for this Shared Image.\n" }, "releaseNoteUri": { "type": "string", "description": "The URI containing the Release Notes for this Shared Image.\n" }, "resourceGroupName": { "type": "string" }, "specialized": { "type": "boolean", "description": "Specifies that the Operating System used inside this Image has not been Generalized (for example, `sysprep` on Windows has not been run).\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Shared Image.\n" } }, "type": "object", "required": [ "description", "eula", "galleryName", "hyperVGeneration", "identifiers", "location", "name", "osType", "privacyStatementUri", "releaseNoteUri", "resourceGroupName", "specialized", "tags", "id" ] } }, "azure:compute/getSharedImageGallery:getSharedImageGallery": { "description": "Use this data source to access information about an existing Shared Image Gallery.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.compute.getSharedImageGallery({\n name: \"my-image-gallery\",\n resourceGroupName: \"example-resources\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetSharedImageGallery.InvokeAsync(new Azure.Compute.GetSharedImageGalleryArgs\n {\n Name = \"my-image-gallery\",\n ResourceGroupName = \"example-resources\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "A description for the Shared Image Gallery.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags which are assigned to the Shared Image Gallery.\n" }, "uniqueName": { "type": "string", "description": "The unique name assigned to the Shared Image Gallery.\n" } }, "type": "object", "required": [ "description", "location", "name", "resourceGroupName", "tags", "uniqueName", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.compute.getSharedImageVersion({\n galleryName: \"my-image-gallery\",\n imageName: \"my-image\",\n name: \"1.0.0\",\n resourceGroupName: \"example-resources\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image_version(gallery_name=\"my-image-gallery\",\n image_name=\"my-image\",\n name=\"1.0.0\",\n resource_group_name=\"example-resources\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetSharedImageVersion.InvokeAsync(new Azure.Compute.GetSharedImageVersionArgs\n {\n GalleryName = \"my-image-gallery\",\n ImageName = \"my-image\",\n Name = \"1.0.0\",\n ResourceGroupName = \"example-resources\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tGalleryName: \"my-image-gallery\",\n\t\t\tImageName: \"my-image\",\n\t\t\tName: \"1.0.0\",\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSharedImageVersion.\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" }, "name": { "type": "string", "description": "The name of the Image Version.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group in which the Shared Image Gallery exists.\n" } }, "type": "object", "required": [ "galleryName", "imageName", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getSharedImageVersion.\n", "properties": { "excludeFromLatest": { "type": "boolean", "description": "Is this Image Version excluded from the `latest` filter?\n" }, "galleryName": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "imageName": { "type": "string" }, "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" }, "osDiskSnapshotId": { "type": "string", "description": "The ID of the OS disk snapshot which was the source of this Shared Image Version.\n" }, "resourceGroupName": { "type": "string" }, "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/getSharedImageVersionTargetRegion:getSharedImageVersionTargetRegion" }, "description": "One or more `target_region` blocks as documented below.\n" } }, "type": "object", "required": [ "excludeFromLatest", "galleryName", "imageName", "location", "managedImageId", "name", "osDiskSnapshotId", "resourceGroupName", "tags", "targetRegions", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.compute.getSharedImageVersions({\n galleryName: \"my-image-gallery\",\n imageName: \"my-image\",\n resourceGroupName: \"example-resources\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.compute.get_shared_image_versions(gallery_name=\"my-image-gallery\",\n image_name=\"my-image\",\n resource_group_name=\"example-resources\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetSharedImageVersions.InvokeAsync(new Azure.Compute.GetSharedImageVersionsArgs\n {\n GalleryName = \"my-image-gallery\",\n ImageName = \"my-image\",\n ResourceGroupName = \"example-resources\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tGalleryName: \"my-image-gallery\",\n\t\t\tImageName: \"my-image\",\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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "imageName": { "type": "string" }, "images": { "type": "array", "items": { "$ref": "#/types/azure:compute/getSharedImageVersionsImage:getSharedImageVersionsImage" }, "description": "An `images` block as defined below:\n" }, "resourceGroupName": { "type": "string" }, "tagsFilter": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "galleryName", "imageName", "images", "resourceGroupName", "id" ] } }, "azure:compute/getSnapshot:getSnapshot": { "description": "Use this data source to access information about an existing Snapshot.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.compute.getSnapshot({\n name: \"my-snapshot\",\n resourceGroupName: \"my-resource-group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetSnapshot.InvokeAsync(new Azure.Compute.GetSnapshotArgs\n {\n Name = \"my-snapshot\",\n ResourceGroupName = \"my-resource-group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "integer", "description": "The size of the Snapshotted Disk in GB.\n" }, "encryptionSettings": { "type": "array", "items": { "$ref": "#/types/azure:compute/getSnapshotEncryptionSetting:getSnapshotEncryptionSetting" } }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "osType": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sourceResourceId": { "type": "string", "description": "The reference to an existing snapshot.\n" }, "sourceUri": { "type": "string", "description": "The URI to a Managed or Unmanaged Disk.\n" }, "storageAccountId": { "type": "string", "description": "The ID of an storage account.\n" }, "timeCreated": { "type": "string" } }, "type": "object", "required": [ "creationOption", "diskSizeGb", "encryptionSettings", "name", "osType", "resourceGroupName", "sourceResourceId", "sourceUri", "storageAccountId", "timeCreated", "id" ] } }, "azure:compute/getVirtualMachine:getVirtualMachine": { "description": "Use this data source to access information about an existing Virtual Machine.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetVirtualMachine.InvokeAsync(new Azure.Compute.GetVirtualMachineArgs\n {\n Name = \"production\",\n ResourceGroupName = \"networking\",\n }));\n this.VirtualMachineId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"virtualMachineId\")]\n public Output\u003cstring\u003e VirtualMachineId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:compute/getVirtualMachineIdentity:getVirtualMachineIdentity" }, "description": "A `identity` block as defined below.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "identities", "location", "name", "resourceGroupName", "id" ] } }, "azure:compute/getVirtualMachineScaleSet:getVirtualMachineScaleSet": { "description": "Use this data source to access information about an existing Virtual Machine Scale Set.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Compute.GetVirtualMachineScaleSet.InvokeAsync(new Azure.Compute.GetVirtualMachineScaleSetArgs\n {\n Name = \"existing\",\n ResourceGroupName = \"existing\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:compute/getVirtualMachineScaleSetIdentity:getVirtualMachineScaleSetIdentity" }, "description": "A `identity` block as defined below.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "identities", "location", "name", "resourceGroupName", "id" ] } }, "azure:containerservice/getClusterNodePool:getClusterNodePool": { "description": "Use this data source to access information about an existing Kubernetes Cluster Node Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ContainerService.GetClusterNodePool.InvokeAsync(new Azure.ContainerService.GetClusterNodePoolArgs\n {\n Name = \"existing\",\n KubernetesClusterName = \"existing-cluster\",\n ResourceGroupName = \"existing-resource-group\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "availabilityZones": { "type": "array", "items": { "type": "string" }, "description": "A list of Availability Zones in which the Nodes in this Node Pool exists.\n" }, "enableAutoScaling": { "type": "boolean", "description": "Does this Node Pool have Auto-Scaling enabled?\n" }, "enableNodePublicIp": { "type": "boolean", "description": "Do nodes in this Node Pool have a Public IP Address?\n" }, "evictionPolicy": { "type": "string", "description": "The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when `priority` is set to `Spot`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kubernetesClusterName": { "type": "string" }, "maxCount": { "type": "integer", "description": "The maximum number of Nodes allowed when auto-scaling is enabled.\n" }, "maxPods": { "type": "integer", "description": "The maximum number of Pods allowed on each Node in this Node Pool.\n" }, "minCount": { "type": "integer", "description": "The minimum number of Nodes allowed when auto-scaling is enabled.\n" }, "mode": { "type": "string", "description": "The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).\n" }, "name": { "type": "string" }, "nodeCount": { "type": "integer", "description": "The current number of Nodes in the Node Pool.\n" }, "nodeLabels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Kubernetes Labels applied to each Node in this Node Pool.\n" }, "nodeTaints": { "type": "array", "items": { "type": "string" }, "description": "A map of Kubernetes Taints applied to each Node in this Node Pool.\n" }, "orchestratorVersion": { "type": "string", "description": "The version of Kubernetes configured on each Node in this Node Pool.\n" }, "osDiskSizeGb": { "type": "integer", "description": "The size of the OS Disk on each Node in this Node Pool.\n" }, "osType": { "type": "string", "description": "The operating system used on each Node in this Node Pool.\n" }, "priority": { "type": "string", "description": "The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.\n" }, "resourceGroupName": { "type": "string" }, "spotMaxPrice": { "type": "number", "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Kubernetes Cluster Node Pool.\n" }, "vmSize": { "type": "string", "description": "The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.\n" }, "vnetSubnetId": { "type": "string", "description": "The ID of the Subnet in which this Node Pool exists.\n" } }, "type": "object", "required": [ "availabilityZones", "enableAutoScaling", "enableNodePublicIp", "evictionPolicy", "kubernetesClusterName", "maxCount", "maxPods", "minCount", "mode", "name", "nodeCount", "nodeLabels", "nodeTaints", "orchestratorVersion", "osDiskSizeGb", "osType", "priority", "resourceGroupName", "spotMaxPrice", "tags", "vmSize", "vnetSubnetId", "id" ] } }, "azure:containerservice/getKubernetesCluster:getKubernetesCluster": { "description": "Use this data source to access information about an existing Managed Kubernetes Cluster (AKS).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.containerservice.getKubernetesCluster({\n name: \"myakscluster\",\n resourceGroupName: \"my-example-resource-group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ContainerService.GetKubernetesCluster.InvokeAsync(new Azure.ContainerService.GetKubernetesClusterArgs\n {\n Name = \"myakscluster\",\n ResourceGroupName = \"my-example-resource-group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "addonProfiles": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAddonProfile:getKubernetesClusterAddonProfile" }, "description": "A `addon_profile` block as documented below.\n" }, "agentPoolProfiles": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterAgentPoolProfile:getKubernetesClusterAgentPoolProfile" }, "description": "An `agent_pool_profile` block as documented below.\n" }, "apiServerAuthorizedIpRanges": { "type": "array", "items": { "type": "string" }, "description": "The IP ranges to whitelist for incoming traffic to the primaries.\n" }, "diskEncryptionSetId": { "type": "string", "description": "The ID of the Disk Encryption Set used for the Nodes and Volumes.\n" }, "dnsPrefix": { "type": "string", "description": "The DNS Prefix of the managed Kubernetes cluster.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the Azure Kubernetes Managed Cluster.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterIdentity:getKubernetesClusterIdentity" }, "description": "A `identity` block as documented below.\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.\n" }, "kubeAdminConfigs": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterKubeAdminConfig:getKubernetesClusterKubeAdminConfig" }, "description": "A `kube_admin_config` block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.\n" }, "kubeConfigRaw": { "type": "string", "description": "Base64 encoded Kubernetes configuration.\n" }, "kubeConfigs": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterKubeConfig:getKubernetesClusterKubeConfig" }, "description": "A `kube_config` block as defined below.\n" }, "kubeletIdentities": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterKubeletIdentity:getKubernetesClusterKubeletIdentity" }, "description": "A `kubelet_identity` block as documented below.\n" }, "kubernetesVersion": { "type": "string", "description": "The version of Kubernetes used on the managed Kubernetes Cluster.\n" }, "linuxProfiles": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterLinuxProfile:getKubernetesClusterLinuxProfile" }, "description": "A `linux_profile` block as documented below.\n" }, "location": { "type": "string", "description": "The Azure Region in which the managed Kubernetes Cluster exists.\n" }, "name": { "type": "string", "description": "The name assigned to this pool of agents.\n" }, "networkProfiles": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterNetworkProfile:getKubernetesClusterNetworkProfile" }, "description": "A `network_profile` block as documented below.\n" }, "nodeResourceGroup": { "type": "string", "description": "Auto-generated Resource Group containing AKS Cluster resources.\n" }, "privateClusterEnabled": { "type": "boolean", "description": "If the cluster has the Kubernetes API only exposed on internal IP addresses.\n" }, "privateFqdn": { "type": "string", "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" }, "privateLinkEnabled": { "type": "boolean", "deprecationMessage": "Deprecated in favor of `private_cluster_enabled`" }, "resourceGroupName": { "type": "string" }, "roleBasedAccessControls": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterRoleBasedAccessControl:getKubernetesClusterRoleBasedAccessControl" }, "description": "A `role_based_access_control` block as documented below.\n" }, "servicePrincipals": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterServicePrincipal:getKubernetesClusterServicePrincipal" }, "description": "A `service_principal` block as documented below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "windowsProfiles": { "type": "array", "items": { "$ref": "#/types/azure:containerservice/getKubernetesClusterWindowsProfile:getKubernetesClusterWindowsProfile" }, "description": "A `windows_profile` block as documented below.\n" } }, "type": "object", "required": [ "addonProfiles", "agentPoolProfiles", "apiServerAuthorizedIpRanges", "diskEncryptionSetId", "dnsPrefix", "fqdn", "identities", "kubeAdminConfigs", "kubeAdminConfigRaw", "kubeConfigs", "kubeConfigRaw", "kubeletIdentities", "kubernetesVersion", "linuxProfiles", "location", "name", "networkProfiles", "nodeResourceGroup", "privateClusterEnabled", "privateFqdn", "privateLinkEnabled", "resourceGroupName", "roleBasedAccessControls", "servicePrincipals", "tags", "windowsProfiles", "id" ] } }, "azure:containerservice/getKubernetesServiceVersions:getKubernetesServiceVersions": { "description": "Use this data source to retrieve the version of Kubernetes supported by Azure Kubernetes Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.ContainerService.GetKubernetesServiceVersions.InvokeAsync(new Azure.ContainerService.GetKubernetesServiceVersionsArgs\n {\n Location = \"West Europe\",\n }));\n this.Versions = current.Apply(current =\u003e current.Versions);\n this.LatestVersion = current.Apply(current =\u003e current.LatestVersion);\n }\n\n [Output(\"versions\")]\n public Output\u003cstring\u003e Versions { get; set; }\n [Output(\"latestVersion\")]\n public Output\u003cstring\u003e LatestVersion { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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 `true`\n" }, "location": { "type": "string", "description": "Specifies the location in which to query for versions.\n" }, "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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "includePreview": { "type": "boolean" }, "latestVersion": { "type": "string", "description": "The most recent version available. If `include_preview == false`, this is the most recent non-preview version available.\n" }, "location": { "type": "string" }, "versionPrefix": { "type": "string" }, "versions": { "type": "array", "items": { "type": "string" }, "description": "The list of all supported versions.\n" } }, "type": "object", "required": [ "latestVersion", "location", "versions", "id" ] } }, "azure:containerservice/getRegistry:getRegistry": { "description": "Use this data source to access information about an existing Container Registry.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ContainerService.GetRegistry.InvokeAsync(new Azure.ContainerService.GetRegistryArgs\n {\n Name = \"testacr\",\n ResourceGroupName = \"test\",\n }));\n this.LoginServer = example.Apply(example =\u003e example.LoginServer);\n }\n\n [Output(\"loginServer\")]\n public Output\u003cstring\u003e LoginServer { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "boolean", "description": "Is the Administrator account enabled for this Container Registry.\n" }, "adminPassword": { "type": "string", "description": "The Password associated with the Container Registry Admin account - if the admin account is enabled.\n" }, "adminUsername": { "type": "string", "description": "The Username associated with the Container Registry Admin account - if the admin account is enabled.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region in which this Container Registry exists.\n" }, "loginServer": { "type": "string", "description": "The URL that can be used to log into the container registry.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "The SKU of this Container Registry, such as `Basic`.\n" }, "storageAccountId": { "type": "string", "description": "The ID of the Storage Account used for this Container Registry. This is only returned for `Classic` SKU's.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of tags assigned to the Container Registry.\n" } }, "type": "object", "required": [ "adminEnabled", "adminPassword", "adminUsername", "location", "loginServer", "name", "resourceGroupName", "sku", "storageAccountId", "tags", "id" ] } }, "azure:core/getClientConfig:getClientConfig": { "description": "Use this data source to access the configuration of the AzureRM provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());\n this.AccountId = current.Apply(current =\u003e current.ClientId);\n }\n\n [Output(\"accountId\")]\n public Output\u003cstring\u003e AccountId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, 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{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getClientConfig.\n", "properties": { "clientId": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "objectId": { "type": "string" }, "subscriptionId": { "type": "string" }, "tenantId": { "type": "string" } }, "type": "object", "required": [ "clientId", "objectId", "subscriptionId", "tenantId", "id" ] } }, "azure:core/getResourceGroup:getResourceGroup": { "description": "Use this data source to access information about an existing Resource Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Core.GetResourceGroup.InvokeAsync(new Azure.Core.GetResourceGroupArgs\n {\n Name = \"existing\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the Resource Group exists.\n" }, "name": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Resource Group.\n" } }, "type": "object", "required": [ "location", "name", "tags", "id" ] } }, "azure:core/getResources:getResources": { "description": "Use this data source to access information about existing resources.\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 full list of available Resource Types can be found [here](https://docs.microsoft.com/en-us/azure/azure-resource-manager/azure-services-resource-providers).\n" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getResources.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string", "description": "The name of this Resource.\n" }, "requiredTags": { "type": "object", "additionalProperties": { "type": "string" } }, "resourceGroupName": { "type": "string" }, "resources": { "type": "array", "items": { "$ref": "#/types/azure:core/getResourcesResource:getResourcesResource" }, "description": "One or more `resource` blocks as defined below.\n" }, "type": { "type": "string", "description": "The type of this Resource. (e.g. `Microsoft.Network/virtualNetworks`).\n" } }, "type": "object", "required": [ "name", "resourceGroupName", "resources", "type", "id" ] } }, "azure:core/getSubscription:getSubscription": { "description": "Use this data source to access information about an existing Subscription.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(Azure.Core.GetSubscription.InvokeAsync());\n this.CurrentSubscriptionDisplayName = current.Apply(current =\u003e current.DisplayName);\n }\n\n [Output(\"currentSubscriptionDisplayName\")]\n public Output\u003cstring\u003e CurrentSubscriptionDisplayName { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetSubscription(ctx, nil, 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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The subscription display name.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\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" }, "tenantId": { "type": "string", "description": "The subscription tenant ID.\n" } }, "type": "object", "required": [ "displayName", "locationPlacementId", "quotaId", "spendingLimit", "state", "subscriptionId", "tenantId", "id" ] } }, "azure:core/getSubscriptions:getSubscriptions": { "description": "Use this data source to access information about all the Subscriptions currently available.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var available = Output.Create(Azure.Core.GetSubscriptions.InvokeAsync());\n this.AvailableSubscriptions = available.Apply(available =\u003e available.Subscriptions);\n this.FirstAvailableSubscriptionDisplayName = available.Apply(available =\u003e available.Subscriptions[0].DisplayName);\n }\n\n [Output(\"availableSubscriptions\")]\n public Output\u003cstring\u003e AvailableSubscriptions { get; set; }\n [Output(\"firstAvailableSubscriptionDisplayName\")]\n public Output\u003cstring\u003e FirstAvailableSubscriptionDisplayName { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tavailable, err := core.GetSubscriptions(ctx, nil, 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{{% /example %}}\n{{% /examples %}}", "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 `display_name` field, used to filter the results\n" }, "displayNamePrefix": { "type": "string", "description": "A case-insensitive prefix which can be used to filter on the `display_name` field\n" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getSubscriptions.\n", "properties": { "displayNameContains": { "type": "string" }, "displayNamePrefix": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "subscriptions": { "type": "array", "items": { "$ref": "#/types/azure:core/getSubscriptionsSubscription:getSubscriptionsSubscription" }, "description": "One or more `subscription` blocks as defined below.\n" } }, "type": "object", "required": [ "subscriptions", "id" ] } }, "azure:core/getUserAssignedIdentity:getUserAssignedIdentity": { "description": "Use this data source to access information about an existing User Assigned Identity.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Reference An Existing)\n\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);\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)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Authorization.GetUserAssignedIdentity.InvokeAsync(new Azure.Authorization.GetUserAssignedIdentityArgs\n {\n Name = \"name_of_user_assigned_identity\",\n ResourceGroupName = \"name_of_resource_group\",\n }));\n this.UaiClientId = example.Apply(example =\u003e example.ClientId);\n this.UaiPrincipalId = example.Apply(example =\u003e example.PrincipalId);\n }\n\n [Output(\"uaiClientId\")]\n public Output\u003cstring\u003e UaiClientId { get; set; }\n [Output(\"uaiPrincipalId\")]\n public Output\u003cstring\u003e UaiPrincipalId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The Client ID of the User Assigned Identity.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the User Assigned Identity exists.\n" }, "name": { "type": "string" }, "principalId": { "type": "string", "description": "The Service Principal ID of the User Assigned Identity.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the User Assigned Identity.\n" } }, "type": "object", "required": [ "clientId", "location", "name", "principalId", "resourceGroupName", "tags", "id" ] }, "deprecationMessage": "azure.core.getUserAssignedIdentity has been deprecated in favor of azure.authorization.getUserAssignedIdentity" }, "azure:cosmosdb/getAccount:getAccount": { "description": "Use this data source to access information about an existing CosmosDB (formally DocumentDB) Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 = data.azurerm_cosmosdb_account.jobs.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\", data[\"azurerm_cosmosdb_account\"][\"jobs\"][\"endpoint\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.CosmosDB.GetAccount.InvokeAsync(new Azure.CosmosDB.GetAccountArgs\n {\n Name = \"tfex-cosmosdb-account\",\n ResourceGroupName = \"tfex-cosmosdb-account-rg\",\n }));\n this.CosmosdbAccountEndpoint = data.Azurerm_cosmosdb_account.Jobs.Endpoint;\n }\n\n [Output(\"cosmosdbAccountEndpoint\")]\n public Output\u003cstring\u003e CosmosdbAccountEndpoint { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/cosmosdb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\", data.Azurerm_cosmosdb_account.Jobs.Endpoint)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "capabilities": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/getAccountCapability:getAccountCapability" }, "description": "Capabilities enabled on this Cosmos DB account.\n" }, "consistencyPolicies": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/getAccountConsistencyPolicy:getAccountConsistencyPolicy" } }, "enableAutomaticFailover": { "type": "boolean", "description": "If automatic failover is enabled for this CosmosDB Account.\n" }, "enableFreeTier": { "type": "boolean", "description": "If Free Tier pricing option is enabled for this CosmosDB Account.\n" }, "enableMultipleWriteLocations": { "type": "boolean", "description": "If multi-master is enabled for this Cosmos DB account.\n" }, "endpoint": { "type": "string", "description": "The endpoint used to connect to the CosmosDB account.\n" }, "geoLocations": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/getAccountGeoLocation:getAccountGeoLocation" } }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ipRangeFilter": { "type": "string", "description": "The current IP Filter for this CosmosDB account\n" }, "isVirtualNetworkFilterEnabled": { "type": "boolean", "description": "If virtual network filtering is enabled for this Cosmos DB account.\n" }, "kind": { "type": "string", "description": "The Kind of the CosmosDB account.\n" }, "location": { "type": "string", "description": "The name of the Azure region hosting replicated data.\n" }, "name": { "type": "string" }, "offerType": { "type": "string", "description": "The Offer Type to used by this CosmosDB Account.\n" }, "primaryKey": { "type": "string", "description": "The Primary master key for the CosmosDB Account.\n" }, "primaryMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `primary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "primaryReadonlyKey": { "type": "string", "description": "The Primary read-only master Key for the CosmosDB Account.\n" }, "primaryReadonlyMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `primary_readonly_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "readEndpoints": { "type": "array", "items": { "type": "string" }, "description": "A list of read endpoints available for this CosmosDB account.\n" }, "resourceGroupName": { "type": "string" }, "secondaryKey": { "type": "string", "description": "The Secondary master key for the CosmosDB Account.\n" }, "secondaryMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `secondary_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "secondaryReadonlyKey": { "type": "string", "description": "The Secondary read-only master key for the CosmosDB Account.\n" }, "secondaryReadonlyMasterKey": { "type": "string", "deprecationMessage": "This property has been renamed to `secondary_readonly_key` and will be removed in v3.0 of the provider in support of HashiCorp's inclusive language policy which can be found here: https://discuss.hashicorp.com/t/inclusive-language-changes" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "virtualNetworkRules": { "type": "array", "items": { "$ref": "#/types/azure:cosmosdb/getAccountVirtualNetworkRule:getAccountVirtualNetworkRule" }, "description": "Subnets that are allowed to access this CosmosDB account.\n" }, "writeEndpoints": { "type": "array", "items": { "type": "string" }, "description": "A list of write endpoints available for this CosmosDB account.\n" } }, "type": "object", "required": [ "capabilities", "consistencyPolicies", "enableAutomaticFailover", "enableFreeTier", "enableMultipleWriteLocations", "endpoint", "geoLocations", "ipRangeFilter", "isVirtualNetworkFilterEnabled", "kind", "location", "name", "offerType", "primaryKey", "primaryMasterKey", "primaryReadonlyKey", "primaryReadonlyMasterKey", "readEndpoints", "resourceGroupName", "secondaryKey", "secondaryMasterKey", "secondaryReadonlyKey", "secondaryReadonlyMasterKey", "tags", "virtualNetworkRules", "writeEndpoints", "id" ] } }, "azure:databasemigration/getProject:getProject": { "description": "Use this data source to access information about an existing Database Migration Project.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.databasemigration.getProject({\n name: \"example-dbms-project\",\n resourceGroupName: \"example-rg\",\n serviceName: \"example-dbms\",\n}, { async: true }));\n\nexport const name = 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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DatabaseMigration.GetProject.InvokeAsync(new Azure.DatabaseMigration.GetProjectArgs\n {\n Name = \"example-dbms-project\",\n ResourceGroupName = \"example-rg\",\n ServiceName = \"example-dbms\",\n }));\n this.Name = example.Apply(example =\u003e example.Name);\n }\n\n [Output(\"name\")]\n public Output\u003cstring\u003e Name { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "serviceName": { "type": "string" }, "sourcePlatform": { "type": "string", "description": "The platform type of the migration source.\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.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "serviceName", "sourcePlatform", "tags", "targetPlatform", "id" ] } }, "azure:databasemigration/getService:getService": { "description": "Use this data source to access information about an existing Database Migration Service.\n\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.databasemigration.getService({\n name: \"example-dms\",\n resourceGroupName: \"example-rg\",\n}, { async: true }));\n\nexport const azurermDmsId = 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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DatabaseMigration.GetService.InvokeAsync(new Azure.DatabaseMigration.GetServiceArgs\n {\n Name = \"example-dms\",\n ResourceGroupName = \"example-rg\",\n }));\n this.AzurermDmsId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"azurermDmsId\")]\n public Output\u003cstring\u003e AzurermDmsId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/databasemigration\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "skuName": { "type": "string", "description": "The sku name of database migration service.\n" }, "subnetId": { "type": "string", "description": "The ID of the virtual subnet resource to which the database migration service exists.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "skuName", "subnetId", "tags", "id" ] } }, "azure:databricks/getWorkspace:getWorkspace": { "description": "Use this data source to access information about an existing Databricks workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataBricks.GetWorkspace.InvokeAsync(new Azure.DataBricks.GetWorkspaceArgs\n {\n Name = \"example-workspace\",\n ResourceGroupName = \"example-rg\",\n }));\n this.DatabricksWorkspaceId = example.Apply(example =\u003e example.WorkspaceId);\n }\n\n [Output(\"databricksWorkspaceId\")]\n public Output\u003cstring\u003e DatabricksWorkspaceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getWorkspace.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "SKU of this Databricks Workspace.\n" }, "workspaceId": { "type": "string", "description": "Unique ID of this Databricks Workspace in Databricks management plane.\n" }, "workspaceUrl": { "type": "string", "description": "URL this Databricks Workspace is accessible on.\n" } }, "type": "object", "required": [ "name", "resourceGroupName", "sku", "workspaceId", "workspaceUrl", "id" ] } }, "azure:datafactory/getFactory:getFactory": { "description": "Use this data source to access information about an existing Azure Data Factory (Version 2).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datafactory.getFactory({\n name: azurerm_data_factory.example.name,\n resourceGroupName: azurerm_data_factory.example.resource_group_name,\n});\nexport const dataFactoryId = azurerm_data_factory.example.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datafactory.get_factory(name=azurerm_data_factory[\"example\"][\"name\"],\n resource_group_name=azurerm_data_factory[\"example\"][\"resource_group_name\"])\npulumi.export(\"dataFactoryId\", azurerm_data_factory[\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataFactory.GetFactory.InvokeAsync(new Azure.DataFactory.GetFactoryArgs\n {\n Name = azurerm_data_factory.Example.Name,\n ResourceGroupName = azurerm_data_factory.Example.Resource_group_name,\n }));\n this.DataFactoryId = azurerm_data_factory.Example.Id;\n }\n\n [Output(\"dataFactoryId\")]\n public Output\u003cstring\u003e DataFactoryId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datafactory\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := datafactory.LookupFactory(ctx, \u0026datafactory.LookupFactoryArgs{\n\t\t\tName: azurerm_data_factory.Example.Name,\n\t\t\tResourceGroupName: azurerm_data_factory.Example.Resource_group_name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dataFactoryId\", azurerm_data_factory.Example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getFactory.\n", "properties": { "name": { "type": "string", "description": "Specifies the name of the Data Factory to retrieve information about.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the Data Factory exists.\n" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getFactory.\n", "properties": { "githubConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/getFactoryGithubConfiguration:getFactoryGithubConfiguration" }, "description": "A `github_configuration` block as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/getFactoryIdentity:getFactoryIdentity" }, "description": "An `identity` block as defined below.\n" }, "location": { "type": "string", "description": "The Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n---\n" }, "vstsConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:datafactory/getFactoryVstsConfiguration:getFactoryVstsConfiguration" }, "description": "A `vsts_configuration` block as defined below.\n" } }, "type": "object", "required": [ "githubConfigurations", "identities", "location", "name", "resourceGroupName", "tags", "vstsConfigurations", "id" ] } }, "azure:datalake/getStore:getStore": { "description": "Use this data source to access information about an existing Data Lake Store.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datalake.getStore({\n name: \"testdatalake\",\n resourceGroupName: \"testdatalake\",\n});\nexport const dataLakeStoreId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.datalake.get_store(name=\"testdatalake\",\n resource_group_name=\"testdatalake\")\npulumi.export(\"dataLakeStoreId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataLake.GetStore.InvokeAsync(new Azure.DataLake.GetStoreArgs\n {\n Name = \"testdatalake\",\n ResourceGroupName = \"testdatalake\",\n }));\n this.DataLakeStoreId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"dataLakeStoreId\")]\n public Output\u003cstring\u003e DataLakeStoreId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datalake\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datalake.LookupStore(ctx, \u0026datalake.LookupStoreArgs{\n\t\t\tName: \"testdatalake\",\n\t\t\tResourceGroupName: \"testdatalake\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"dataLakeStoreId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getStore.\n", "properties": { "name": { "type": "string", "description": "The name of the Data Lake Store.\n" }, "resourceGroupName": { "type": "string", "description": "The Name of the Resource Group where the Data Lake Store exists.\n" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getStore.\n", "properties": { "encryptionState": { "type": "string", "description": "the Encryption State of this Data Lake Store Account, such as `Enabled` or `Disabled`.\n" }, "encryptionType": { "type": "string", "description": "the Encryption Type used for this Data Lake Store Account.\n" }, "firewallAllowAzureIps": { "type": "string", "description": "are Azure Service IP's allowed through the firewall?\n" }, "firewallState": { "type": "string", "description": "the state of the firewall, such as `Enabled` or `Disabled`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the Data Lake Store.\n" }, "tier": { "type": "string", "description": "Current monthly commitment tier for the account.\n" } }, "type": "object", "required": [ "encryptionState", "encryptionType", "firewallAllowAzureIps", "firewallState", "location", "name", "resourceGroupName", "tags", "tier", "id" ] } }, "azure:datashare/getAccount:getAccount": { "description": "Use this data source to access information about an existing Data Share Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataShare.GetAccount.InvokeAsync(new Azure.DataShare.GetAccountArgs\n {\n Name = \"example-account\",\n ResourceGroupName = \"example-resource-group\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:datashare/getAccountIdentity:getAccountIdentity" }, "description": "An `identity` block as defined below.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Data Share Account.\n" } }, "type": "object", "required": [ "identities", "name", "resourceGroupName", "tags", "id" ] } }, "azure:datashare/getDatasetBlobStorage:getDatasetBlobStorage": { "description": "Use this data source to access information about an existing Data Share Blob Storage Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataShare.GetDatasetBlobStorage.InvokeAsync(new Azure.DataShare.GetDatasetBlobStorageArgs\n {\n Name = \"example-dsbsds\",\n DataShareId = \"example-share-id\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The name of the storage account container to be shared with the receiver.\n" }, "dataShareId": { "type": "string" }, "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.\n" }, "folderPath": { "type": "string", "description": "The folder path of the file in the storage container to be shared with the receiver.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string", "description": "The name of the storage account to be shared with the receiver.\n" }, "storageAccounts": { "type": "array", "items": { "$ref": "#/types/azure:datashare/getDatasetBlobStorageStorageAccount:getDatasetBlobStorageStorageAccount" }, "description": "A `storage_account` block as defined below.\n" } }, "type": "object", "required": [ "containerName", "dataShareId", "displayName", "filePath", "folderPath", "name", "storageAccounts", "id" ] } }, "azure:datashare/getDatasetDataLakeGen1:getDatasetDataLakeGen1": { "description": "Use this data source to access information about an existing DataShareDataLakeGen1Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.datashare.getDatasetDataLakeGen1({\n name: \"example-dsdsdlg1\",\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_data_lake_gen1(name=\"example-dsdsdlg1\",\n data_share_id=\"example-share-id\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataShare.GetDatasetDataLakeGen1.InvokeAsync(new Azure.DataShare.GetDatasetDataLakeGen1Args\n {\n Name = \"example-dsdsdlg1\",\n DataShareId = \"example-share-id\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := datashare.LookupDatasetDataLakeGen1(ctx, \u0026datashare.LookupDatasetDataLakeGen1Args{\n\t\t\tName: \"example-dsdsdlg1\",\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDatasetDataLakeGen1.\n", "properties": { "dataShareId": { "type": "string", "description": "The resource ID of the Data Share where this Data Share Data Lake Gen1 Dataset should be created.\n" }, "name": { "type": "string", "description": "The name of the Data Share Data Lake Gen1 Dataset.\n" } }, "type": "object", "required": [ "dataShareId", "name" ] }, "outputs": { "description": "A collection of values returned by getDatasetDataLakeGen1.\n", "properties": { "dataLakeStoreId": { "type": "string", "description": "The resource ID of the Data Lake Store to be shared with the receiver.\n" }, "dataShareId": { "type": "string" }, "displayName": { "type": "string", "description": "The displayed name of the Data Share Dataset.\n" }, "fileName": { "type": "string", "description": "The file name of the data lake store to be shared with the receiver.\n" }, "folderPath": { "type": "string", "description": "The folder path of the data lake store to be shared with the receiver.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" } }, "type": "object", "required": [ "dataLakeStoreId", "dataShareId", "displayName", "fileName", "folderPath", "name", "id" ] } }, "azure:datashare/getDatasetDataLakeGen2:getDatasetDataLakeGen2": { "description": "Use this data source to access information about an existing Data Share Data Lake Gen2 Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataShare.GetDatasetDataLakeGen2.InvokeAsync(new Azure.DataShare.GetDatasetDataLakeGen2Args\n {\n Name = \"example-dsdlg2ds\",\n ShareId = \"example-share-id\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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.\n" }, "fileSystemName": { "type": "string", "description": "The name of the data lake file system to be shared with the receiver.\n" }, "folderPath": { "type": "string", "description": "The folder path in the data lake file system to be shared with the receiver.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "shareId": { "type": "string" }, "storageAccountId": { "type": "string", "description": "The resource ID of the storage account of the data lake file system to be shared with the receiver.\n" } }, "type": "object", "required": [ "displayName", "filePath", "fileSystemName", "folderPath", "name", "shareId", "storageAccountId", "id" ] } }, "azure:datashare/getDatasetKustoCluster:getDatasetKustoCluster": { "description": "Use this data source to access information about an existing Data Share Kusto Cluster Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DataShare.GetDatasetKustoCluster.InvokeAsync(new Azure.DataShare.GetDatasetKustoClusterArgs\n {\n Name = \"example-dskc\",\n ShareId = \"example-share-id\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The name of the Data Share Dataset.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kustoClusterId": { "type": "string", "description": "The resource ID of the Kusto Cluster to be shared with the receiver.\n" }, "kustoClusterLocation": { "type": "string", "description": "The location of the Kusto Cluster.\n" }, "name": { "type": "string" }, "shareId": { "type": "string" } }, "type": "object", "required": [ "displayName", "kustoClusterId", "kustoClusterLocation", "name", "shareId", "id" ] } }, "azure:datashare/getShare:getShare": { "description": "Use this data source to access information about an existing Data Share.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.datashare.getAccount({\n name: \"example-account\",\n resourceGroupName: \"example-resource-group\",\n});\nconst exampleShare = azure.datashare.getShare({\n name: \"existing\",\n accountId: data.azurerm_data_share_account.exmaple.id,\n});\nexport const id = exampleShare.then(exampleShare =\u003e exampleShare.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.datashare.get_account(name=\"example-account\",\n resource_group_name=\"example-resource-group\")\nexample_share = azure.datashare.get_share(name=\"existing\",\n account_id=data[\"azurerm_data_share_account\"][\"exmaple\"][\"id\"])\npulumi.export(\"id\", example_share.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.DataShare.GetAccount.InvokeAsync(new Azure.DataShare.GetAccountArgs\n {\n Name = \"example-account\",\n ResourceGroupName = \"example-resource-group\",\n }));\n var exampleShare = Output.Create(Azure.DataShare.GetShare.InvokeAsync(new Azure.DataShare.GetShareArgs\n {\n Name = \"existing\",\n AccountId = data.Azurerm_data_share_account.Exmaple.Id,\n }));\n this.Id = exampleShare.Apply(exampleShare =\u003e exampleShare.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/datashare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\texampleShare, err := datashare.LookupShare(ctx, \u0026datashare.LookupShareArgs{\n\t\t\tName: \"existing\",\n\t\t\tAccountId: data.Azurerm_data_share_account.Exmaple.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleShare.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The description of the Data Share.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kind": { "type": "string", "description": "The kind of the Data Share.\n" }, "name": { "type": "string", "description": "The name of the snapshot schedule.\n" }, "snapshotSchedules": { "type": "array", "items": { "$ref": "#/types/azure:datashare/getShareSnapshotSchedule:getShareSnapshotSchedule" }, "description": "A `snapshot_schedule` block as defined below.\n" }, "terms": { "type": "string", "description": "The terms of the Data Share.\n" } }, "type": "object", "required": [ "accountId", "description", "kind", "name", "snapshotSchedules", "terms", "id" ] } }, "azure:devtest/getLab:getLab": { "description": "Use this data source to access information about an existing Dev Test Lab.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DevTest.GetLab.InvokeAsync(new Azure.DevTest.GetLabArgs\n {\n Name = \"example-lab\",\n ResourceGroupName = \"example-resources\",\n }));\n this.UniqueIdentifier = example.Apply(example =\u003e example.UniqueIdentifier);\n }\n\n [Output(\"uniqueIdentifier\")]\n public Output\u003cstring\u003e UniqueIdentifier { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyVaultId": { "type": "string", "description": "The ID of the Key used for this Dev Test Lab.\n" }, "location": { "type": "string", "description": "The Azure location where the Dev Test Lab exists.\n" }, "name": { "type": "string" }, "premiumDataDiskStorageAccountId": { "type": "string", "description": "The ID of the Storage Account used for Storage of Premium Data Disk.\n" }, "resourceGroupName": { "type": "string" }, "storageType": { "type": "string", "description": "The type of storage used by the Dev Test Lab.\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" } }, "type": "object", "required": [ "artifactsStorageAccountId", "defaultPremiumStorageAccountId", "defaultStorageAccountId", "keyVaultId", "location", "name", "premiumDataDiskStorageAccountId", "resourceGroupName", "storageType", "tags", "uniqueIdentifier", "id" ] } }, "azure:devtest/getVirtualNetwork:getVirtualNetwork": { "description": "Use this data source to access information about an existing Dev Test Lab Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.DevTest.GetVirtualNetwork.InvokeAsync(new Azure.DevTest.GetVirtualNetworkArgs\n {\n Name = \"example-network\",\n LabName = \"examplelab\",\n ResourceGroupName = \"example-resource\",\n }));\n this.LabSubnetName = example.Apply(example =\u003e example.AllowedSubnets[0].LabSubnetName);\n }\n\n [Output(\"labSubnetName\")]\n public Output\u003cstring\u003e LabSubnetName { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/devtest\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:devtest/getVirtualNetworkAllowedSubnet:getVirtualNetworkAllowedSubnet" }, "description": "The list of subnets enabled for the virtual network as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "labName": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "subnetOverrides": { "type": "array", "items": { "$ref": "#/types/azure:devtest/getVirtualNetworkSubnetOverride:getVirtualNetworkSubnetOverride" }, "description": "The list of permission overrides for the subnets as defined below.\n" }, "uniqueIdentifier": { "type": "string", "description": "The unique immutable identifier of the virtual network.\n" } }, "type": "object", "required": [ "allowedSubnets", "labName", "name", "resourceGroupName", "subnetOverrides", "uniqueIdentifier", "id" ] } }, "azure:dns/getZone:getZone": { "description": "Use this data source to access information about an existing DNS Zone.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Dns.GetZone.InvokeAsync(new Azure.Dns.GetZoneArgs\n {\n Name = \"search-eventhubns\",\n ResourceGroupName = \"search-service\",\n }));\n this.DnsZoneId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"dnsZoneId\")]\n public Output\u003cstring\u003e DnsZoneId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"search-service\"\n\t\texample, err := dns.LookupZone(ctx, \u0026dns.LookupZoneArgs{\n\t\t\tName: \"search-eventhubns\",\n\t\t\tResourceGroupName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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 `name` will be returned.\n" } }, "type": "object", "required": [ "name" ] }, "outputs": { "description": "A collection of values returned by getZone.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "maxNumberOfRecordSets": { "type": "integer", "description": "Maximum number of Records in the zone.\n" }, "name": { "type": "string" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the EventHub Namespace.\n" } }, "type": "object", "required": [ "maxNumberOfRecordSets", "name", "nameServers", "numberOfRecordSets", "resourceGroupName", "tags", "id" ] } }, "azure:eventgrid/getTopic:getTopic": { "description": "Use this data source to access information about an existing EventGrid Topic\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.eventgrid.getTopic({\n name: \"my-eventgrid-topic\",\n resourceGroupName: \"example-resources\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.EventGrid.GetTopic.InvokeAsync(new Azure.EventGrid.GetTopicArgs\n {\n Name = \"my-eventgrid-topic\",\n ResourceGroupName = \"example-resources\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventgrid\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getTopic.\n", "properties": { "endpoint": { "type": "string", "description": "The Endpoint associated with the EventGrid Topic.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "primaryAccessKey": { "type": "string", "description": "The Primary Shared Access Key associated with the EventGrid Topic.\n" }, "resourceGroupName": { "type": "string" }, "secondaryAccessKey": { "type": "string", "description": "The Secondary Shared Access Key associated with the EventGrid Topic.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "endpoint", "location", "name", "primaryAccessKey", "resourceGroupName", "secondaryAccessKey", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = pulumi.all([azurerm_eventhub_test.name, azurerm_eventhub_namespace_test.name, azurerm_resource_group_test.name]).apply(([azurerm_eventhub_testName, azurerm_eventhub_namespace_testName, azurerm_resource_group_testName]) =\u003e azure.eventhub.getAuthorizationRule({\n eventhubName: azurerm_eventhub_testName,\n name: \"test\",\n namespaceName: azurerm_eventhub_namespace_testName,\n resourceGroupName: azurerm_resource_group_testName,\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.eventhub.get_authorization_rule(eventhub_name=azurerm_eventhub[\"test\"][\"name\"],\n name=\"test\",\n namespace_name=azurerm_eventhub_namespace[\"test\"][\"name\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Azure.EventHub.GetAuthorizationRule.InvokeAsync(new Azure.EventHub.GetAuthorizationRuleArgs\n {\n EventhubName = azurerm_eventhub.Test.Name,\n Name = \"test\",\n NamespaceName = azurerm_eventhub_namespace.Test.Name,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tEventhubName: azurerm_eventhub.Test.Name,\n\t\t\tName: \"test\",\n\t\t\tNamespaceName: azurerm_eventhub_namespace.Test.Name,\n\t\t\tResourceGroupName: azurerm_resource_group.Test.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "listen": { "type": "boolean" }, "location": { "type": "string" }, "manage": { "type": "boolean" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the Event Hubs Authorization Rule.\n" }, "primaryConnectionStringAlias": { "type": "string", "description": "The alias of the Primary Connection String for the Event Hubs Authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Event Hubs Authorization Rule.\n" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Event Hubs Authorization Rule.\n" }, "secondaryConnectionStringAlias": { "type": "string", "description": "The alias of the Secondary Connection String for the Event Hubs Authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Event Hubs Authorization Rule.\n" }, "send": { "type": "boolean" } }, "type": "object", "required": [ "eventhubName", "location", "name", "namespaceName", "primaryConnectionString", "primaryConnectionStringAlias", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryConnectionStringAlias", "secondaryKey", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst test = pulumi.all([azurerm_eventhub_test.name, azurerm_eventhub_consumer_group_test.name, azurerm_eventhub_namespace_test.name, azurerm_resource_group_test.name]).apply(([azurerm_eventhub_testName, azurerm_eventhub_consumer_group_testName, azurerm_eventhub_namespace_testName, azurerm_resource_group_testName]) =\u003e azure.eventhub.getConsumeGroup({\n eventhubName: azurerm_eventhub_testName,\n name: azurerm_eventhub_consumer_group_testName,\n namespaceName: azurerm_eventhub_namespace_testName,\n resourceGroupName: azurerm_resource_group_testName,\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ntest = azure.eventhub.get_consume_group(eventhub_name=azurerm_eventhub[\"test\"][\"name\"],\n name=azurerm_eventhub_consumer_group[\"test\"][\"name\"],\n namespace_name=azurerm_eventhub_namespace[\"test\"][\"name\"],\n resource_group_name=azurerm_resource_group[\"test\"][\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Azure.EventHub.GetConsumeGroup.InvokeAsync(new Azure.EventHub.GetConsumeGroupArgs\n {\n EventhubName = azurerm_eventhub.Test.Name,\n Name = azurerm_eventhub_consumer_group.Test.Name,\n NamespaceName = azurerm_eventhub_namespace.Test.Name,\n ResourceGroupName = azurerm_resource_group.Test.Name,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tEventhubName: azurerm_eventhub.Test.Name,\n\t\t\tName: azurerm_eventhub_consumer_group.Test.Name,\n\t\t\tNamespaceName: azurerm_eventhub_namespace.Test.Name,\n\t\t\tResourceGroupName: azurerm_resource_group.Test.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "resourceGroupName": { "type": "string" }, "userMetadata": { "type": "string", "description": "Specifies the user metadata.\n" } }, "type": "object", "required": [ "eventhubName", "location", "name", "namespaceName", "resourceGroupName", "userMetadata", "id" ] } }, "azure:eventhub/getEventHub:getEventHub": { "description": "Use this data source to access information about an existing EventHub.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.EventHub.GetEventHub.InvokeAsync(new Azure.EventHub.GetEventHubArgs\n {\n Name = \"search-eventhub\",\n ResourceGroupName = \"search-service\",\n NamespaceName = \"search-eventhubns\",\n }));\n this.EventhubId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"eventhubId\")]\n public Output\u003cstring\u003e EventhubId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "partitionCount": { "type": "integer", "description": "The number of partitions in the EventHub.\n" }, "partitionIds": { "type": "array", "items": { "type": "string" }, "description": "The identifiers for the partitions of this EventHub.\n" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "name", "namespaceName", "partitionCount", "partitionIds", "resourceGroupName", "id" ] } }, "azure:eventhub/getEventhubNamespace:getEventhubNamespace": { "description": "Use this data source to access information about an existing EventHub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.EventHub.GetNamespace.InvokeAsync(new Azure.EventHub.GetNamespaceArgs\n {\n Name = \"search-eventhubns\",\n ResourceGroupName = \"search-service\",\n }));\n this.EventhubNamespaceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"eventhubNamespaceId\")]\n public Output\u003cstring\u003e EventhubNamespaceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "boolean", "description": "Is Auto Inflate enabled for the EventHub Namespace?\n" }, "capacity": { "type": "integer", "description": "The Capacity / Throughput Units for a `Standard` SKU namespace.\n" }, "dedicatedClusterId": { "type": "string", "description": "The ID of the EventHub Dedicated Cluster where this Namespace exists.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryConnectionStringAlias": { "type": "string", "description": "The alias of the primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionStringAlias": { "type": "string", "description": "The alias of the secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kafkaEnabled": { "type": "boolean" }, "location": { "type": "string", "description": "The Azure location where the EventHub Namespace exists\n" }, "maximumThroughputUnits": { "type": "integer", "description": "Specifies the maximum number of throughput units when Auto Inflate is Enabled.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "Defines which tier to use.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the EventHub Namespace.\n" }, "zoneRedundant": { "type": "boolean", "description": "Is this EventHub Namespace deployed across Availability Zones?\n" } }, "type": "object", "required": [ "autoInflateEnabled", "capacity", "dedicatedClusterId", "defaultPrimaryConnectionString", "defaultPrimaryConnectionStringAlias", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryConnectionStringAlias", "defaultSecondaryKey", "kafkaEnabled", "location", "maximumThroughputUnits", "name", "resourceGroupName", "sku", "tags", "zoneRedundant", "id" ] }, "deprecationMessage": "azure.eventhub.getEventhubNamespace has been deprecated in favor of azure.eventhub.getNamespace" }, "azure:eventhub/getNamespace:getNamespace": { "description": "Use this data source to access information about an existing EventHub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.EventHub.GetNamespace.InvokeAsync(new Azure.EventHub.GetNamespaceArgs\n {\n Name = \"search-eventhubns\",\n ResourceGroupName = \"search-service\",\n }));\n this.EventhubNamespaceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"eventhubNamespaceId\")]\n public Output\u003cstring\u003e EventhubNamespaceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "boolean", "description": "Is Auto Inflate enabled for the EventHub Namespace?\n" }, "capacity": { "type": "integer", "description": "The Capacity / Throughput Units for a `Standard` SKU namespace.\n" }, "dedicatedClusterId": { "type": "string", "description": "The ID of the EventHub Dedicated Cluster where this Namespace exists.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryConnectionStringAlias": { "type": "string", "description": "The alias of the primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionStringAlias": { "type": "string", "description": "The alias of the secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kafkaEnabled": { "type": "boolean" }, "location": { "type": "string", "description": "The Azure location where the EventHub Namespace exists\n" }, "maximumThroughputUnits": { "type": "integer", "description": "Specifies the maximum number of throughput units when Auto Inflate is Enabled.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "Defines which tier to use.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the EventHub Namespace.\n" }, "zoneRedundant": { "type": "boolean", "description": "Is this EventHub Namespace deployed across Availability Zones?\n" } }, "type": "object", "required": [ "autoInflateEnabled", "capacity", "dedicatedClusterId", "defaultPrimaryConnectionString", "defaultPrimaryConnectionStringAlias", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryConnectionStringAlias", "defaultSecondaryKey", "kafkaEnabled", "location", "maximumThroughputUnits", "name", "resourceGroupName", "sku", "tags", "zoneRedundant", "id" ] } }, "azure:eventhub/getNamespaceAuthorizationRule:getNamespaceAuthorizationRule": { "description": "Use this data source to access information about an Authorization Rule for an Event Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 = data.azurem_eventhub_namespace_authorization_rule.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\", data[\"azurem_eventhub_namespace_authorization_rule\"][\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.EventHub.GetNamespaceAuthorizationRule.InvokeAsync(new Azure.EventHub.GetNamespaceAuthorizationRuleArgs\n {\n Name = \"navi\",\n ResourceGroupName = \"example-resources\",\n NamespaceName = \"example-ns\",\n }));\n this.EventhubAuthorizationRuleId = data.Azurem_eventhub_namespace_authorization_rule.Example.Id;\n }\n\n [Output(\"eventhubAuthorizationRuleId\")]\n public Output\u003cstring\u003e EventhubAuthorizationRuleId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/eventhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\", data.Azurem_eventhub_namespace_authorization_rule.Example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "listen": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Listen to the Event Hub?\n" }, "manage": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Manage to the Event Hub?\n" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the Event Hubs authorization Rule.\n" }, "primaryConnectionStringAlias": { "type": "string", "description": "The alias of the Primary Connection String for the Event Hubs authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the Event Hubs authorization Rule.\n" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the Event Hubs authorization Rule.\n" }, "secondaryConnectionStringAlias": { "type": "string", "description": "The alias of the Secondary Connection String for the Event Hubs authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the Event Hubs authorization Rule.\n" }, "send": { "type": "boolean", "description": "Does this Authorization Rule have permissions to Send to the Event Hub?\n" } }, "type": "object", "required": [ "listen", "manage", "name", "namespaceName", "primaryConnectionString", "primaryConnectionStringAlias", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryConnectionStringAlias", "secondaryKey", "send", "id" ] } }, "azure:eventhub/getServiceBusNamespace:getServiceBusNamespace": { "description": "Use this data source to access information about an existing ServiceBus Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ServiceBus.GetNamespace.InvokeAsync(new Azure.ServiceBus.GetNamespaceArgs\n {\n Name = \"examplenamespace\",\n ResourceGroupName = \"example-resources\",\n }));\n this.Location = example.Apply(example =\u003e example.Location);\n }\n\n [Output(\"location\")]\n public Output\u003cstring\u003e Location { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "integer", "description": "The capacity of the ServiceBus Namespace.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location of the Resource Group in which the ServiceBus Namespace exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "The Tier used for the ServiceBus Namespace.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this ServiceBus Namespace is zone redundant.\n" } }, "type": "object", "required": [ "capacity", "defaultPrimaryConnectionString", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryKey", "location", "name", "resourceGroupName", "sku", "tags", "zoneRedundant", "id" ] }, "deprecationMessage": "azure.eventhub.getServiceBusNamespace has been deprecated in favor of azure.servicebus.getNamespace" }, "azure:hdinsight/getCluster:getCluster": { "description": "Use this data source to access information about an existing HDInsight Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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);\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)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.HDInsight.GetCluster.InvokeAsync(new Azure.HDInsight.GetClusterArgs\n {\n Name = \"example\",\n ResourceGroupName = \"example-resources\",\n }));\n this.HttpsEndpoint = example.Apply(example =\u003e example.HttpsEndpoint);\n }\n\n [Output(\"httpsEndpoint\")]\n public Output\u003cstring\u003e HttpsEndpoint { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/hdinsight\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "clusterVersion": { "type": "string", "description": "The version of HDInsights which is used on this HDInsight Cluster.\n" }, "componentVersions": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of versions of software used on this HDInsights Cluster.\n" }, "edgeSshEndpoint": { "type": "string", "description": "The SSH Endpoint of the Edge Node for this HDInsight Cluster, if an Edge Node exists.\n" }, "gateways": { "type": "array", "items": { "$ref": "#/types/azure:hdinsight/getClusterGateway:getClusterGateway" }, "description": "A `gateway` block as defined below.\n" }, "httpsEndpoint": { "type": "string", "description": "The HTTPS Endpoint for this HDInsight Cluster.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kind": { "type": "string", "description": "The kind of HDInsight Cluster this is, such as a Spark or Storm cluster.\n" }, "location": { "type": "string", "description": "The Azure Region in which this HDInsight Cluster exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sshEndpoint": { "type": "string", "description": "The SSH Endpoint for this HDInsight Cluster.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of tags assigned to the HDInsight Cluster.\n" }, "tier": { "type": "string", "description": "The SKU / Tier of this HDInsight Cluster.\n" }, "tlsMinVersion": { "type": "string", "description": "The minimal supported tls version.\n" } }, "type": "object", "required": [ "clusterVersion", "componentVersions", "edgeSshEndpoint", "gateways", "httpsEndpoint", "kind", "location", "name", "resourceGroupName", "sshEndpoint", "tags", "tier", "tlsMinVersion", "id" ] } }, "azure:healthcare/getService:getService": { "description": "Use this data source to access information about an existing Healthcare Service\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Healthcare.GetService.InvokeAsync(new Azure.Healthcare.GetServiceArgs\n {\n Name = \"example-healthcare_service\",\n ResourceGroupName = \"example-resources\",\n Location = \"westus2\",\n }));\n this.HealthcareServiceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"healthcareServiceId\")]\n public Output\u003cstring\u003e HealthcareServiceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/healthcare\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getService.\n", "properties": { "location": { "type": "string", "description": "The Azure Region where the Service is located.\n" }, "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" } }, "type": "object", "required": [ "location", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getService.\n", "properties": { "accessPolicyObjectIds": { "type": "array", "items": { "type": "string" } }, "authenticationConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:healthcare/getServiceAuthenticationConfiguration:getServiceAuthenticationConfiguration" }, "description": "An `authentication_configuration` block as defined below.\n" }, "corsConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:healthcare/getServiceCorsConfiguration:getServiceCorsConfiguration" }, "description": "A `cors_configuration` block as defined below.\n" }, "cosmosdbThroughput": { "type": "integer" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "kind": { "type": "string", "description": "The type of the service.\n" }, "location": { "type": "string", "description": "The Azure Region where the Service is located.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" } }, "type": "object", "required": [ "accessPolicyObjectIds", "authenticationConfigurations", "corsConfigurations", "cosmosdbThroughput", "kind", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:iot/getDps:getDps": { "description": "Use this data source to access information about an existing IotHub Device Provisioning Service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.iot.getDps({\n name: \"iot_hub_dps_test\",\n resourceGroupName: \"iothub_dps_rg\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Iot.GetDps.InvokeAsync(new Azure.Iot.GetDpsArgs\n {\n Name = \"iot_hub_dps_test\",\n ResourceGroupName = \"iothub_dps_rg\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The allocation policy of the IoT Device Provisioning Service.\n" }, "deviceProvisioningHostName": { "type": "string", "description": "The device endpoint of the IoT Device Provisioning Service.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "idScope": { "type": "string", "description": "The unique identifier of the IoT Device Provisioning Service.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the IoT Device Provisioning Service exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "serviceOperationsHostName": { "type": "string", "description": "The service endpoint of the IoT Device Provisioning Service.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "allocationPolicy", "deviceProvisioningHostName", "idScope", "location", "name", "resourceGroupName", "serviceOperationsHostName", "id" ] } }, "azure:iot/getDpsSharedAccessPolicy:getDpsSharedAccessPolicy": { "description": "Use this data source to access information about an existing IotHub Device Provisioning Service Shared Access Policy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: azurerm_resource_group.example.name,\n iothubDpsName: azurerm_iothub_dps.example.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=azurerm_resource_group[\"example\"][\"name\"],\n iothub_dps_name=azurerm_iothub_dps[\"example\"][\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Iot.GetDpsSharedAccessPolicy.InvokeAsync(new Azure.Iot.GetDpsSharedAccessPolicyArgs\n {\n Name = \"example\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n IothubDpsName = azurerm_iothub_dps.Example.Name,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_resource_group.Example.Name,\n\t\t\tIothubDpsName: azurerm_iothub_dps.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "iothubDpsName": { "type": "string" }, "name": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string of the Shared Access Policy.\n" }, "primaryKey": { "type": "string", "description": "The primary key used to create the authentication token.\n" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string of the Shared Access Policy.\n" }, "secondaryKey": { "type": "string", "description": "The secondary key used to create the authentication token.\n" } }, "type": "object", "required": [ "iothubDpsName", "name", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "id" ] } }, "azure:iot/getSharedAccessPolicy:getSharedAccessPolicy": { "description": "Use this data source to access information about an existing IotHub Shared Access Policy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: azurerm_resource_group.example.name,\n iothubName: azurerm_iothub.example.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=azurerm_resource_group[\"example\"][\"name\"],\n iothub_name=azurerm_iothub[\"example\"][\"name\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Iot.GetSharedAccessPolicy.InvokeAsync(new Azure.Iot.GetSharedAccessPolicyArgs\n {\n Name = \"example\",\n ResourceGroupName = azurerm_resource_group.Example.Name,\n IothubName = azurerm_iothub.Example.Name,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_resource_group.Example.Name,\n\t\t\tIothubName: azurerm_iothub.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "iothubName": { "type": "string" }, "name": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string of the Shared Access Policy.\n" }, "primaryKey": { "type": "string", "description": "The primary key used to create the authentication token.\n" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string of the Shared Access Policy.\n" }, "secondaryKey": { "type": "string", "description": "The secondary key used to create the authentication token.\n" } }, "type": "object", "required": [ "iothubName", "name", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "id" ] } }, "azure:keyvault/getAccessPolicy:getAccessPolicy": { "description": "Use this data source to access information about the permissions from the Management Key Vault Templates.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var contributor = Output.Create(Azure.KeyVault.GetAccessPolicy.InvokeAsync(new Azure.KeyVault.GetAccessPolicyArgs\n {\n Name = \"Key Management\",\n }));\n this.AccessPolicyKeyPermissions = contributor.Apply(contributor =\u003e contributor.KeyPermissions);\n }\n\n [Output(\"accessPolicyKeyPermissions\")]\n public Output\u003cstring\u003e AccessPolicyKeyPermissions { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "type": "string" }, "description": "the certificate permissions for the access policy\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyPermissions": { "type": "array", "items": { "type": "string" }, "description": "the key permissions for the access policy\n" }, "name": { "type": "string" }, "secretPermissions": { "type": "array", "items": { "type": "string" }, "description": "the secret permissions for the access policy\n" } }, "type": "object", "required": [ "certificatePermissions", "keyPermissions", "name", "secretPermissions", "id" ] } }, "azure:keyvault/getCertificate:getCertificate": { "description": "Use this data source to access information about an existing Key Vault Certificate.\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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleKeyVault = azure.keyvault.getKeyVault({\n name: \"examplekv\",\n resourceGroupName: \"some-resource-group\",\n});\nconst exampleCertificate = exampleKeyVault.then(exampleKeyVault =\u003e azure.keyvault.getCertificate({\n name: \"secret-sauce\",\n keyVaultId: exampleKeyVault.id,\n}));\nexport const certificateThumbprint = exampleCertificate.then(exampleCertificate =\u003e exampleCertificate.thumbprint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_key_vault = azure.keyvault.get_key_vault(name=\"examplekv\",\n resource_group_name=\"some-resource-group\")\nexample_certificate = azure.keyvault.get_certificate(name=\"secret-sauce\",\n key_vault_id=example_key_vault.id)\npulumi.export(\"certificateThumbprint\", example_certificate.thumbprint)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleKeyVault = Output.Create(Azure.KeyVault.GetKeyVault.InvokeAsync(new Azure.KeyVault.GetKeyVaultArgs\n {\n Name = \"examplekv\",\n ResourceGroupName = \"some-resource-group\",\n }));\n var exampleCertificate = exampleKeyVault.Apply(exampleKeyVault =\u003e Output.Create(Azure.KeyVault.GetCertificate.InvokeAsync(new Azure.KeyVault.GetCertificateArgs\n {\n Name = \"secret-sauce\",\n KeyVaultId = exampleKeyVault.Id,\n })));\n this.CertificateThumbprint = exampleCertificate.Apply(exampleCertificate =\u003e exampleCertificate.Thumbprint);\n }\n\n [Output(\"certificateThumbprint\")]\n public Output\u003cstring\u003e CertificateThumbprint { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKeyVault, 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\texampleCertificate, err := keyvault.LookupCertificate(ctx, \u0026keyvault.LookupCertificateArgs{\n\t\t\tName: \"secret-sauce\",\n\t\t\tKeyVaultId: exampleKeyVault.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"certificateThumbprint\", exampleCertificate.Thumbprint)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 `azure.keyvault.KeyVault` 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" } }, "type": "object", "required": [ "keyVaultId", "name" ] }, "outputs": { "description": "A collection of values returned by getCertificate.\n", "properties": { "certificateData": { "type": "string" }, "certificatePolicies": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateCertificatePolicy:getCertificateCertificatePolicy" }, "description": "A `certificate_policy` block as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyVaultId": { "type": "string" }, "name": { "type": "string", "description": "The name of the Certificate Issuer.\n" }, "secretId": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "thumbprint": { "type": "string" }, "version": { "type": "string" } }, "type": "object", "required": [ "certificateData", "certificatePolicies", "keyVaultId", "name", "secretId", "tags", "thumbprint", "version", "id" ] } }, "azure:keyvault/getCertificateIssuer:getCertificateIssuer": { "description": "Use this data source to access information about an existing Key Vault Certificate Issuer.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleKeyVault = azure.keyvault.getKeyVault({\n name: \"mykeyvault\",\n resourceGroupName: \"some-resource-group\",\n});\nconst exampleCertificateIssuer = exampleKeyVault.then(exampleKeyVault =\u003e azure.keyvault.getCertificateIssuer({\n name: \"existing\",\n keyVaultId: exampleKeyVault.id,\n}));\nexport const id = exampleCertificateIssuer.then(exampleCertificateIssuer =\u003e exampleCertificateIssuer.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_key_vault = azure.keyvault.get_key_vault(name=\"mykeyvault\",\n resource_group_name=\"some-resource-group\")\nexample_certificate_issuer = azure.keyvault.get_certificate_issuer(name=\"existing\",\n key_vault_id=example_key_vault.id)\npulumi.export(\"id\", example_certificate_issuer.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleKeyVault = Output.Create(Azure.KeyVault.GetKeyVault.InvokeAsync(new Azure.KeyVault.GetKeyVaultArgs\n {\n Name = \"mykeyvault\",\n ResourceGroupName = \"some-resource-group\",\n }));\n var exampleCertificateIssuer = exampleKeyVault.Apply(exampleKeyVault =\u003e Output.Create(Azure.KeyVault.GetCertificateIssuer.InvokeAsync(new Azure.KeyVault.GetCertificateIssuerArgs\n {\n Name = \"existing\",\n KeyVaultId = exampleKeyVault.Id,\n })));\n this.Id = exampleCertificateIssuer.Apply(exampleCertificateIssuer =\u003e exampleCertificateIssuer.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKeyVault, 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\texampleCertificateIssuer, err := keyvault.LookupCertificateIssuer(ctx, \u0026keyvault.LookupCertificateIssuerArgs{\n\t\t\tName: \"existing\",\n\t\t\tKeyVaultId: exampleKeyVault.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleCertificateIssuer.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The account number with the third-party Certificate Issuer.\n" }, "admins": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getCertificateIssuerAdmin:getCertificateIssuerAdmin" }, "description": "A list of `admin` blocks as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyVaultId": { "type": "string" }, "name": { "type": "string" }, "orgId": { "type": "string", "description": "The organization ID with the third-party Certificate Issuer.\n" }, "providerName": { "type": "string", "description": "The name of the third-party Certificate Issuer.\n" } }, "type": "object", "required": [ "accountId", "admins", "keyVaultId", "name", "orgId", "providerName", "id" ] } }, "azure:keyvault/getKey:getKey": { "description": "Use this data source to access information about an existing Key Vault Key.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: data.azurerm_key_vault.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=data[\"azurerm_key_vault\"][\"existing\"][\"id\"])\npulumi.export(\"keyType\", example.key_type)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.KeyVault.GetKey.InvokeAsync(new Azure.KeyVault.GetKeyArgs\n {\n Name = \"secret-sauce\",\n KeyVaultId = data.Azurerm_key_vault.Existing.Id,\n }));\n this.KeyType = example.Apply(example =\u003e example.KeyType);\n }\n\n [Output(\"keyType\")]\n public Output\u003cstring\u003e KeyType { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: data.Azurerm_key_vault.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{{% /example %}}\n{{% /examples %}}", "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 `azure.keyvault.KeyVault` Data Source / Resource.\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": { "e": { "type": "string", "description": "The RSA public exponent of this Key Vault Key.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyOpts": { "type": "array", "items": { "type": "string" }, "description": "A list of JSON web key operations assigned to this Key Vault Key\n" }, "keySize": { "type": "integer", "description": "Specifies the Size of this Key Vault Key.\n" }, "keyType": { "type": "string", "description": "Specifies the Key Type of this Key Vault Key\n" }, "keyVaultId": { "type": "string" }, "n": { "type": "string", "description": "The RSA modulus of this Key Vault Key.\n" }, "name": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to this Key Vault Key.\n" }, "version": { "type": "string", "description": "The current version of the Key Vault Key.\n" } }, "type": "object", "required": [ "e", "keyOpts", "keySize", "keyType", "keyVaultId", "n", "name", "tags", "version", "id" ] } }, "azure:keyvault/getKeyVault:getKeyVault": { "description": "Use this data source to access information about an existing Key Vault.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.KeyVault.GetKeyVault.InvokeAsync(new Azure.KeyVault.GetKeyVaultArgs\n {\n Name = \"mykeyvault\",\n ResourceGroupName = \"some-resource-group\",\n }));\n this.VaultUri = example.Apply(example =\u003e example.VaultUri);\n }\n\n [Output(\"vaultUri\")]\n public Output\u003cstring\u003e VaultUri { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getKeyVaultAccessPolicy:getKeyVaultAccessPolicy" }, "description": "One or more `access_policy` blocks as defined below.\n" }, "enabledForDeployment": { "type": "boolean", "description": "Can Azure Virtual Machines retrieve certificates stored as secrets from the Key Vault?\n" }, "enabledForDiskEncryption": { "type": "boolean", "description": "Can Azure Disk Encryption retrieve secrets from the Key Vault?\n" }, "enabledForTemplateDeployment": { "type": "boolean", "description": "Can Azure Resource Manager retrieve secrets from the Key Vault?\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region in which the Key Vault exists.\n" }, "name": { "type": "string" }, "networkAcls": { "type": "array", "items": { "$ref": "#/types/azure:keyvault/getKeyVaultNetworkAcl:getKeyVaultNetworkAcl" } }, "purgeProtectionEnabled": { "type": "boolean", "description": "Is purge protection enabled on this Key Vault?\n" }, "resourceGroupName": { "type": "string" }, "skuName": { "type": "string", "description": "The Name of the SKU used for this Key Vault.\n" }, "softDeleteEnabled": { "type": "boolean", "description": "Is soft delete enabled on this Key Vault?\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Key Vault.\n" }, "tenantId": { "type": "string", "description": "The Azure Active Directory Tenant ID used to authenticate requests for this Key Vault.\n" }, "vaultUri": { "type": "string", "description": "The URI of the vault for performing operations on keys and secrets.\n" } }, "type": "object", "required": [ "accessPolicies", "enabledForDeployment", "enabledForDiskEncryption", "enabledForTemplateDeployment", "location", "name", "networkAcls", "purgeProtectionEnabled", "resourceGroupName", "skuName", "softDeleteEnabled", "tags", "tenantId", "vaultUri", "id" ] } }, "azure:keyvault/getSecret:getSecret": { "description": "Use this data source to access information about an existing Key Vault Secret.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: data.azurerm_key_vault.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=data[\"azurerm_key_vault\"][\"existing\"][\"id\"])\npulumi.export(\"secretValue\", example.value)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.KeyVault.GetSecret.InvokeAsync(new Azure.KeyVault.GetSecretArgs\n {\n Name = \"secret-sauce\",\n KeyVaultId = data.Azurerm_key_vault.Existing.Id,\n }));\n this.SecretValue = example.Apply(example =\u003e example.Value);\n }\n\n [Output(\"secretValue\")]\n public Output\u003cstring\u003e SecretValue { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: data.Azurerm_key_vault.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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSecret.\n", "properties": { "keyVaultId": { "type": "string", "description": "Specifies the ID of the Key Vault instance where the Secret resides, available on the `azure.keyvault.KeyVault` Data Source / Resource.\n" }, "name": { "type": "string", "description": "Specifies the name of the Key Vault Secret.\n" } }, "type": "object", "required": [ "keyVaultId", "name" ] }, "outputs": { "description": "A collection of values returned by getSecret.\n", "properties": { "contentType": { "type": "string", "description": "The content type for the Key Vault Secret.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "keyVaultId": { "type": "string" }, "name": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Any tags assigned to this resource.\n" }, "value": { "type": "string", "description": "The value of the Key Vault Secret.\n" }, "version": { "type": "string", "description": "The current version of the Key Vault Secret.\n" } }, "type": "object", "required": [ "contentType", "keyVaultId", "name", "tags", "value", "version", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.kusto.getCluster({\n name: \"kustocluster\",\n resourceGroupName: \"test_resource_group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Kusto.GetCluster.InvokeAsync(new Azure.Kusto.GetClusterArgs\n {\n Name = \"kustocluster\",\n ResourceGroupName = \"test_resource_group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/kusto\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The Kusto Cluster URI to be used for data ingestion.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "uri": { "type": "string", "description": "The FQDN of the Azure Kusto Cluster.\n" } }, "type": "object", "required": [ "dataIngestionUri", "location", "name", "resourceGroupName", "tags", "uri", "id" ] } }, "azure:lb/getBackendAddressPool:getBackendAddressPool": { "description": "Use this data source to access information about an existing Load Balancer's Backend Address Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleLB = azure.lb.getLB({\n name: \"example-lb\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleBackendAddressPool = exampleLB.then(exampleLB =\u003e azure.lb.getBackendAddressPool({\n name: \"first\",\n loadbalancerId: exampleLB.id,\n}));\nexport const backendAddressPoolId = exampleBackendAddressPool.then(exampleBackendAddressPool =\u003e exampleBackendAddressPool.id);\nexport const backendIpConfigurationIds = data.azurerm_lb_backend_address_pool.beap.backend_ip_configurations.map(__item =\u003e __item.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_lb = azure.lb.get_lb(name=\"example-lb\",\n resource_group_name=\"example-resources\")\nexample_backend_address_pool = azure.lb.get_backend_address_pool(name=\"first\",\n loadbalancer_id=example_lb.id)\npulumi.export(\"backendAddressPoolId\", example_backend_address_pool.id)\npulumi.export(\"backendIpConfigurationIds\", [__item[\"id\"] for __item in data[\"azurerm_lb_backend_address_pool\"][\"beap\"][\"backend_ip_configurations\"]])\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleLB = Output.Create(Azure.Lb.GetLB.InvokeAsync(new Azure.Lb.GetLBArgs\n {\n Name = \"example-lb\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleBackendAddressPool = exampleLB.Apply(exampleLB =\u003e Output.Create(Azure.Lb.GetBackendAddressPool.InvokeAsync(new Azure.Lb.GetBackendAddressPoolArgs\n {\n Name = \"first\",\n LoadbalancerId = exampleLB.Id,\n })));\n this.BackendAddressPoolId = exampleBackendAddressPool.Apply(exampleBackendAddressPool =\u003e exampleBackendAddressPool.Id);\n this.BackendIpConfigurationIds = data.Azurerm_lb_backend_address_pool.Beap.Backend_ip_configurations.Select(__item =\u003e __item.Id).ToList();\n }\n\n [Output(\"backendAddressPoolId\")]\n public Output\u003cstring\u003e BackendAddressPoolId { get; set; }\n [Output(\"backendIpConfigurationIds\")]\n public Output\u003cstring\u003e BackendIpConfigurationIds { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLB, 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\texampleBackendAddressPool, err := lb.LookupBackendAddressPool(ctx, \u0026lb.LookupBackendAddressPoolArgs{\n\t\t\tName: \"first\",\n\t\t\tLoadbalancerId: exampleLB.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"backendAddressPoolId\", exampleBackendAddressPool.Id)\n\t\tvar splat0 []interface{}\n\t\tfor _, val0 := range data.Azurerm_lb_backend_address_pool.Beap.Backend_ip_configurations {\n\t\t\tsplat0 = append(splat0, val0.Id)\n\t\t}\n\t\tctx.Export(\"backendIpConfigurationIds\", splat0)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "backendIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:lb/getBackendAddressPoolBackendIpConfiguration:getBackendAddressPoolBackendIpConfiguration" }, "description": "An array of references to IP addresses defined in network interfaces.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "loadbalancerId": { "type": "string" }, "name": { "type": "string", "description": "The name of the Backend Address Pool.\n" } }, "type": "object", "required": [ "backendIpConfigurations", "loadbalancerId", "name", "id" ] } }, "azure:lb/getLB:getLB": { "description": "Use this data source to access information about an existing Load Balancer\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Lb.GetLB.InvokeAsync(new Azure.Lb.GetLBArgs\n {\n Name = \"example-lb\",\n ResourceGroupName = \"example-resources\",\n }));\n this.LoadbalancerId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"loadbalancerId\")]\n public Output\u003cstring\u003e LoadbalancerId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:lb/getLBFrontendIpConfiguration:getLBFrontendIpConfiguration" }, "description": "(Optional) A `frontend_ip_configuration` block as documented below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the Load Balancer exists.\n" }, "name": { "type": "string", "description": "The name of the Frontend IP Configuration.\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 `frontend_ip_configuration` blocks, if any.\n" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "The SKU of the Load Balancer.\n" }, "tags": { "type": "object", "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" ] } }, "azure:lb/getLBRule:getLBRule": { "description": "Use this data source to access information about an existing Load Balancer Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleLB = azure.lb.getLB({\n name: \"example-lb\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleLBRule = exampleLB.then(exampleLB =\u003e azure.lb.getLBRule({\n name: \"first\",\n resourceGroupName: \"example-resources\",\n loadbalancerId: exampleLB.id,\n}));\nexport const lbRuleId = exampleLBRule.then(exampleLBRule =\u003e exampleLBRule.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_lb = azure.lb.get_lb(name=\"example-lb\",\n resource_group_name=\"example-resources\")\nexample_lb_rule = azure.lb.get_lb_rule(name=\"first\",\n resource_group_name=\"example-resources\",\n loadbalancer_id=example_lb.id)\npulumi.export(\"lbRuleId\", example_lb_rule.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleLB = Output.Create(Azure.Lb.GetLB.InvokeAsync(new Azure.Lb.GetLBArgs\n {\n Name = \"example-lb\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleLBRule = exampleLB.Apply(exampleLB =\u003e Output.Create(Azure.Lb.GetLBRule.InvokeAsync(new Azure.Lb.GetLBRuleArgs\n {\n Name = \"first\",\n ResourceGroupName = \"example-resources\",\n LoadbalancerId = exampleLB.Id,\n })));\n this.LbRuleId = exampleLBRule.Apply(exampleLBRule =\u003e exampleLBRule.Id);\n }\n\n [Output(\"lbRuleId\")]\n public Output\u003cstring\u003e LbRuleId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/lb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLB, 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\texampleLBRule, err := lb.GetLBRule(ctx, \u0026lb.GetLBRuleArgs{\n\t\t\tName: \"first\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tLoadbalancerId: exampleLB.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"lbRuleId\", exampleLBRule.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "resourceGroupName": { "type": "string", "description": "The name of the Resource Group where the Load Balancer Rule exists.\n" } }, "type": "object", "required": [ "loadbalancerId", "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getLBRule.\n", "properties": { "backendAddressPoolId": { "type": "string", "description": "A reference to a Backend Address Pool over which this Load Balancing Rule operates.\n" }, "backendPort": { "type": "integer", "description": "The port used for internal connections on the endpoint.\n" }, "disableOutboundSnat": { "type": "boolean", "description": "If outbound SNAT is enabled for this Load Balancer Rule.\n" }, "enableFloatingIp": { "type": "boolean", "description": "If Floating IPs are enabled for this Load Balancer Rule\n" }, "enableTcpReset": { "type": "boolean", "description": "If TCP Reset is enabled for this Load Balancer Rule.\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.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the idle timeout in minutes for TCP connections.\n" }, "loadDistribution": { "type": "string", "description": "Specifies the load balancing distribution type used by the Load Balancer.\n" }, "loadbalancerId": { "type": "string" }, "name": { "type": "string" }, "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.\n" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "backendAddressPoolId", "backendPort", "disableOutboundSnat", "enableFloatingIp", "enableTcpReset", "frontendIpConfigurationName", "frontendPort", "idleTimeoutInMinutes", "loadDistribution", "loadbalancerId", "name", "probeId", "protocol", "resourceGroupName", "id" ] } }, "azure:logicapps/getIntegrationAccount:getIntegrationAccount": { "description": "Use this data source to access information about an existing Logic App Integration Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.LogicApps.GetIntegrationAccount.InvokeAsync(new Azure.LogicApps.GetIntegrationAccountArgs\n {\n Name = \"example-account\",\n ResourceGroupName = \"example-resource-group\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the Logic App Integration Account exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "skuName": { "type": "string", "description": "The sku name of the Logic App Integration Account.\n" }, "tags": { "type": "object", "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" ] } }, "azure:logicapps/getWorkflow:getWorkflow": { "description": "Use this data source to access information about an existing Logic App Workflow.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.LogicApps.GetWorkflow.InvokeAsync(new Azure.LogicApps.GetWorkflowArgs\n {\n Name = \"workflow1\",\n ResourceGroupName = \"my-resource-group\",\n }));\n this.AccessEndpoint = example.Apply(example =\u003e example.AccessEndpoint);\n }\n\n [Output(\"accessEndpoint\")]\n public Output\u003cstring\u003e AccessEndpoint { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/logicapps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the Logic App Workflow exists.\n" }, "logicAppIntegrationAccountId": { "type": "string", "description": "The ID of the integration account linked by this Logic App Workflow.\n" }, "name": { "type": "string" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of Key-Value pairs.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned 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" }, "workflowSchema": { "type": "string", "description": "The Schema used for this Logic App Workflow.\n" }, "workflowVersion": { "type": "string", "description": "The version of the Schema used for this Logic App Workflow. Defaults to `1.0.0.0`.\n" } }, "type": "object", "required": [ "accessEndpoint", "connectorEndpointIpAddresses", "connectorOutboundIpAddresses", "location", "logicAppIntegrationAccountId", "name", "parameters", "resourceGroupName", "tags", "workflowEndpointIpAddresses", "workflowOutboundIpAddresses", "workflowSchema", "workflowVersion", "id" ] } }, "azure:machinelearning/getWorkspace:getWorkspace": { "description": "Use this data source to access information about an existing Machine Learning Workspace.\n\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 = azurerm_machine_learning_workspace.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\", azurerm_machine_learning_workspace[\"existing\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var existing = Output.Create(Azure.MachineLearning.GetWorkspace.InvokeAsync(new Azure.MachineLearning.GetWorkspaceArgs\n {\n Name = \"example-workspace\",\n ResourceGroupName = \"example-resources\",\n }));\n this.Id = azurerm_machine_learning_workspace.Existing.Id;\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/machinelearning\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, 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\", azurerm_machine_learning_workspace.Existing.Id)\n\t\treturn nil\n\t})\n}\n```\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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location where the Machine Learning Workspace exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Machine Learning Workspace.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:maintenance/getConfiguration:getConfiguration": { "description": "Use this data source to access information about an existing Maintenance Configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 = azurerm_maintenance_configuration.existing.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\", azurerm_maintenance_configuration[\"existing\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var existing = Output.Create(Azure.Maintenance.GetConfiguration.InvokeAsync(new Azure.Maintenance.GetConfigurationArgs\n {\n Name = \"example-mc\",\n ResourceGroupName = \"example-resources\",\n }));\n this.Id = azurerm_maintenance_configuration.Existing.Id;\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/maintenance\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\", azurerm_maintenance_configuration.Existing.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "scope": { "type": "string", "description": "The scope of the Maintenance Configuration.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "scope", "tags", "id" ] } }, "azure:managedapplication/getDefinition:getDefinition": { "description": "Uses this data source to access information about an existing Managed Application Definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.managedapplication.getDefinition({\n name: \"example-managedappdef\",\n resourceGroupName: \"example-resources\",\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=\"example-managedappdef\",\n resource_group_name=\"example-resources\")\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ManagedApplication.GetDefinition.InvokeAsync(new Azure.ManagedApplication.GetDefinitionArgs\n {\n Name = \"example-managedappdef\",\n ResourceGroupName = \"example-resources\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/managedapplication\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: \"example-managedappdef\",\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\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "id" ] } }, "azure:management/getGroup:getGroup": { "description": "Use this data source to access information about an existing Management Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Management.GetGroup.InvokeAsync(new Azure.Management.GetGroupArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n }));\n this.DisplayName = example.Apply(example =\u003e example.DisplayName);\n }\n\n [Output(\"displayName\")]\n public Output\u003cstring\u003e DisplayName { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"00000000-0000-0000-0000-000000000000\"\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getGroup.\n", "properties": { "displayName": { "type": "string", "description": "Specifies the display name of this Management Group.\n" }, "groupId": { "type": "string", "description": "Specifies the name or UUID of this Management Group.\n", "deprecationMessage": "Deprecated in favour of `name`" }, "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": { "displayName": { "type": "string" }, "groupId": { "type": "string", "deprecationMessage": "Deprecated in favour of `name`" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "parentManagementGroupId": { "type": "string", "description": "The ID of any Parent Management Group.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription IDs which are assigned to the Management Group.\n" } }, "type": "object", "required": [ "displayName", "groupId", "name", "parentManagementGroupId", "subscriptionIds", "id" ] } }, "azure:managementgroups/getManagementGroup:getManagementGroup": { "description": "Use this data source to access information about an existing Management Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Management.GetGroup.InvokeAsync(new Azure.Management.GetGroupArgs\n {\n Name = \"00000000-0000-0000-0000-000000000000\",\n }));\n this.DisplayName = example.Apply(example =\u003e example.DisplayName);\n }\n\n [Output(\"displayName\")]\n public Output\u003cstring\u003e DisplayName { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/management\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"00000000-0000-0000-0000-000000000000\"\n\t\texample, err := management.LookupGroup(ctx, \u0026management.LookupGroupArgs{\n\t\t\tName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getManagementGroup.\n", "properties": { "displayName": { "type": "string", "description": "Specifies the display name of this Management Group.\n" }, "groupId": { "type": "string", "description": "Specifies the name or UUID of this Management Group.\n", "deprecationMessage": "Deprecated in favour of `name`" }, "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": { "displayName": { "type": "string" }, "groupId": { "type": "string", "deprecationMessage": "Deprecated in favour of `name`" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "parentManagementGroupId": { "type": "string", "description": "The ID of any Parent Management Group.\n" }, "subscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "A list of Subscription IDs which are assigned to the Management Group.\n" } }, "type": "object", "required": [ "displayName", "groupId", "name", "parentManagementGroupId", "subscriptionIds", "id" ] }, "deprecationMessage": "azure.managementgroups.getManagementGroup has been deprecated in favor of azure.management.getGroup" }, "azure:maps/getAccount:getAccount": { "description": "Use this data source to access information about an existing Azure Maps Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Maps.GetAccount.InvokeAsync(new Azure.Maps.GetAccountArgs\n {\n Name = \"production\",\n ResourceGroupName = \"maps\",\n }));\n this.MapsAccountId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"mapsAccountId\")]\n public Output\u003cstring\u003e MapsAccountId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/maps\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "primaryAccessKey": { "type": "string", "description": "The primary key used to authenticate and authorize access to the Maps REST APIs.\n" }, "resourceGroupName": { "type": "string" }, "secondaryAccessKey": { "type": "string", "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" }, "skuName": { "type": "string", "description": "The sku of the Azure Maps Account.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "xMsClientId": { "type": "string", "description": "A unique identifier for the Maps Account.\n" } }, "type": "object", "required": [ "name", "primaryAccessKey", "resourceGroupName", "secondaryAccessKey", "skuName", "xMsClientId", "id" ] } }, "azure:mariadb/getMariaDbServer:getMariaDbServer": { "description": "Use this data source to access information about an existing MariaDB Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst dbServer = azure.mariadb.getMariaDbServer({\n name: \"mariadb-server\",\n resourceGroupName: azurerm_mariadb_server.example.resource_group_name,\n});\nexport const mariadbServerId = data.azurerm_mariadb_server.example.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ndb_server = azure.mariadb.get_maria_db_server(name=\"mariadb-server\",\n resource_group_name=azurerm_mariadb_server[\"example\"][\"resource_group_name\"])\npulumi.export(\"mariadbServerId\", data[\"azurerm_mariadb_server\"][\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var dbServer = Output.Create(Azure.MariaDB.GetMariaDbServer.InvokeAsync(new Azure.MariaDB.GetMariaDbServerArgs\n {\n Name = \"mariadb-server\",\n ResourceGroupName = azurerm_mariadb_server.Example.Resource_group_name,\n }));\n this.MariadbServerId = data.Azurerm_mariadb_server.Example.Id;\n }\n\n [Output(\"mariadbServerId\")]\n public Output\u003cstring\u003e MariadbServerId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mariadb\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mariadb.GetMariaDbServer(ctx, \u0026mariadb.GetMariaDbServerArgs{\n\t\t\tName: \"mariadb-server\",\n\t\t\tResourceGroupName: azurerm_mariadb_server.Example.Resource_group_name,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"mariadbServerId\", data.Azurerm_mariadb_server.Example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getMariaDbServer.\n", "properties": { "name": { "type": "string", "description": "The name of the MariaDB Server to retrieve information about.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group where the MariaDB Server exists.\n" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getMariaDbServer.\n", "properties": { "administratorLogin": { "type": "string", "description": "The Administrator Login for the MariaDB Server.\n" }, "fqdn": { "type": "string", "description": "The FQDN of the MariaDB Server.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "skuName": { "type": "string", "description": "The SKU Name for this MariaDB Server.\n" }, "sslEnforcement": { "type": "string", "description": "The SSL being enforced on connections.\n" }, "storageProfiles": { "type": "array", "items": { "$ref": "#/types/azure:mariadb/getMariaDbServerStorageProfile:getMariaDbServerStorageProfile" }, "description": "A `storage_profile` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n---\n" }, "version": { "type": "string", "description": "The version of MariaDB being used.\n" } }, "type": "object", "required": [ "administratorLogin", "fqdn", "location", "name", "resourceGroupName", "skuName", "sslEnforcement", "storageProfiles", "tags", "version", "id" ] } }, "azure:monitoring/getActionGroup:getActionGroup": { "description": "Use this data source to access the properties of an Action Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Monitoring.GetActionGroup.InvokeAsync(new Azure.Monitoring.GetActionGroupArgs\n {\n ResourceGroupName = \"example-rg\",\n Name = \"tfex-actiongroup\",\n }));\n this.ActionGroupId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"actionGroupId\")]\n public Output\u003cstring\u003e ActionGroupId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupArmRoleReceiver:getActionGroupArmRoleReceiver" }, "description": "One or more `arm_role_receiver` blocks as defined below.\n" }, "automationRunbookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupAutomationRunbookReceiver:getActionGroupAutomationRunbookReceiver" }, "description": "One or more `automation_runbook_receiver` blocks as defined below.\n" }, "azureAppPushReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupAzureAppPushReceiver:getActionGroupAzureAppPushReceiver" }, "description": "One or more `azure_app_push_receiver` blocks as defined below.\n" }, "azureFunctionReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupAzureFunctionReceiver:getActionGroupAzureFunctionReceiver" }, "description": "One or more `azure_function_receiver` blocks as defined below.\n" }, "emailReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupEmailReceiver:getActionGroupEmailReceiver" }, "description": "One or more `email_receiver` blocks as defined below.\n" }, "enabled": { "type": "boolean", "description": "Whether this action group is enabled.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "itsmReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupItsmReceiver:getActionGroupItsmReceiver" }, "description": "One or more `itsm_receiver` blocks as defined below.\n" }, "logicAppReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupLogicAppReceiver:getActionGroupLogicAppReceiver" }, "description": "One or more `logic_app_receiver` blocks as defined below.\n" }, "name": { "type": "string", "description": "The name of the webhook receiver.\n" }, "resourceGroupName": { "type": "string" }, "shortName": { "type": "string", "description": "The short name of the action group.\n" }, "smsReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupSmsReceiver:getActionGroupSmsReceiver" }, "description": "One or more `sms_receiver` blocks as defined below.\n" }, "voiceReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupVoiceReceiver:getActionGroupVoiceReceiver" }, "description": "One or more `voice_receiver` blocks as defined below.\n" }, "webhookReceivers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getActionGroupWebhookReceiver:getActionGroupWebhookReceiver" }, "description": "One or more `webhook_receiver` blocks as defined below.\n" } }, "type": "object", "required": [ "armRoleReceivers", "automationRunbookReceivers", "azureAppPushReceivers", "azureFunctionReceivers", "emailReceivers", "enabled", "itsmReceivers", "logicAppReceivers", "name", "resourceGroupName", "shortName", "smsReceivers", "voiceReceivers", "webhookReceivers", "id" ] } }, "azure:monitoring/getDiagnosticCategories:getDiagnosticCategories": { "description": "Use this data source to access information about the Monitor Diagnostics Categories supported by an existing Resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleKeyVault = azure.keyvault.getKeyVault({\n name: azurerm_key_vault.example.name,\n resourceGroupName: azurerm_key_vault.example.resource_group_name,\n});\nconst exampleDiagnosticCategories = exampleKeyVault.then(exampleKeyVault =\u003e azure.monitoring.getDiagnosticCategories({\n resourceId: exampleKeyVault.id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_key_vault = azure.keyvault.get_key_vault(name=azurerm_key_vault[\"example\"][\"name\"],\n resource_group_name=azurerm_key_vault[\"example\"][\"resource_group_name\"])\nexample_diagnostic_categories = azure.monitoring.get_diagnostic_categories(resource_id=example_key_vault.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleKeyVault = Output.Create(Azure.KeyVault.GetKeyVault.InvokeAsync(new Azure.KeyVault.GetKeyVaultArgs\n {\n Name = azurerm_key_vault.Example.Name,\n ResourceGroupName = azurerm_key_vault.Example.Resource_group_name,\n }));\n var exampleDiagnosticCategories = exampleKeyVault.Apply(exampleKeyVault =\u003e Output.Create(Azure.Monitoring.GetDiagnosticCategories.InvokeAsync(new Azure.Monitoring.GetDiagnosticCategoriesArgs\n {\n ResourceId = exampleKeyVault.Id,\n })));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKeyVault, err := keyvault.LookupKeyVault(ctx, \u0026keyvault.LookupKeyVaultArgs{\n\t\t\tName: azurerm_key_vault.Example.Name,\n\t\t\tResourceGroupName: azurerm_key_vault.Example.Resource_group_name,\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: exampleKeyVault.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "logs": { "type": "array", "items": { "type": "string" }, "description": "A list of the Log Categories supported for this Resource.\n" }, "metrics": { "type": "array", "items": { "type": "string" }, "description": "A list of the Metric Categories supported for this Resource.\n" }, "resourceId": { "type": "string" } }, "type": "object", "required": [ "logs", "metrics", "resourceId", "id" ] } }, "azure:monitoring/getLogProfile:getLogProfile": { "description": "Use this data source to access the properties of a Log Profile.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.monitoring.getLogProfile({\n name: \"test-logprofile\",\n});\nexport const logProfileStorageAccountId = example.then(example =\u003e example.storageAccountId);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_log_profile(name=\"test-logprofile\")\npulumi.export(\"logProfileStorageAccountId\", example.storage_account_id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Monitoring.GetLogProfile.InvokeAsync(new Azure.Monitoring.GetLogProfileArgs\n {\n Name = \"test-logprofile\",\n }));\n this.LogProfileStorageAccountId = example.Apply(example =\u003e example.StorageAccountId);\n }\n\n [Output(\"logProfileStorageAccountId\")]\n public Output\u003cstring\u003e LogProfileStorageAccountId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := monitoring.LookupLogProfile(ctx, \u0026monitoring.LookupLogProfileArgs{\n\t\t\tName: \"test-logprofile\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"logProfileStorageAccountId\", example.StorageAccountId)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getLogProfile.\n", "properties": { "name": { "type": "string", "description": "Specifies the Name of the Log Profile.\n" } }, "type": "object", "required": [ "name" ] }, "outputs": { "description": "A collection of values returned by getLogProfile.\n", "properties": { "categories": { "type": "array", "items": { "type": "string" }, "description": "List of categories of the logs.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "locations": { "type": "array", "items": { "type": "string" }, "description": "List of regions for which Activity Log events are stored or streamed.\n" }, "name": { "type": "string" }, "retentionPolicies": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getLogProfileRetentionPolicy:getLogProfileRetentionPolicy" } }, "servicebusRuleId": { "type": "string", "description": "The service bus (or event hub) rule ID of the service bus (or event hub) namespace in which the Activity Log is streamed to.\n" }, "storageAccountId": { "type": "string", "description": "The resource id of the storage account in which the Activity Log is stored.\n" } }, "type": "object", "required": [ "categories", "locations", "name", "retentionPolicies", "servicebusRuleId", "storageAccountId", "id" ] } }, "azure:monitoring/getScheduledQueryRulesAlert:getScheduledQueryRulesAlert": { "description": "Use this data source to access the properties of an AlertingAction scheduled query rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.monitoring.getScheduledQueryRulesAlert({\n name: \"tfex-queryrule\",\n resourceGroupName: \"example-rg\",\n}, { async: true }));\n\nexport const queryRuleId = example.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_scheduled_query_rules_alert(name=\"tfex-queryrule\",\n resource_group_name=\"example-rg\")\npulumi.export(\"queryRuleId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Monitoring.GetScheduledQueryRulesAlert.InvokeAsync(new Azure.Monitoring.GetScheduledQueryRulesAlertArgs\n {\n Name = \"tfex-queryrule\",\n ResourceGroupName = \"example-rg\",\n }));\n this.QueryRuleId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"queryRuleId\")]\n public Output\u003cstring\u003e QueryRuleId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tName: \"tfex-queryrule\",\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(\"queryRuleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getScheduledQueryRulesAlertAction:getScheduledQueryRulesAlertAction" }, "description": "An `action` block as defined below.\n" }, "authorizedResourceIds": { "type": "array", "items": { "type": "string" }, "description": "The list of Resource IDs referred into query.\n" }, "dataSourceId": { "type": "string", "description": "The resource URI over which log search query is to be run.\n" }, "description": { "type": "string", "description": "The description of the scheduled query rule.\n" }, "enabled": { "type": "boolean", "description": "Whether this scheduled query rule is enabled.\n" }, "frequency": { "type": "integer", "description": "Frequency at which rule condition should be evaluated.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "query": { "type": "string", "description": "Log search query.\n" }, "queryType": { "type": "string" }, "resourceGroupName": { "type": "string" }, "severity": { "type": "integer", "description": "Severity of the alert.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "throttling": { "type": "integer", "description": "Time for which alerts should be throttled or suppressed.\n" }, "timeWindow": { "type": "integer", "description": "Time window for which data needs to be fetched for query.\n" }, "triggers": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getScheduledQueryRulesAlertTrigger:getScheduledQueryRulesAlertTrigger" }, "description": "A `trigger` block as defined below.\n" } }, "type": "object", "required": [ "actions", "authorizedResourceIds", "dataSourceId", "description", "enabled", "frequency", "location", "name", "query", "queryType", "resourceGroupName", "severity", "tags", "throttling", "timeWindow", "triggers", "id" ] } }, "azure:monitoring/getScheduledQueryRulesLog:getScheduledQueryRulesLog": { "description": "Use this data source to access the properties of a LogToMetricAction scheduled query rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.monitoring.getScheduledQueryRulesLog({\n name: \"tfex-queryrule\",\n resourceGroupName: \"example-rg\",\n}, { async: true }));\n\nexport const queryRuleId = example.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.monitoring.get_scheduled_query_rules_log(name=\"tfex-queryrule\",\n resource_group_name=\"example-rg\")\npulumi.export(\"queryRuleId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Monitoring.GetScheduledQueryRulesLog.InvokeAsync(new Azure.Monitoring.GetScheduledQueryRulesLogArgs\n {\n Name = \"tfex-queryrule\",\n ResourceGroupName = \"example-rg\",\n }));\n this.QueryRuleId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"queryRuleId\")]\n public Output\u003cstring\u003e QueryRuleId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tName: \"tfex-queryrule\",\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(\"queryRuleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "type": "string" } }, "criterias": { "type": "array", "items": { "$ref": "#/types/azure:monitoring/getScheduledQueryRulesLogCriteria:getScheduledQueryRulesLogCriteria" }, "description": "A `criteria` block as defined below.\n" }, "dataSourceId": { "type": "string", "description": "The resource URI over which log search query is to be run.\n" }, "description": { "type": "string", "description": "The description of the scheduled query rule.\n" }, "enabled": { "type": "boolean", "description": "Whether this scheduled query rule is enabled.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string", "description": "Name of the dimension.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "authorizedResourceIds", "criterias", "dataSourceId", "description", "enabled", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:mssql/getDatabase:getDatabase": { "description": "Use this data source to access information about an existing SQL database.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.mssql.getDatabase({\n name: \"example-mssql-db\",\n serverId: \"example-mssql-server-id\",\n});\nexport const databaseId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.mssql.get_database(name=\"example-mssql-db\",\n server_id=\"example-mssql-server-id\")\npulumi.export(\"databaseId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.MSSql.GetDatabase.InvokeAsync(new Azure.MSSql.GetDatabaseArgs\n {\n Name = \"example-mssql-db\",\n ServerId = \"example-mssql-server-id\",\n }));\n this.DatabaseId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"databaseId\")]\n public Output\u003cstring\u003e DatabaseId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mssql.LookupDatabase(ctx, \u0026mssql.LookupDatabaseArgs{\n\t\t\tName: \"example-mssql-db\",\n\t\t\tServerId: \"example-mssql-server-id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"databaseId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 create the database.\n" } }, "type": "object", "required": [ "name", "serverId" ] }, "outputs": { "description": "A collection of values returned by getDatabase.\n", "properties": { "collation": { "type": "string", "description": "The collation of the database.\n" }, "elasticPoolId": { "type": "string", "description": "The id of the elastic pool containing this database.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "licenseType": { "type": "string", "description": "The license type to apply for this database.\n" }, "maxSizeGb": { "type": "integer", "description": "The max size of the database in gigabytes.\n" }, "name": { "type": "string" }, "readReplicaCount": { "type": "integer", "description": "The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed.\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.\n" }, "serverId": { "type": "string" }, "skuName": { "type": "string", "description": "The name of the sku of the database.\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 database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.\n" } }, "type": "object", "required": [ "collation", "elasticPoolId", "licenseType", "maxSizeGb", "name", "readReplicaCount", "readScale", "serverId", "skuName", "tags", "zoneRedundant", "id" ] } }, "azure:mssql/getElasticPool:getElasticPool": { "description": "Use this data source to access information about an existing SQL elastic pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.MSSql.GetElasticPool.InvokeAsync(new Azure.MSSql.GetElasticPoolArgs\n {\n Name = \"mssqlelasticpoolname\",\n ResourceGroupName = \"example-resources\",\n ServerName = \"example-sql-server\",\n }));\n this.ElasticpoolId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"elasticpoolId\")]\n public Output\u003cstring\u003e ElasticpoolId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "licenseType": { "type": "string", "description": "The license type to apply for this database.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists.\n" }, "maxSizeBytes": { "type": "integer", "description": "The max data size of the elastic pool in bytes.\n" }, "maxSizeGb": { "type": "number", "description": "The max data size of the elastic pool in gigabytes.\n" }, "name": { "type": "string" }, "perDbMaxCapacity": { "type": "integer", "description": "The maximum capacity any one database can consume.\n" }, "perDbMinCapacity": { "type": "integer", "description": "The minimum capacity all databases are guaranteed.\n" }, "resourceGroupName": { "type": "string" }, "serverName": { "type": "string" }, "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.\n" } }, "type": "object", "required": [ "licenseType", "location", "maxSizeBytes", "maxSizeGb", "name", "perDbMaxCapacity", "perDbMinCapacity", "resourceGroupName", "serverName", "tags", "zoneRedundant", "id" ] } }, "azure:mssql/getServer:getServer": { "description": "Use this data source to access information about an existing Microsoft SQL Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.MSSql.GetServer.InvokeAsync(new Azure.MSSql.GetServerArgs\n {\n Name = \"existingMsSqlServer\",\n ResourceGroupName = \"existingResGroup\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The server's administrator login name.\n" }, "fullyQualifiedDomainName": { "type": "string", "description": "The fully qualified domain name of the Azure SQL Server.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:mssql/getServerIdentity:getServerIdentity" }, "description": "A `identity` block as defined below.\n" }, "location": { "type": "string", "description": "The Azure Region where the Microsoft SQL Server exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "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 assigned to this Microsoft SQL Server.\n" }, "version": { "type": "string", "description": "This servers MS SQL version.\n" } }, "type": "object", "required": [ "administratorLogin", "fullyQualifiedDomainName", "identities", "location", "name", "resourceGroupName", "restorableDroppedDatabaseIds", "tags", "version", "id" ] } }, "azure:netapp/getAccount:getAccount": { "description": "Uses this data source to access information about an existing NetApp Account.\n\n## NetApp Account Usage\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.NetApp.GetAccount.InvokeAsync(new Azure.NetApp.GetAccountArgs\n {\n ResourceGroupName = \"acctestRG\",\n Name = \"acctestnetappaccount\",\n }));\n this.NetappAccountId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"netappAccountId\")]\n public Output\u003cstring\u003e NetappAccountId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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", "inputs": { "description": "A collection of arguments for invoking getAccount.\n", "properties": { "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the NetApp Account exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "id" ] } }, "azure:netapp/getPool:getPool": { "description": "Uses this data source to access information about an existing NetApp Pool.\n\n\n## NetApp Pool Usage\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.NetApp.GetPool.InvokeAsync(new Azure.NetApp.GetPoolArgs\n {\n ResourceGroupName = \"acctestRG\",\n AccountName = \"acctestnetappaccount\",\n Name = \"acctestnetapppool\",\n }));\n this.NetappPoolId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"netappPoolId\")]\n public Output\u003cstring\u003e NetappPoolId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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", "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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the NetApp Pool exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "serviceLevel": { "type": "string", "description": "The service level of the file system.\n" }, "sizeInTb": { "type": "integer", "description": "Provisioned size of the pool in TB.\n" } }, "type": "object", "required": [ "accountName", "location", "name", "resourceGroupName", "serviceLevel", "sizeInTb", "id" ] } }, "azure:netapp/getSnapshot:getSnapshot": { "description": "Uses this data source to access information about an existing NetApp Snapshot.\n\n## NetApp Snapshot Usage\n\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 = data.azurerm_netapp_snapshot.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\", data[\"azurerm_netapp_snapshot\"][\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var test = Output.Create(Azure.NetApp.GetSnapshot.InvokeAsync(new Azure.NetApp.GetSnapshotArgs\n {\n ResourceGroupName = \"acctestRG\",\n Name = \"acctestnetappsnapshot\",\n AccountName = \"acctestnetappaccount\",\n PoolName = \"acctestnetapppool\",\n VolumeName = \"acctestnetappvolume\",\n }));\n this.NetappSnapshotId = data.Azurerm_netapp_snapshot.Example.Id;\n }\n\n [Output(\"netappSnapshotId\")]\n public Output\u003cstring\u003e NetappSnapshotId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\", data.Azurerm_netapp_snapshot.Example.Id)\n\t\treturn nil\n\t})\n}\n```\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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the NetApp Snapshot exists.\n" }, "name": { "type": "string" }, "poolName": { "type": "string" }, "resourceGroupName": { "type": "string" }, "volumeName": { "type": "string" } }, "type": "object", "required": [ "accountName", "location", "name", "poolName", "resourceGroupName", "volumeName", "id" ] } }, "azure:netapp/getVolume:getVolume": { "description": "Uses this data source to access information about an existing NetApp Volume.\n\n## NetApp Volume Usage\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.NetApp.GetVolume.InvokeAsync(new Azure.NetApp.GetVolumeArgs\n {\n ResourceGroupName = \"acctestRG\",\n AccountName = \"acctestnetappaccount\",\n PoolName = \"acctestnetapppool\",\n Name = \"example-volume\",\n }));\n this.NetappVolumeId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"netappVolumeId\")]\n public Output\u003cstring\u003e NetappVolumeId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/netapp\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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", "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" } }, "type": "object", "required": [ "accountName", "name", "poolName", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getVolume.\n", "properties": { "accountName": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the NetApp Volume exists.\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" }, "poolName": { "type": "string" }, "protocols": { "type": "array", "items": { "type": "string" } }, "resourceGroupName": { "type": "string" }, "serviceLevel": { "type": "string", "description": "The service level of the file system.\n" }, "storageQuotaInGb": { "type": "integer", "description": "The maximum Storage Quota in Gigabytes allowed for a file system.\n" }, "subnetId": { "type": "string", "description": "The ID of a Subnet in which the NetApp Volume resides.\n" }, "volumePath": { "type": "string", "description": "The unique file path of the volume.\n" } }, "type": "object", "required": [ "accountName", "location", "mountIpAddresses", "name", "poolName", "protocols", "resourceGroupName", "serviceLevel", "storageQuotaInGb", "subnetId", "volumePath", "id" ] } }, "azure:network/getApplicationSecurityGroup:getApplicationSecurityGroup": { "description": "Use this data source to access information about an existing Application Security Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetApplicationSecurityGroup.InvokeAsync(new Azure.Network.GetApplicationSecurityGroupArgs\n {\n Name = \"tf-appsecuritygroup\",\n ResourceGroupName = \"my-resource-group\",\n }));\n this.ApplicationSecurityGroupId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"applicationSecurityGroupId\")]\n public Output\u003cstring\u003e ApplicationSecurityGroupId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The supported Azure location where the Application Security Group exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:network/getExpressRouteCircuit:getExpressRouteCircuit": { "description": "Use this data source to access information about an existing ExpressRoute circuit.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getExpressRouteCircuit({\n resourceGroupName: azurerm_resource_group.example.name,\n name: azurerm_express_route_circuit.example.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=azurerm_resource_group[\"example\"][\"name\"],\n name=azurerm_express_route_circuit[\"example\"][\"name\"])\npulumi.export(\"expressRouteCircuitId\", example.id)\npulumi.export(\"serviceKey\", example.service_key)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetExpressRouteCircuit.InvokeAsync(new Azure.Network.GetExpressRouteCircuitArgs\n {\n ResourceGroupName = azurerm_resource_group.Example.Name,\n Name = azurerm_express_route_circuit.Example.Name,\n }));\n this.ExpressRouteCircuitId = example.Apply(example =\u003e example.Id);\n this.ServiceKey = example.Apply(example =\u003e example.ServiceKey);\n }\n\n [Output(\"expressRouteCircuitId\")]\n public Output\u003cstring\u003e ExpressRouteCircuitId { get; set; }\n [Output(\"serviceKey\")]\n public Output\u003cstring\u003e ServiceKey { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_resource_group.Example.Name,\n\t\t\tName: azurerm_express_route_circuit.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the ExpressRoute circuit exists\n" }, "name": { "type": "string" }, "peerings": { "type": "array", "items": { "$ref": "#/types/azure:network/getExpressRouteCircuitPeering:getExpressRouteCircuitPeering" }, "description": "A `peerings` block for the ExpressRoute circuit as documented below\n" }, "resourceGroupName": { "type": "string" }, "serviceKey": { "type": "string", "description": "The string needed by the service provider to provision the ExpressRoute circuit.\n" }, "serviceProviderProperties": { "type": "array", "items": { "$ref": "#/types/azure:network/getExpressRouteCircuitServiceProviderProperty:getExpressRouteCircuitServiceProviderProperty" }, "description": "A `service_provider_properties` block for the ExpressRoute circuit as documented below\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/getExpressRouteCircuitSku:getExpressRouteCircuitSku", "description": "A `sku` block for the ExpressRoute circuit as documented below.\n" } }, "type": "object", "required": [ "location", "name", "peerings", "resourceGroupName", "serviceKey", "serviceProviderProperties", "serviceProviderProvisioningState", "sku", "id" ] } }, "azure:network/getFirewall:getFirewall": { "description": "Use this data source to access information about an existing Azure Firewall.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetFirewall.InvokeAsync(new Azure.Network.GetFirewallArgs\n {\n Name = \"firewall1\",\n ResourceGroupName = \"firewall-RG\",\n }));\n this.FirewallPrivateIp = example.Apply(example =\u003e example.IpConfigurations[0].PrivateIpAddress);\n }\n\n [Output(\"firewallPrivateIp\")]\n public Output\u003cstring\u003e FirewallPrivateIp { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getFirewall.\n", "properties": { "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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/getFirewallIpConfiguration:getFirewallIpConfiguration" }, "description": "A `ip_configuration` block as defined below.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "ipConfigurations", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:network/getFirewallPolicy:getFirewallPolicy": { "description": "Use this data source to access information about an existing Firewall Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetFirewallPolicy.InvokeAsync(new Azure.Network.GetFirewallPolicyArgs\n {\n Name = \"existing\",\n ResourceGroupName = \"existing\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "type": "string" } }, "dns": { "type": "array", "items": { "$ref": "#/types/azure:network/getFirewallPolicyDn:getFirewallPolicyDn" } }, "firewalls": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "ruleCollectionGroups": { "type": "array", "items": { "type": "string" } }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Firewall Policy.\n" }, "threatIntelligenceAllowlists": { "type": "array", "items": { "$ref": "#/types/azure:network/getFirewallPolicyThreatIntelligenceAllowlist:getFirewallPolicyThreatIntelligenceAllowlist" } }, "threatIntelligenceMode": { "type": "string" } }, "type": "object", "required": [ "basePolicyId", "childPolicies", "dns", "firewalls", "location", "name", "resourceGroupName", "ruleCollectionGroups", "tags", "threatIntelligenceAllowlists", "threatIntelligenceMode", "id" ] } }, "azure:network/getGatewayConnection:getGatewayConnection": { "description": "Use this data source to access information about an existing Virtual Network Gateway Connection.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetGatewayConnection.InvokeAsync(new Azure.Network.GetGatewayConnectionArgs\n {\n Name = \"production\",\n ResourceGroupName = \"networking\",\n }));\n this.VirtualNetworkGatewayConnectionId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"virtualNetworkGatewayConnectionId\")]\n public Output\u003cstring\u003e VirtualNetworkGatewayConnectionId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The authorization key associated with the\nExpress Route Circuit. This field is present only if the type is an\nExpressRoute connection.\n" }, "connectionProtocol": { "type": "string" }, "egressBytesTransferred": { "type": "integer" }, "enableBgp": { "type": "boolean", "description": "If `true`, BGP (Border Gateway Protocol) is enabled\nfor this connection.\n" }, "expressRouteCircuitId": { "type": "string", "description": "The ID of the Express Route Circuit\n(i.e. when `type` is `ExpressRoute`).\n" }, "expressRouteGatewayBypass": { "type": "boolean", "description": "If `true`, data packets will bypass ExpressRoute Gateway for data forwarding. This is only valid for ExpressRoute connections.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ingressBytesTransferred": { "type": "integer" }, "ipsecPolicies": { "type": "array", "items": { "$ref": "#/types/azure:network/getGatewayConnectionIpsecPolicy:getGatewayConnectionIpsecPolicy" } }, "localNetworkGatewayId": { "type": "string", "description": "The ID of the local network gateway\nwhen a Site-to-Site connection (i.e. when `type` is `IPsec`).\n" }, "location": { "type": "string", "description": "The location/region where the connection is\nlocated.\n" }, "name": { "type": "string" }, "peerVirtualNetworkGatewayId": { "type": "string", "description": "The ID of the peer virtual\nnetwork gateway when a VNet-to-VNet connection (i.e. when `type`\nis `Vnet2Vnet`).\n" }, "resourceGroupName": { "type": "string" }, "resourceGuid": { "type": "string" }, "routingWeight": { "type": "integer", "description": "The routing weight.\n" }, "sharedKey": { "type": "string", "description": "The shared IPSec key.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "trafficSelectorPolicy": { "$ref": "#/types/azure:network/getGatewayConnectionTrafficSelectorPolicy:getGatewayConnectionTrafficSelectorPolicy" }, "type": { "type": "string", "description": "The type of connection. Valid options are `IPsec`\n(Site-to-Site), `ExpressRoute` (ExpressRoute), and `Vnet2Vnet` (VNet-to-VNet).\n" }, "usePolicyBasedTrafficSelectors": { "type": "boolean", "description": "If `true`, policy-based traffic\nselectors are enabled for this connection. Enabling policy-based traffic\nselectors requires an `ipsec_policy` block.\n" }, "virtualNetworkGatewayId": { "type": "string", "description": "The ID of the Virtual Network Gateway\nin which the connection is created.\n" } }, "type": "object", "required": [ "authorizationKey", "connectionProtocol", "egressBytesTransferred", "enableBgp", "expressRouteCircuitId", "expressRouteGatewayBypass", "ingressBytesTransferred", "ipsecPolicies", "localNetworkGatewayId", "location", "name", "peerVirtualNetworkGatewayId", "resourceGroupName", "resourceGuid", "routingWeight", "sharedKey", "tags", "trafficSelectorPolicy", "type", "usePolicyBasedTrafficSelectors", "virtualNetworkGatewayId", "id" ] } }, "azure:network/getIpGroup:getIpGroup": { "description": "Use this data source to access information about an existing IP Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetIpGroup.InvokeAsync(new Azure.Network.GetIpGroupArgs\n {\n Name = \"example1-ipgroup\",\n ResourceGroupName = \"example-rg\",\n }));\n this.Cidrs = example.Apply(example =\u003e example.Cidrs);\n }\n\n [Output(\"cidrs\")]\n public Output\u003cstring\u003e Cidrs { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "type": "string" }, "description": "A list of CIDRs or IP addresses.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The supported Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "cidrs", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:network/getNatGateway:getNatGateway": { "description": "Use this data source to access information about an existing NAT Gateway.\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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "The idle timeout in minutes which is used for the NAT Gateway.\n" }, "location": { "type": "string", "description": "The location where the NAT Gateway exists.\n" }, "name": { "type": "string" }, "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" }, "resourceGuid": { "type": "string", "description": "The Resource GUID of the NAT Gateway.\n" }, "skuName": { "type": "string", "description": "The SKU used by the NAT Gateway.\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 which the NAT Gateway exists in.\n" } }, "type": "object", "required": [ "idleTimeoutInMinutes", "location", "name", "publicIpAddressIds", "publicIpPrefixIds", "resourceGroupName", "resourceGuid", "skuName", "tags", "zones", "id" ] } }, "azure:network/getNetworkDdosProtectionPlan:getNetworkDdosProtectionPlan": { "description": "Use this data source to access information about an existing Azure Network DDoS Protection Plan.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkDdosProtectionPlan({\n name: azurerm_network_ddos_protection_plan.example.name,\n resourceGroupName: azurerm_network_ddos_protection_plan.example.resource_group_name,\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=azurerm_network_ddos_protection_plan[\"example\"][\"name\"],\n resource_group_name=azurerm_network_ddos_protection_plan[\"example\"][\"resource_group_name\"])\npulumi.export(\"ddosProtectionPlanId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetNetworkDdosProtectionPlan.InvokeAsync(new Azure.Network.GetNetworkDdosProtectionPlanArgs\n {\n Name = azurerm_network_ddos_protection_plan.Example.Name,\n ResourceGroupName = azurerm_network_ddos_protection_plan.Example.Resource_group_name,\n }));\n this.DdosProtectionPlanId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"ddosProtectionPlanId\")]\n public Output\u003cstring\u003e DdosProtectionPlanId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_network_ddos_protection_plan.Example.Name,\n\t\t\tResourceGroupName: azurerm_network_ddos_protection_plan.Example.Resource_group_name,\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{{% /example %}}\n{{% /examples %}}", "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" }, "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 getNetworkDdosProtectionPlan.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "virtualNetworkIds": { "type": "array", "items": { "type": "string" }, "description": "A list of ID's of the Virtual Networks associated with this DDoS Protection Plan.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "virtualNetworkIds", "id" ] } }, "azure:network/getNetworkInterface:getNetworkInterface": { "description": "Use this data source to access information about an existing Network Interface.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetNetworkInterface.InvokeAsync(new Azure.Network.GetNetworkInterfaceArgs\n {\n Name = \"acctest-nic\",\n ResourceGroupName = \"networking\",\n }));\n this.NetworkInterfaceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"networkInterfaceId\")]\n public Output\u003cstring\u003e NetworkInterfaceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "appliedDnsServers": { "type": "array", "items": { "type": "string" }, "description": "List of DNS servers applied to the specified Network Interface.\n" }, "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "The list of DNS servers used by the specified Network Interface.\n" }, "enableAcceleratedNetworking": { "type": "boolean", "description": "Indicates if accelerated networking is set on the specified Network Interface.\n" }, "enableIpForwarding": { "type": "boolean", "description": "Indicate if IP forwarding is set on the specified Network Interface.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "internalDnsNameLabel": { "type": "string", "description": "The internal dns name label of the specified Network Interface.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/getNetworkInterfaceIpConfiguration:getNetworkInterfaceIpConfiguration" }, "description": "One or more `ip_configuration` blocks as defined below.\n" }, "location": { "type": "string", "description": "The location of the specified Network Interface.\n" }, "macAddress": { "type": "string", "description": "The MAC address used by the specified Network Interface.\n" }, "name": { "type": "string", "description": "The name of the IP Configuration.\n" }, "networkSecurityGroupId": { "type": "string", "description": "The ID of the network security group associated to the specified Network Interface.\n" }, "privateIpAddress": { "type": "string", "description": "The Private IP Address assigned to this Network Interface.\n" }, "privateIpAddresses": { "type": "array", "items": { "type": "string" }, "description": "The list of private ip addresses associates to the specified Network Interface.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "List the tags associated to the specified Network Interface.\n" }, "virtualMachineId": { "type": "string", "description": "The ID of the virtual machine that the specified Network Interface is attached to.\n" } }, "type": "object", "required": [ "appliedDnsServers", "dnsServers", "enableAcceleratedNetworking", "enableIpForwarding", "internalDnsNameLabel", "ipConfigurations", "location", "macAddress", "name", "networkSecurityGroupId", "privateIpAddress", "privateIpAddresses", "resourceGroupName", "tags", "virtualMachineId", "id" ] } }, "azure:network/getNetworkSecurityGroup:getNetworkSecurityGroup": { "description": "Use this data source to access information about an existing Network Security Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkSecurityGroup({\n name: azurerm_network_security_group.example.name,\n resourceGroupName: azurerm_resource_group.example.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=azurerm_network_security_group[\"example\"][\"name\"],\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\npulumi.export(\"location\", example.location)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetNetworkSecurityGroup.InvokeAsync(new Azure.Network.GetNetworkSecurityGroupArgs\n {\n Name = azurerm_network_security_group.Example.Name,\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n this.Location = example.Apply(example =\u003e example.Location);\n }\n\n [Output(\"location\")]\n public Output\u003cstring\u003e Location { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_network_security_group.Example.Name,\n\t\t\tResourceGroupName: azurerm_resource_group.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The supported Azure location where the resource exists.\n" }, "name": { "type": "string", "description": "The name of the security rule.\n" }, "resourceGroupName": { "type": "string" }, "securityRules": { "type": "array", "items": { "$ref": "#/types/azure:network/getNetworkSecurityGroupSecurityRule:getNetworkSecurityGroupSecurityRule" }, "description": "One or more `security_rule` blocks as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "securityRules", "tags", "id" ] } }, "azure:network/getNetworkWatcher:getNetworkWatcher": { "description": "Use this data source to access information about an existing Network Watcher.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getNetworkWatcher({\n name: azurerm_network_watcher.example.name,\n resourceGroupName: azurerm_resource_group.example.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=azurerm_network_watcher[\"example\"][\"name\"],\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\npulumi.export(\"networkWatcherId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetNetworkWatcher.InvokeAsync(new Azure.Network.GetNetworkWatcherArgs\n {\n Name = azurerm_network_watcher.Example.Name,\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n this.NetworkWatcherId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"networkWatcherId\")]\n public Output\u003cstring\u003e NetworkWatcherId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_network_watcher.Example.Name,\n\t\t\tResourceGroupName: azurerm_resource_group.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The supported Azure location where the resource exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:network/getPublicIP:getPublicIP": { "description": "Use this data source to access information about an existing Public IP Address.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Reference An Existing)\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetPublicIP.InvokeAsync(new Azure.Network.GetPublicIPArgs\n {\n Name = \"name_of_public_ip\",\n ResourceGroupName = \"name_of_resource_group\",\n }));\n this.DomainNameLabel = example.Apply(example =\u003e example.DomainNameLabel);\n this.PublicIpAddress = example.Apply(example =\u003e example.IpAddress);\n }\n\n [Output(\"domainNameLabel\")]\n public Output\u003cstring\u003e DomainNameLabel { get; set; }\n [Output(\"publicIpAddress\")]\n public Output\u003cstring\u003e PublicIpAddress { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\n{{% /example %}}\n{{% example %}}\n### Retrieve The Dynamic Public IP Of A New VM)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"West US 2\"});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"exampleVirtualNetwork\", {\n addressSpaces: [\"10.0.0.0/16\"],\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"exampleSubnet\", {\n resourceGroupName: exampleResourceGroup.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefix: \"10.0.2.0/24\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"examplePublicIp\", {\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(\"exampleNetworkInterface\", {\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(\"exampleVirtualMachine\", {\n location: exampleResourceGroup.location,\n resourceGroupName: exampleResourceGroup.name,\n networkInterfaceIds: [exampleNetworkInterface.id],\n});\n// ...\nconst examplePublicIP = pulumi.all([examplePublicIp.name, exampleVirtualMachine.resourceGroupName]).apply(([name, resourceGroupName]) =\u003e azure.network.getPublicIP({\n name: name,\n resourceGroupName: resourceGroupName,\n}));\nexport const publicIpAddress = examplePublicIp.ipAddress;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"West US 2\")\nexample_virtual_network = azure.network.VirtualNetwork(\"exampleVirtualNetwork\",\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(\"exampleSubnet\",\n resource_group_name=example_resource_group.name,\n virtual_network_name=example_virtual_network.name,\n address_prefix=\"10.0.2.0/24\")\nexample_public_ip = azure.network.PublicIp(\"examplePublicIp\",\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(\"exampleNetworkInterface\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(\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(\"exampleVirtualMachine\",\n location=example_resource_group.location,\n resource_group_name=example_resource_group.name,\n network_interface_ids=[example_network_interface.id])\n# ...\nexample_public_ip = pulumi.Output.all(example_public_ip.name, example_virtual_machine.resource_group_name).apply(lambda name, resource_group_name: azure.network.get_public_ip(name=name,\n resource_group_name=resource_group_name))\npulumi.export(\"publicIpAddress\", example_public_ip.ip_address)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"West US 2\",\n });\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"exampleVirtualNetwork\", new Azure.Network.VirtualNetworkArgs\n {\n AddressSpaces = \n {\n \"10.0.0.0/16\",\n },\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n var exampleSubnet = new Azure.Network.Subnet(\"exampleSubnet\", new Azure.Network.SubnetArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefix = \"10.0.2.0/24\",\n });\n var examplePublicIp = new Azure.Network.PublicIp(\"examplePublicIp\", new Azure.Network.PublicIpArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n AllocationMethod = \"Dynamic\",\n IdleTimeoutInMinutes = 30,\n Tags = \n {\n { \"environment\", \"test\" },\n },\n });\n var exampleNetworkInterface = new Azure.Network.NetworkInterface(\"exampleNetworkInterface\", new Azure.Network.NetworkInterfaceArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n IpConfigurations = \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 var exampleVirtualMachine = new Azure.Compute.VirtualMachine(\"exampleVirtualMachine\", new Azure.Compute.VirtualMachineArgs\n {\n Location = exampleResourceGroup.Location,\n ResourceGroupName = exampleResourceGroup.Name,\n NetworkInterfaceIds = \n {\n exampleNetworkInterface.Id,\n },\n });\n // ...\n var examplePublicIP = Output.Tuple(examplePublicIp.Name, exampleVirtualMachine.ResourceGroupName).Apply(values =\u003e\n {\n var name = values.Item1;\n var resourceGroupName = values.Item2;\n return Azure.Network.GetPublicIP.InvokeAsync(new Azure.Network.GetPublicIPArgs\n {\n Name = name,\n ResourceGroupName = resourceGroupName,\n });\n });\n this.PublicIpAddress = examplePublicIp.IpAddress;\n }\n\n [Output(\"publicIpAddress\")]\n public Output\u003cstring\u003e PublicIpAddress { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/compute\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"exampleVirtualNetwork\", \u0026network.VirtualNetworkArgs{\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, \"exampleSubnet\", \u0026network.SubnetArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\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\texamplePublicIp, err := network.NewPublicIp(ctx, \"examplePublicIp\", \u0026network.PublicIpArgs{\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, \"exampleNetworkInterface\", \u0026network.NetworkInterfaceArgs{\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, \"exampleVirtualMachine\", \u0026compute.VirtualMachineArgs{\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\tctx.Export(\"publicIpAddress\", examplePublicIp.IpAddress)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assigned to the resource.\n" }, "zones": { "type": "array", "items": { "type": "string" } } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getPublicIP.\n", "properties": { "allocationMethod": { "type": "string" }, "domainNameLabel": { "type": "string", "description": "The label for the Domain Name.\n" }, "fqdn": { "type": "string", "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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "idleTimeoutInMinutes": { "type": "integer", "description": "Specifies the timeout for the TCP idle connection.\n" }, "ipAddress": { "type": "string", "description": "The IP address value that was allocated.\n" }, "ipVersion": { "type": "string", "description": "The IP version being used, for example `IPv4` or `IPv6`.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "reverseFqdn": { "type": "string" }, "sku": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assigned to the resource.\n" }, "zones": { "type": "array", "items": { "type": "string" } } }, "type": "object", "required": [ "allocationMethod", "domainNameLabel", "fqdn", "idleTimeoutInMinutes", "ipAddress", "ipVersion", "location", "name", "resourceGroupName", "reverseFqdn", "sku", "zones", "id" ] } }, "azure:network/getPublicIPs:getPublicIPs": { "description": "Use this data source to access information about a set of existing Public IP Addresses.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.network.getPublicIPs({\n attached: false,\n resourceGroupName: \"pip-test\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_public_i_ps(attached=False,\n resource_group_name=\"pip-test\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetPublicIPs.InvokeAsync(new Azure.Network.GetPublicIPsArgs\n {\n Attached = false,\n ResourceGroupName = \"pip-test\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := false\n\t\t_, err := network.GetPublicIPs(ctx, \u0026network.GetPublicIPsArgs{\n\t\t\tAttached: \u0026opt0,\n\t\t\tResourceGroupName: \"pip-test\",\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{{% /example %}}\n{{% /examples %}}", "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" }, "attached": { "type": "boolean", "description": "Filter to include IP Addresses which are attached to a device, such as a VM/LB (`true`) or unattached (`false`).\n" }, "namePrefix": { "type": "string", "description": "A prefix match used for the IP Addresses `name` 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" }, "attached": { "type": "boolean" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "namePrefix": { "type": "string" }, "publicIps": { "type": "array", "items": { "$ref": "#/types/azure:network/getPublicIPsPublicIp:getPublicIPsPublicIp" }, "description": "A List of `public_ips` blocks as defined below filtered by the criteria above.\n" }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "publicIps", "resourceGroupName", "id" ] } }, "azure:network/getPublicIpPrefix:getPublicIpPrefix": { "description": "Use this data source to access information about an existing Public IP Prefix.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Reference An Existing)\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetPublicIpPrefix.InvokeAsync(new Azure.Network.GetPublicIpPrefixArgs\n {\n Name = \"name_of_public_ip\",\n ResourceGroupName = \"name_of_resource_group\",\n }));\n this.PublicIpPrefix = example.Apply(example =\u003e example.IpPrefix);\n }\n\n [Output(\"publicIpPrefix\")]\n public Output\u003cstring\u003e PublicIpPrefix { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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" }, "zones": { "type": "array", "items": { "type": "string" } } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getPublicIpPrefix.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ipPrefix": { "type": "string" }, "location": { "type": "string", "description": "The supported Azure location where the resource exists.\n" }, "name": { "type": "string", "description": "The name of the Public IP prefix resource.\n" }, "prefixLength": { "type": "integer", "description": "The number of bits of the prefix.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which to create the public IP.\n" }, "sku": { "type": "string", "description": "The SKU of the Public IP Prefix.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assigned to the resource.\n" }, "zones": { "type": "array", "items": { "type": "string" } } }, "type": "object", "required": [ "ipPrefix", "location", "name", "prefixLength", "resourceGroupName", "sku", "tags", "zones", "id" ] } }, "azure:network/getRouteFilter:getRouteFilter": { "description": "Use this data source to access information about an existing Route Filter.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetRouteFilter.InvokeAsync(new Azure.Network.GetRouteFilterArgs\n {\n Name = \"existing\",\n ResourceGroupName = \"existing\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the Route Filter exists.\n" }, "name": { "type": "string", "description": "The Name of Route Filter Rule\n" }, "resourceGroupName": { "type": "string" }, "rules": { "type": "array", "items": { "$ref": "#/types/azure:network/getRouteFilterRule:getRouteFilterRule" }, "description": "A `rule` block as defined below.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Route Filter.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "rules", "tags", "id" ] } }, "azure:network/getRouteTable:getRouteTable": { "description": "Use this data source to access information about an existing Route Table.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.network.getRouteTable({\n name: \"myroutetable\",\n resourceGroupName: \"some-resource-group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetRouteTable.InvokeAsync(new Azure.Network.GetRouteTableArgs\n {\n Name = \"myroutetable\",\n ResourceGroupName = \"some-resource-group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region in which the Route Table exists.\n" }, "name": { "type": "string", "description": "The name of the Route.\n" }, "resourceGroupName": { "type": "string" }, "routes": { "type": "array", "items": { "$ref": "#/types/azure:network/getRouteTableRoute:getRouteTableRoute" }, "description": "One or more `route` blocks as documented below.\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 assigned to the Route Table.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "routes", "subnets", "tags", "id" ] } }, "azure:network/getServiceTags:getServiceTags": { "description": "Use this data source to access information about Service Tags.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 = data.azurerm_service_tags.example.address_prefixes;\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\", data[\"azurerm_service_tags\"][\"example\"][\"address_prefixes\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetServiceTags.InvokeAsync(new Azure.Network.GetServiceTagsArgs\n {\n Location = \"westcentralus\",\n Service = \"AzureKeyVault\",\n LocationFilter = \"northeurope\",\n }));\n this.AddressPrefixes = data.Azurerm_service_tags.Example.Address_prefixes;\n }\n\n [Output(\"addressPrefixes\")]\n public Output\u003cstring\u003e AddressPrefixes { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"northeurope\"\n\t\t_, err := network.GetServiceTags(ctx, \u0026network.GetServiceTagsArgs{\n\t\t\tLocation: \"westcentralus\",\n\t\t\tService: \"AzureKeyVault\",\n\t\t\tLocationFilter: \u0026opt0,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"addressPrefixes\", data.Azurerm_service_tags.Example.Address_prefixes)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 `location_filter` instead. More information can be found here: [Service Tags URL parameters](https://docs.microsoft.com/en-us/rest/api/virtualnetwork/servicetags/list#uri-parameters).\n" }, "locationFilter": { "type": "string", "description": "Changes the scope of the service tags. Can be any value that is also valid for `location`. If this field is empty then all address prefixes are considered instead of only location specific ones.\n" }, "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/en-us/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": { "type": "array", "items": { "type": "string" }, "description": "List of address prefixes for the service type (and optionally a specific region).\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "locationFilter": { "type": "string" }, "service": { "type": "string" } }, "type": "object", "required": [ "addressPrefixes", "location", "service", "id" ] } }, "azure:network/getSubnet:getSubnet": { "description": "Use this data source to access information about an existing Subnet within a Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetSubnet.InvokeAsync(new Azure.Network.GetSubnetArgs\n {\n Name = \"backend\",\n VirtualNetworkName = \"production\",\n ResourceGroupName = \"networking\",\n }));\n this.SubnetId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"subnetId\")]\n public Output\u003cstring\u003e SubnetId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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", "description": "(Deprecated) The address prefix used for the subnet.\n" }, "addressPrefixes": { "type": "array", "items": { "type": "string" }, "description": "The address prefixes for the subnet.\n" }, "enforcePrivateLinkEndpointNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link endpoint on the subnet.\n" }, "enforcePrivateLinkServiceNetworkPolicies": { "type": "boolean", "description": "Enable or Disable network policies for the private link service on the subnet.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "networkSecurityGroupId": { "type": "string", "description": "The ID of the Network Security Group associated with the subnet.\n" }, "resourceGroupName": { "type": "string" }, "routeTableId": { "type": "string", "description": "The ID of the Route Table associated with this subnet.\n" }, "serviceEndpoints": { "type": "array", "items": { "type": "string" }, "description": "A list of Service Endpoints within this subnet.\n" }, "virtualNetworkName": { "type": "string" } }, "type": "object", "required": [ "addressPrefix", "addressPrefixes", "enforcePrivateLinkEndpointNetworkPolicies", "enforcePrivateLinkServiceNetworkPolicies", "name", "networkSecurityGroupId", "resourceGroupName", "routeTableId", "serviceEndpoints", "virtualNetworkName", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n### World)\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetTrafficManager.InvokeAsync(new Azure.Network.GetTrafficManagerArgs\n {\n Name = \"World\",\n }));\n this.LocationCode = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"locationCode\")]\n public Output\u003cstring\u003e LocationCode { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" } }, "type": "object", "required": [ "name", "id" ] } }, "azure:network/getVirtualHub:getVirtualHub": { "description": "Uses this data source to access information about an existing Virtual Hub.\n\n## Virtual Hub Usage\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetVirtualHub.InvokeAsync(new Azure.Network.GetVirtualHubArgs\n {\n Name = \"example-hub\",\n ResourceGroupName = \"example-resources\",\n }));\n this.VirtualHubId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"virtualHubId\")]\n public Output\u003cstring\u003e VirtualHubId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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", "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": { "type": "string", "description": "The Address Prefix used for this Virtual Hub.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region where the Virtual Hub exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Virtual Hub.\n" }, "virtualWanId": { "type": "string", "description": "The ID of the Virtual WAN within which the Virtual Hub exists.\n" } }, "type": "object", "required": [ "addressPrefix", "location", "name", "resourceGroupName", "tags", "virtualWanId", "id" ] } }, "azure:network/getVirtualNetwork:getVirtualNetwork": { "description": "Use this data source to access information about an existing Virtual Network.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetVirtualNetwork.InvokeAsync(new Azure.Network.GetVirtualNetworkArgs\n {\n Name = \"production\",\n ResourceGroupName = \"networking\",\n }));\n this.VirtualNetworkId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"virtualNetworkId\")]\n public Output\u003cstring\u003e VirtualNetworkId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "type": "string" }, "description": "The list of address spaces used by the virtual network.\n" }, "dnsServers": { "type": "array", "items": { "type": "string" }, "description": "The list of DNS servers used by the virtual network.\n" }, "guid": { "type": "string", "description": "The GUID of the virtual network.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "Location of the virtual network.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "subnets": { "type": "array", "items": { "type": "string" }, "description": "The list of name of the subnets that are attached to this virtual network.\n" }, "vnetPeerings": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of name - virtual network id of the virtual network peerings.\n" } }, "type": "object", "required": [ "addressSpaces", "dnsServers", "guid", "location", "name", "resourceGroupName", "subnets", "vnetPeerings", "id" ] } }, "azure:network/getVirtualNetworkGateway:getVirtualNetworkGateway": { "description": "Use this data source to access information about an existing Virtual Network Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetVirtualNetworkGateway.InvokeAsync(new Azure.Network.GetVirtualNetworkGatewayArgs\n {\n Name = \"production\",\n ResourceGroupName = \"networking\",\n }));\n this.VirtualNetworkGatewayId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"virtualNetworkGatewayId\")]\n public Output\u003cstring\u003e VirtualNetworkGatewayId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "boolean", "description": "Is this an Active-Active Gateway?\n" }, "bgpSettings": { "type": "array", "items": { "$ref": "#/types/azure:network/getVirtualNetworkGatewayBgpSetting:getVirtualNetworkGatewayBgpSetting" } }, "defaultLocalNetworkGatewayId": { "type": "string", "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/en-us/azure/vpn-gateway/vpn-gateway-forced-tunneling-rm).\n" }, "enableBgp": { "type": "boolean", "description": "Will BGP (Border Gateway Protocol) will be enabled\nfor this Virtual Network Gateway.\n" }, "generation": { "type": "string", "description": "The Generation of the Virtual Network Gateway.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ipConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/getVirtualNetworkGatewayIpConfiguration:getVirtualNetworkGatewayIpConfiguration" }, "description": "One or two `ip_configuration` blocks documented below.\n" }, "location": { "type": "string", "description": "The location/region where the Virtual Network Gateway is located.\n" }, "name": { "type": "string", "description": "The user-defined name of the revoked certificate.\n" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "Configuration of the size and capacity of the Virtual Network Gateway.\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 Virtual Network Gateway.\n" }, "vpnClientConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:network/getVirtualNetworkGatewayVpnClientConfiguration:getVirtualNetworkGatewayVpnClientConfiguration" }, "description": "A `vpn_client_configuration` block which is documented below.\n" }, "vpnType": { "type": "string", "description": "The routing type of the Virtual Network Gateway.\n" } }, "type": "object", "required": [ "activeActive", "bgpSettings", "defaultLocalNetworkGatewayId", "enableBgp", "generation", "ipConfigurations", "location", "name", "resourceGroupName", "sku", "tags", "type", "vpnClientConfigurations", "vpnType", "id" ] } }, "azure:notificationhub/getHub:getHub": { "description": "Use this data source to access information about an existing Notification Hub within a Notification Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.NotificationHub.GetHub.InvokeAsync(new Azure.NotificationHub.GetHubArgs\n {\n Name = \"notification-hub\",\n NamespaceName = \"namespace-name\",\n ResourceGroupName = \"resource-group-name\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "array", "items": { "$ref": "#/types/azure:notificationhub/getHubApnsCredential:getHubApnsCredential" }, "description": "A `apns_credential` block as defined below.\n" }, "gcmCredentials": { "type": "array", "items": { "$ref": "#/types/azure:notificationhub/getHubGcmCredential:getHubGcmCredential" }, "description": "A `gcm_credential` block as defined below.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region in which this Notification Hub exists.\n" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "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" ] } }, "azure:notificationhub/getNamespace:getNamespace": { "description": "Use this data source to access information about an existing Notification Hub Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.NotificationHub.GetNamespace.InvokeAsync(new Azure.NotificationHub.GetNamespaceArgs\n {\n Name = \"my-namespace\",\n ResourceGroupName = \"my-resource-group\",\n }));\n this.ServicebusEndpoint = example.Apply(example =\u003e example.ServicebusEndpoint);\n }\n\n [Output(\"servicebusEndpoint\")]\n public Output\u003cstring\u003e ServicebusEndpoint { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/notificationhub\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "boolean", "description": "Is this Notification Hub Namespace enabled?\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure Region in which this Notification Hub Namespace exists.\n" }, "name": { "type": "string", "description": "The name of the SKU to use for this Notification Hub Namespace. Possible values are `Free`, `Basic` or `Standard.`\n" }, "namespaceType": { "type": "string", "description": "The Type of Namespace, such as `Messaging` or `NotificationHub`.\n" }, "resourceGroupName": { "type": "string" }, "servicebusEndpoint": { "type": "string" }, "sku": { "$ref": "#/types/azure:notificationhub/getNamespaceSku:getNamespaceSku", "description": "A `sku` block as defined below.\n" }, "tags": { "type": "object", "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" ] } }, "azure:operationalinsights/getAnalyticsWorkspace:getAnalyticsWorkspace": { "description": "Use this data source to access information about an existing Log Analytics (formally Operational Insights) Workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.OperationalInsights.GetAnalyticsWorkspace.InvokeAsync(new Azure.OperationalInsights.GetAnalyticsWorkspaceArgs\n {\n Name = \"acctest-01\",\n ResourceGroupName = \"acctest\",\n }));\n this.LogAnalyticsWorkspaceId = example.Apply(example =\u003e example.WorkspaceId);\n }\n\n [Output(\"logAnalyticsWorkspaceId\")]\n public Output\u003cstring\u003e LogAnalyticsWorkspaceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "portalUrl": { "type": "string", "deprecationMessage": "this property has been removed from the API and will be removed in version 3.0 of the provider" }, "primarySharedKey": { "type": "string", "description": "The Primary shared key for the Log Analytics Workspace.\n" }, "resourceGroupName": { "type": "string" }, "retentionInDays": { "type": "integer", "description": "The workspace data retention in days.\n" }, "secondarySharedKey": { "type": "string", "description": "The Secondary shared key for the Log Analytics Workspace.\n" }, "sku": { "type": "string", "description": "The Sku of the Log Analytics Workspace.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "workspaceId": { "type": "string", "description": "The Workspace (or Customer) ID for the Log Analytics Workspace.\n" } }, "type": "object", "required": [ "location", "name", "portalUrl", "primarySharedKey", "resourceGroupName", "retentionInDays", "secondarySharedKey", "sku", "tags", "workspaceId", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Policy.GetPolicyDefintion.InvokeAsync(new Azure.Policy.GetPolicyDefintionArgs\n {\n DisplayName = \"Allowed resource types\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"Allowed resource types\"\n\t\texample, err := policy.GetPolicyDefintion(ctx, \u0026policy.GetPolicyDefintionArgs{\n\t\t\tDisplayName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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 `name`.\n" }, "managementGroupId": { "type": "string", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "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 `display_name`.\n" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getPolicyDefintion.\n", "properties": { "description": { "type": "string", "description": "The Description of the Policy.\n" }, "displayName": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "managementGroupId": { "type": "string", "deprecationMessage": "Deprecated in favour of `management_group_name`" }, "managementGroupName": { "type": "string" }, "metadata": { "type": "string", "description": "Any Metadata defined in the Policy.\n" }, "name": { "type": "string" }, "parameters": { "type": "string", "description": "Any Parameters defined in the Policy.\n" }, "policyRule": { "type": "string", "description": "The Rule as defined (in JSON) in the Policy.\n" }, "policyType": { "type": "string", "description": "The Type of the Policy. Possible values are \"BuiltIn\", \"Custom\" and \"NotSpecified\".\n" }, "type": { "type": "string", "description": "The Type of Policy.\n" } }, "type": "object", "required": [ "description", "displayName", "metadata", "name", "parameters", "policyRule", "policyType", "type", "id" ] } }, "azure:policy/getPolicySetDefinition:getPolicySetDefinition": { "description": "Use this data source to access information about an existing Policy Set Definition.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Policy.GetPolicySetDefinition.InvokeAsync(new Azure.Policy.GetPolicySetDefinitionArgs\n {\n DisplayName = \"Policy Set Definition Example\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/policy\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"Policy Set Definition Example\"\n\t\texample, err := policy.LookupPolicySetDefinition(ctx, \u0026policy.LookupPolicySetDefinitionArgs{\n\t\t\tDisplayName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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 `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 `display_name`.\n" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getPolicySetDefinition.\n", "properties": { "description": { "type": "string", "description": "The Description of the Policy Set Definition.\n" }, "displayName": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "managementGroupName": { "type": "string" }, "metadata": { "type": "string", "description": "Any Metadata defined in the Policy Set Definition.\n" }, "name": { "type": "string" }, "parameters": { "type": "string", "description": "The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.\n" }, "policyDefinitionReferences": { "type": "array", "items": { "$ref": "#/types/azure:policy/getPolicySetDefinitionPolicyDefinitionReference:getPolicySetDefinitionPolicyDefinitionReference" }, "description": "One or more `policy_definition_reference` blocks as defined below.\n" }, "policyDefinitions": { "type": "string", "description": "The policy definitions contained within the policy set definition.\n" }, "policyType": { "type": "string", "description": "The Type of the Policy Set Definition.\n" } }, "type": "object", "required": [ "description", "displayName", "metadata", "name", "parameters", "policyDefinitionReferences", "policyDefinitions", "policyType", "id" ] } }, "azure:postgresql/getServer:getServer": { "description": "Use this data source to access information about an existing PostgreSQL Azure Database Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.PostgreSql.GetServer.InvokeAsync(new Azure.PostgreSql.GetServerArgs\n {\n Name = \"postgresql-server-1\",\n ResourceGroupName = \"api-rg-pro\",\n }));\n this.PostgresqlServerId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"postgresqlServerId\")]\n public Output\u003cstring\u003e PostgresqlServerId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The administrator username of the PostgreSQL Server.\n" }, "fqdn": { "type": "string", "description": "The fully qualified domain name of the PostgreSQL Server.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:postgresql/getServerIdentity:getServerIdentity" }, "description": "An `identity` block as defined below.\n" }, "location": { "type": "string", "description": "The location of the Resource Group in which the PostgreSQL Server exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "skuName": { "type": "string", "description": "The SKU name of the PostgreSQL Server.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "version": { "type": "string", "description": "The version of the PostgreSQL Server.\n" } }, "type": "object", "required": [ "administratorLogin", "fqdn", "identities", "location", "name", "resourceGroupName", "skuName", "tags", "version", "id" ] } }, "azure:privatedns/getDnsZone:getDnsZone": { "description": "Use this data source to access information about an existing Private DNS Zone.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.PrivateDns.GetDnsZone.InvokeAsync(new Azure.PrivateDns.GetDnsZoneArgs\n {\n Name = \"contoso.internal\",\n ResourceGroupName = \"contoso-dns\",\n }));\n this.PrivateDnsZoneId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"privateDnsZoneId\")]\n public Output\u003cstring\u003e PrivateDnsZoneId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatedns\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"contoso-dns\"\n\t\texample, err := privatedns.GetDnsZone(ctx, \u0026privatedns.GetDnsZoneArgs{\n\t\t\tName: \"contoso.internal\",\n\t\t\tResourceGroupName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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 `name` will be returned.\n" } }, "type": "object", "required": [ "name" ] }, "outputs": { "description": "A collection of values returned by getDnsZone.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "maxNumberOfRecordSets": { "type": "integer", "description": "Maximum number of recordsets that can be created in this Private Zone.\n" }, "maxNumberOfVirtualNetworkLinks": { "type": "integer", "description": "Maximum number of Virtual Networks that can be linked to this Private Zone.\n" }, "maxNumberOfVirtualNetworkLinksWithRegistration": { "type": "integer", "description": "Maximum number of Virtual Networks that can be linked to this Private Zone with registration enabled.\n" }, "name": { "type": "string" }, "numberOfRecordSets": { "type": "integer", "description": "The number of recordsets currently in the zone.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags for the zone.\n" } }, "type": "object", "required": [ "maxNumberOfRecordSets", "maxNumberOfVirtualNetworkLinks", "maxNumberOfVirtualNetworkLinksWithRegistration", "name", "numberOfRecordSets", "resourceGroupName", "tags", "id" ] } }, "azure:privatelink/getEndpointConnection:getEndpointConnection": { "description": "Use this data source to access the connection status information about an existing Private Endpoint Connection.\n\n\u003e **NOTE** Private Endpoint is currently in Public Preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.PrivateLink.GetEndpointConnection.InvokeAsync(new Azure.PrivateLink.GetEndpointConnectionArgs\n {\n Name = \"example-private-endpoint\",\n ResourceGroupName = \"example-rg\",\n }));\n this.PrivateEndpointStatus = example.Apply(example =\u003e example.PrivateServiceConnections[0].Status);\n }\n\n [Output(\"privateEndpointStatus\")]\n public Output\u003cstring\u003e PrivateEndpointStatus { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The supported Azure location where the resource exists.\n" }, "name": { "type": "string", "description": "The name of the private endpoint.\n" }, "privateServiceConnections": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/getEndpointConnectionPrivateServiceConnection:getEndpointConnectionPrivateServiceConnection" } }, "resourceGroupName": { "type": "string" } }, "type": "object", "required": [ "location", "name", "privateServiceConnections", "resourceGroupName", "id" ] } }, "azure:privatelink/getService:getService": { "description": "Use this data source to access information about an existing Private Link Service.\n\n\u003e **NOTE** Private Link is currently in Public Preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.PrivateLink.GetService.InvokeAsync(new Azure.PrivateLink.GetServiceArgs\n {\n Name = \"myPrivateLinkService\",\n ResourceGroupName = \"PrivateLinkServiceRG\",\n }));\n this.PrivateLinkServiceId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"privateLinkServiceId\")]\n public Output\u003cstring\u003e PrivateLinkServiceId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "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" }, "autoApprovalSubscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "The list of subscription(s) globally unique identifiers that will be auto approved to use the private link service.\n" }, "enableProxyProtocol": { "type": "boolean", "description": "Does the Private Link Service support the Proxy Protocol?\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "loadBalancerFrontendIpConfigurationIds": { "type": "array", "items": { "type": "string" }, "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" }, "location": { "type": "string", "description": "The supported Azure location where the resource exists.\n" }, "name": { "type": "string", "description": "The name of private link service NAT IP configuration.\n" }, "natIpConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/getServiceNatIpConfiguration:getServiceNatIpConfiguration" }, "description": "The `nat_ip_configuration` block as defined below.\n" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assign to the resource.\n" }, "visibilitySubscriptionIds": { "type": "array", "items": { "type": "string" }, "description": "The list of subscription(s) globally unique identifiers(GUID) that will be able to see the private link service.\n" } }, "type": "object", "required": [ "alias", "autoApprovalSubscriptionIds", "enableProxyProtocol", "loadBalancerFrontendIpConfigurationIds", "location", "name", "natIpConfigurations", "resourceGroupName", "tags", "visibilitySubscriptionIds", "id" ] } }, "azure:privatelink/getServiceEndpointConnections:getServiceEndpointConnections": { "description": "Use this data source to access endpoint connection information about an existing Private Link Service.\n\n\u003e **NOTE** Private Link is currently in Public Preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.privatelink.getServiceEndpointConnections({\n serviceId: azurerm_private_link_service.example.id,\n resourceGroupName: azurerm_resource_group.example.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=azurerm_private_link_service[\"example\"][\"id\"],\n resource_group_name=azurerm_resource_group[\"example\"][\"name\"])\npulumi.export(\"privateEndpointStatus\", example.private_endpoint_connections[0].status)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.PrivateLink.GetServiceEndpointConnections.InvokeAsync(new Azure.PrivateLink.GetServiceEndpointConnectionsArgs\n {\n ServiceId = azurerm_private_link_service.Example.Id,\n ResourceGroupName = azurerm_resource_group.Example.Name,\n }));\n this.PrivateEndpointStatus = example.Apply(example =\u003e example.PrivateEndpointConnections[0].Status);\n }\n\n [Output(\"privateEndpointStatus\")]\n public Output\u003cstring\u003e PrivateEndpointStatus { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: azurerm_private_link_service.Example.Id,\n\t\t\tResourceGroupName: azurerm_resource_group.Example.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "privateEndpointConnections": { "type": "array", "items": { "$ref": "#/types/azure:privatelink/getServiceEndpointConnectionsPrivateEndpointConnection:getServiceEndpointConnectionsPrivateEndpointConnection" } }, "resourceGroupName": { "type": "string" }, "serviceId": { "type": "string" }, "serviceName": { "type": "string", "description": "The name of the private link service.\n" } }, "type": "object", "required": [ "location", "privateEndpointConnections", "resourceGroupName", "serviceId", "serviceName", "id" ] } }, "azure:proximity/getPlacementGroup:getPlacementGroup": { "description": "Use this data source to access information about an existing Proximity Placement Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Proximity.GetPlacementGroup.InvokeAsync(new Azure.Proximity.GetPlacementGroupArgs\n {\n Name = \"tf-appsecuritygroup\",\n ResourceGroupName = \"my-resource-group\",\n }));\n this.ProximityPlacementGroupId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"proximityPlacementGroupId\")]\n public Output\u003cstring\u003e ProximityPlacementGroupId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/proximity\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:recoveryservices/getVault:getVault": { "description": "Use this data source to access information about an existing Recovery Services Vault.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst vault = pulumi.output(azure.recoveryservices.getVault({\n name: \"tfex-recovery_vault\",\n resourceGroupName: \"tfex-resource_group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var vault = Output.Create(Azure.RecoveryServices.GetVault.InvokeAsync(new Azure.RecoveryServices.GetVaultArgs\n {\n Name = \"tfex-recovery_vault\",\n ResourceGroupName = \"tfex-resource_group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the resource resides.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "The vault's current SKU.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "sku", "tags", "id" ] } }, "azure:redis/getCache:getCache": { "description": "Use this data source to access information about an existing Redis Cache\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Redis.GetCache.InvokeAsync(new Azure.Redis.GetCacheArgs\n {\n Name = \"myrediscache\",\n ResourceGroupName = \"redis-cache\",\n }));\n this.PrimaryAccessKey = example.Apply(example =\u003e example.PrimaryAccessKey);\n this.Hostname = example.Apply(example =\u003e example.Hostname);\n }\n\n [Output(\"primaryAccessKey\")]\n public Output\u003cstring\u003e PrimaryAccessKey { get; set; }\n [Output(\"hostname\")]\n public Output\u003cstring\u003e Hostname { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/redis\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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", "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" }, "zones": { "type": "array", "items": { "type": "string" } } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getCache.\n", "properties": { "capacity": { "type": "integer", "description": "The size of the Redis Cache deployed.\n" }, "enableNonSslPort": { "type": "boolean", "description": "Whether the SSL port is enabled.\n" }, "family": { "type": "string", "description": "The SKU family/pricing group used. Possible values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)\n" }, "hostname": { "type": "string", "description": "The Hostname of the Redis Instance\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location of the Redis Cache.\n" }, "minimumTlsVersion": { "type": "string", "description": "The minimum TLS version.\n" }, "name": { "type": "string" }, "patchSchedules": { "type": "array", "items": { "$ref": "#/types/azure:redis/getCachePatchSchedule:getCachePatchSchedule" }, "description": "A list of `patch_schedule` blocks as defined below - only available for Premium SKU's.\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" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string of the Redis Instance.\n" }, "privateStaticIpAddress": { "type": "string" }, "redisConfigurations": { "type": "array", "items": { "$ref": "#/types/azure:redis/getCacheRedisConfiguration:getCacheRedisConfiguration" }, "description": "A `redis_configuration` block as defined below.\n" }, "resourceGroupName": { "type": "string" }, "secondaryAccessKey": { "type": "string", "description": "The Secondary Access Key for the Redis Instance\n" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string of the Redis Instance.\n" }, "shardCount": { "type": "integer" }, "skuName": { "type": "string", "description": "The SKU of Redis used. Possible values are `Basic`, `Standard` and `Premium`.\n" }, "sslPort": { "type": "integer", "description": "The SSL Port of the Redis Instance\n" }, "subnetId": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } }, "zones": { "type": "array", "items": { "type": "string" } } }, "type": "object", "required": [ "capacity", "enableNonSslPort", "family", "hostname", "location", "minimumTlsVersion", "name", "patchSchedules", "port", "primaryAccessKey", "primaryConnectionString", "privateStaticIpAddress", "redisConfigurations", "resourceGroupName", "secondaryAccessKey", "secondaryConnectionString", "shardCount", "skuName", "sslPort", "subnetId", "tags", "zones", "id" ] } }, "azure:role/getRoleDefinition:getRoleDefinition": { "inputs": { "description": "A collection of arguments for invoking getRoleDefinition.\n", "properties": { "name": { "type": "string" }, "roleDefinitionId": { "type": "string" }, "scope": { "type": "string" } }, "type": "object" }, "outputs": { "description": "A collection of values returned by getRoleDefinition.\n", "properties": { "assignableScopes": { "type": "array", "items": { "type": "string" } }, "description": { "type": "string" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "permissions": { "type": "array", "items": { "$ref": "#/types/azure:role/getRoleDefinitionPermission:getRoleDefinitionPermission" } }, "roleDefinitionId": { "type": "string" }, "scope": { "type": "string" }, "type": { "type": "string" } }, "type": "object", "required": [ "assignableScopes", "description", "name", "permissions", "roleDefinitionId", "type", "id" ] }, "deprecationMessage": "azure.role.getRoleDefinition has been deprecated in favor of azure.authorization.getRoleDefinition" }, "azure:sentinel/getAlertRule:getAlertRule": { "description": "Use this data source to access information about an existing Sentinel Alert Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAnalyticsWorkspace = azure.operationalinsights.getAnalyticsWorkspace({\n name: \"example\",\n resourceGroupName: \"example-resources\",\n});\nconst exampleAlertRule = exampleAnalyticsWorkspace.then(exampleAnalyticsWorkspace =\u003e azure.sentinel.getAlertRule({\n name: \"existing\",\n logAnalyticsWorkspaceId: exampleAnalyticsWorkspace.id,\n}));\nexport const id = exampleAlertRule.then(exampleAlertRule =\u003e exampleAlertRule.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_analytics_workspace = azure.operationalinsights.get_analytics_workspace(name=\"example\",\n resource_group_name=\"example-resources\")\nexample_alert_rule = azure.sentinel.get_alert_rule(name=\"existing\",\n log_analytics_workspace_id=example_analytics_workspace.id)\npulumi.export(\"id\", example_alert_rule.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAnalyticsWorkspace = Output.Create(Azure.OperationalInsights.GetAnalyticsWorkspace.InvokeAsync(new Azure.OperationalInsights.GetAnalyticsWorkspaceArgs\n {\n Name = \"example\",\n ResourceGroupName = \"example-resources\",\n }));\n var exampleAlertRule = exampleAnalyticsWorkspace.Apply(exampleAnalyticsWorkspace =\u003e Output.Create(Azure.Sentinel.GetAlertRule.InvokeAsync(new Azure.Sentinel.GetAlertRuleArgs\n {\n Name = \"existing\",\n LogAnalyticsWorkspaceId = exampleAnalyticsWorkspace.Id,\n })));\n this.Id = exampleAlertRule.Apply(exampleAlertRule =\u003e exampleAlertRule.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAnalyticsWorkspace, 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\texampleAlertRule, err := sentinel.GetAlertRule(ctx, \u0026sentinel.GetAlertRuleArgs{\n\t\t\tName: \"existing\",\n\t\t\tLogAnalyticsWorkspaceId: exampleAnalyticsWorkspace.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", exampleAlertRule.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "logAnalyticsWorkspaceId": { "type": "string" }, "name": { "type": "string" } }, "type": "object", "required": [ "logAnalyticsWorkspaceId", "name", "id" ] } }, "azure:servicebus/getNamespace:getNamespace": { "description": "Use this data source to access information about an existing ServiceBus Namespace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ServiceBus.GetNamespace.InvokeAsync(new Azure.ServiceBus.GetNamespaceArgs\n {\n Name = \"examplenamespace\",\n ResourceGroupName = \"example-resources\",\n }));\n this.Location = example.Apply(example =\u003e example.Location);\n }\n\n [Output(\"location\")]\n public Output\u003cstring\u003e Location { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "integer", "description": "The capacity of the ServiceBus Namespace.\n" }, "defaultPrimaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization\nrule `RootManageSharedAccessKey`.\n" }, "defaultPrimaryKey": { "type": "string", "description": "The primary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryConnectionString": { "type": "string", "description": "The secondary connection string for the\nauthorization rule `RootManageSharedAccessKey`.\n" }, "defaultSecondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule `RootManageSharedAccessKey`.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location of the Resource Group in which the ServiceBus Namespace exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "sku": { "type": "string", "description": "The Tier used for the ServiceBus Namespace.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "zoneRedundant": { "type": "boolean", "description": "Whether or not this ServiceBus Namespace is zone redundant.\n" } }, "type": "object", "required": [ "capacity", "defaultPrimaryConnectionString", "defaultPrimaryKey", "defaultSecondaryConnectionString", "defaultSecondaryKey", "location", "name", "resourceGroupName", "sku", "tags", "zoneRedundant", "id" ] } }, "azure:servicebus/getNamespaceAuthorizationRule:getNamespaceAuthorizationRule": { "description": "Use this data source to access information about an existing ServiceBus Namespace Authorization Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.servicebus.getNamespaceAuthorizationRule({\n name: \"examplerule\",\n namespaceName: \"examplenamespace\",\n resourceGroupName: \"example-resources\",\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_name=\"examplenamespace\",\n resource_group_name=\"example-resources\")\npulumi.export(\"ruleId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ServiceBus.GetNamespaceAuthorizationRule.InvokeAsync(new Azure.ServiceBus.GetNamespaceAuthorizationRuleArgs\n {\n Name = \"examplerule\",\n NamespaceName = \"examplenamespace\",\n ResourceGroupName = \"example-resources\",\n }));\n this.RuleId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"ruleId\")]\n public Output\u003cstring\u003e RuleId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tNamespaceName: \"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(\"ruleId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "namespaceName": { "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", "namespaceName", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getNamespaceAuthorizationRule.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string for the authorization rule.\n" }, "primaryKey": { "type": "string", "description": "The primary access key for the authorization rule.\n" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string for the authorization rule.\n" }, "secondaryKey": { "type": "string", "description": "The secondary access key for the authorization rule.\n" } }, "type": "object", "required": [ "name", "namespaceName", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ServiceBus.GetQueueAuthorizationRule.InvokeAsync(new Azure.ServiceBus.GetQueueAuthorizationRuleArgs\n {\n Name = \"example-tfex_name\",\n ResourceGroupName = \"example-resources\",\n QueueName = \"example-servicebus_queue\",\n NamespaceName = \"example-namespace\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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: \"example-resources\",\n\t\t\tQueueName: \"example-servicebus_queue\",\n\t\t\tNamespaceName: \"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{{% /example %}}\n{{% /examples %}}", "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" }, "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", "namespaceName", "queueName", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getQueueAuthorizationRule.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "listen": { "type": "boolean" }, "manage": { "type": "boolean" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the ServiceBus Queue authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Queue authorization Rule.\n" }, "queueName": { "type": "string" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Queue authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Queue authorization Rule.\n" }, "send": { "type": "boolean" } }, "type": "object", "required": [ "listen", "manage", "name", "namespaceName", "primaryConnectionString", "primaryKey", "queueName", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "send", "id" ] } }, "azure:servicebus/getTopicAuthorizationRule:getTopicAuthorizationRule": { "description": "Use this data source to access information about a ServiceBus Topic Authorization Rule within a ServiceBus Topic.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.servicebus.getTopicAuthorizationRule({\n name: \"example-tfex_name\",\n namespaceName: \"example-namespace\",\n resourceGroupName: \"example-resources\",\n topicName: \"example-servicebus_topic\",\n}, { async: true }));\n\nexport const servicebusAuthorizationRuleId = azurem_servicebus_topic_authorization_rule_example.id;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.servicebus.get_topic_authorization_rule(name=\"example-tfex_name\",\n namespace_name=\"example-namespace\",\n resource_group_name=\"example-resources\",\n topic_name=\"example-servicebus_topic\")\npulumi.export(\"servicebusAuthorizationRuleId\", data[\"azurem_servicebus_topic_authorization_rule\"][\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.ServiceBus.GetTopicAuthorizationRule.InvokeAsync(new Azure.ServiceBus.GetTopicAuthorizationRuleArgs\n {\n Name = \"example-tfex_name\",\n NamespaceName = \"example-namespace\",\n ResourceGroupName = \"example-resources\",\n TopicName = \"example-servicebus_topic\",\n }));\n this.ServicebusAuthorizationRuleId = data.Azurem_servicebus_topic_authorization_rule.Example.Id;\n }\n\n [Output(\"servicebusAuthorizationRuleId\")]\n public Output\u003cstring\u003e ServicebusAuthorizationRuleId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/servicebus\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tNamespaceName: \"example-namespace\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t\tTopicName: \"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\", data.Azurem_servicebus_topic_authorization_rule.Example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the ServiceBus Namespace exists.\n" }, "topicName": { "type": "string", "description": "The name of the ServiceBus Topic.\n" } }, "type": "object", "required": [ "name", "namespaceName", "resourceGroupName", "topicName" ] }, "outputs": { "description": "A collection of values returned by getTopicAuthorizationRule.\n", "properties": { "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "listen": { "type": "boolean" }, "manage": { "type": "boolean" }, "name": { "type": "string" }, "namespaceName": { "type": "string" }, "primaryConnectionString": { "type": "string", "description": "The Primary Connection String for the ServiceBus Topic authorization Rule.\n" }, "primaryKey": { "type": "string", "description": "The Primary Key for the ServiceBus Topic authorization Rule.\n" }, "resourceGroupName": { "type": "string" }, "secondaryConnectionString": { "type": "string", "description": "The Secondary Connection String for the ServiceBus Topic authorization Rule.\n" }, "secondaryKey": { "type": "string", "description": "The Secondary Key for the ServiceBus Topic authorization Rule.\n" }, "send": { "type": "boolean" }, "topicName": { "type": "string" } }, "type": "object", "required": [ "listen", "manage", "name", "namespaceName", "primaryConnectionString", "primaryKey", "resourceGroupName", "secondaryConnectionString", "secondaryKey", "send", "topicName", "id" ] } }, "azure:signalr/getService:getService": { "description": "Use this data source to access information about an existing Azure SignalR service.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.signalr.getService({\n name: \"test-signalr\",\n resourceGroupName: \"signalr-resource-group\",\n}, { async: true }));\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.SignalR.GetService.InvokeAsync(new Azure.SignalR.GetServiceArgs\n {\n Name = \"test-signalr\",\n ResourceGroupName = \"signalr-resource-group\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/signalr\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "hostname": { "type": "string", "description": "The FQDN of the SignalR service.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ipAddress": { "type": "string", "description": "The publicly accessible IP of the SignalR service.\n" }, "location": { "type": "string", "description": "Specifies the supported Azure location where the SignalR service exists.\n" }, "name": { "type": "string" }, "primaryAccessKey": { "type": "string", "description": "The primary access key of the SignalR service.\n" }, "primaryConnectionString": { "type": "string", "description": "The primary connection string of the SignalR service.\n" }, "publicPort": { "type": "integer", "description": "The publicly accessible port of the SignalR service which is designed for browser/client use.\n" }, "resourceGroupName": { "type": "string" }, "secondaryAccessKey": { "type": "string", "description": "The secondary access key of the SignalR service.\n" }, "secondaryConnectionString": { "type": "string", "description": "The secondary connection string of the SignalR service.\n" }, "serverPort": { "type": "integer", "description": "The publicly accessible port of the SignalR service which is designed for customer server side use.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "hostname", "ipAddress", "location", "name", "primaryAccessKey", "primaryConnectionString", "publicPort", "resourceGroupName", "secondaryAccessKey", "secondaryConnectionString", "serverPort", "tags", "id" ] } }, "azure:sql/getDatabase:getDatabase": { "description": "Use this data source to access information about an existing SQL Azure Database.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.sql.getDatabase({\n name: \"example_db\",\n serverName: \"example_db_server\",\n resourceGroupName: \"example-resources\",\n});\nexport const sqlDatabaseId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.sql.get_database(name=\"example_db\",\n server_name=\"example_db_server\",\n resource_group_name=\"example-resources\")\npulumi.export(\"sqlDatabaseId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Sql.GetDatabase.InvokeAsync(new Azure.Sql.GetDatabaseArgs\n {\n Name = \"example_db\",\n ServerName = \"example_db_server\",\n ResourceGroupName = \"example-resources\",\n }));\n this.SqlDatabaseId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"sqlDatabaseId\")]\n public Output\u003cstring\u003e SqlDatabaseId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sql.LookupDatabase(ctx, \u0026sql.LookupDatabaseArgs{\n\t\t\tName: \"example_db\",\n\t\t\tServerName: \"example_db_server\",\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(\"sqlDatabaseId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDatabase.\n", "properties": { "name": { "type": "string", "description": "The name of the SQL Database.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group where the Azure SQL Database exists.\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "name", "resourceGroupName", "serverName" ] }, "outputs": { "description": "A collection of values returned by getDatabase.\n", "properties": { "collation": { "type": "string", "description": "The name of the collation.\n" }, "defaultSecondaryLocation": { "type": "string", "description": "The default secondary location of the SQL Database.\n" }, "edition": { "type": "string", "description": "The edition of the database.\n" }, "elasticPoolName": { "type": "string", "description": "The name of the elastic database pool the database belongs to.\n" }, "failoverGroupId": { "type": "string", "description": "The ID of the failover group the database belongs to.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The location of the Resource Group in which the SQL Server exists.\n" }, "name": { "type": "string", "description": "The name of the database.\n" }, "readScale": { "type": "boolean", "description": "Indicate if read-only connections will be redirected to a high-available replica.\n" }, "resourceGroupName": { "type": "string", "description": "The name of the resource group in which the database resides. This will always be the same resource group as the Database Server.\n" }, "serverName": { "type": "string", "description": "The name of the SQL Server on which to create the database.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "collation", "defaultSecondaryLocation", "edition", "elasticPoolName", "failoverGroupId", "location", "name", "readScale", "resourceGroupName", "serverName", "id" ] } }, "azure:sql/getServer:getServer": { "description": "Use this data source to access information about an existing SQL Azure Database Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.sql.getServer({\n name: \"examplesqlservername\",\n resourceGroupName: \"example-resources\",\n});\nexport const sqlServerId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.sql.get_server(name=\"examplesqlservername\",\n resource_group_name=\"example-resources\")\npulumi.export(\"sqlServerId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Sql.GetServer.InvokeAsync(new Azure.Sql.GetServerArgs\n {\n Name = \"examplesqlservername\",\n ResourceGroupName = \"example-resources\",\n }));\n this.SqlServerId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"sqlServerId\")]\n public Output\u003cstring\u003e SqlServerId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/sql\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := sql.GetServer(ctx, \u0026sql.GetServerArgs{\n\t\t\tName: \"examplesqlservername\",\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(\"sqlServerId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getServer.\n", "properties": { "name": { "type": "string", "description": "The name of the SQL Server.\n" }, "resourceGroupName": { "type": "string", "description": "Specifies the name of the Resource Group where the SQL Server exists.\n" } }, "type": "object", "required": [ "name", "resourceGroupName" ] }, "outputs": { "description": "A collection of values returned by getServer.\n", "properties": { "administratorLogin": { "type": "string", "description": "The administrator username of the SQL Server.\n" }, "fqdn": { "type": "string", "description": "The fully qualified domain name of the SQL Server.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "identities": { "type": "array", "items": { "$ref": "#/types/azure:sql/getServerIdentity:getServerIdentity" }, "description": "An `identity` block as defined below.\n" }, "location": { "type": "string", "description": "The location of the Resource Group in which the SQL Server exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" }, "version": { "type": "string", "description": "The version of the SQL Server.\n" } }, "type": "object", "required": [ "administratorLogin", "fqdn", "identities", "location", "name", "resourceGroupName", "tags", "version", "id" ] } }, "azure:storage/getAccount:getAccount": { "description": "Use this data source to access information about an existing Storage Account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Storage.GetAccount.InvokeAsync(new Azure.Storage.GetAccountArgs\n {\n Name = \"packerimages\",\n ResourceGroupName = \"packer-storage\",\n }));\n this.StorageAccountTier = example.Apply(example =\u003e example.AccountTier);\n }\n\n [Output(\"storageAccountTier\")]\n public Output\u003cstring\u003e StorageAccountTier { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"packer-storage\"\n\t\texample, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName: \"packerimages\",\n\t\t\tResourceGroupName: \u0026opt0,\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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The access tier for `BlobStorage` accounts.\n" }, "accountKind": { "type": "string", "description": "The Kind of account.\n" }, "accountReplicationType": { "type": "string", "description": "The type of replication used for this storage account.\n" }, "accountTier": { "type": "string", "description": "The Tier of this storage account.\n" }, "allowBlobPublicAccess": { "type": "boolean", "description": "Is public access allowed to all blobs or containers in the storage account?\n" }, "customDomains": { "type": "array", "items": { "$ref": "#/types/azure:storage/getAccountCustomDomain:getAccountCustomDomain" }, "description": "A `custom_domain` block as documented below.\n" }, "enableHttpsTrafficOnly": { "type": "boolean", "description": "Is traffic only allowed via HTTPS? See [here](https://docs.microsoft.com/en-us/azure/storage/storage-require-secure-transfer/)\nfor more information.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "isHnsEnabled": { "type": "boolean", "description": "Is Hierarchical Namespace enabled?\n" }, "location": { "type": "string", "description": "The Azure location where the Storage Account exists\n" }, "minTlsVersion": { "type": "string", "description": "The minimum supported TLS version for this storage account.\n" }, "name": { "type": "string", "description": "The Custom Domain Name used for the Storage Account.\n" }, "primaryAccessKey": { "type": "string", "description": "The primary access key for the Storage Account.\n" }, "primaryBlobConnectionString": { "type": "string", "description": "The connection string associated with the primary blob location\n" }, "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" }, "primaryConnectionString": { "type": "string", "description": "The connection string associated with the primary location\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "resourceGroupName": { "type": "string" }, "secondaryAccessKey": { "type": "string", "description": "The secondary access key for the Storage Account.\n" }, "secondaryBlobConnectionString": { "type": "string", "description": "The connection string associated with the secondary blob location\n" }, "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" }, "secondaryConnectionString": { "type": "string", "description": "The connection string associated with the secondary location\n" }, "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" }, "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" }, "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" }, "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" }, "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" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags to assigned to the resource.\n" } }, "type": "object", "required": [ "accessTier", "accountKind", "accountReplicationType", "accountTier", "allowBlobPublicAccess", "customDomains", "enableHttpsTrafficOnly", "isHnsEnabled", "location", "name", "primaryAccessKey", "primaryBlobConnectionString", "primaryBlobEndpoint", "primaryBlobHost", "primaryConnectionString", "primaryDfsEndpoint", "primaryDfsHost", "primaryFileEndpoint", "primaryFileHost", "primaryLocation", "primaryQueueEndpoint", "primaryQueueHost", "primaryTableEndpoint", "primaryTableHost", "primaryWebEndpoint", "primaryWebHost", "resourceGroupName", "secondaryAccessKey", "secondaryBlobConnectionString", "secondaryBlobEndpoint", "secondaryBlobHost", "secondaryConnectionString", "secondaryDfsEndpoint", "secondaryDfsHost", "secondaryFileEndpoint", "secondaryFileHost", "secondaryLocation", "secondaryQueueEndpoint", "secondaryQueueHost", "secondaryTableEndpoint", "secondaryTableHost", "secondaryWebEndpoint", "secondaryWebHost", "tags", "id" ] } }, "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst rg = new azure.core.ResourceGroup(\"rg\", {location: \"westus\"});\nconst storage = new azure.storage.Account(\"storage\", {\n resourceGroupName: rg.name,\n location: rg.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n});\nconst container = new azure.storage.Container(\"container\", {\n storageAccountName: storage.name,\n containerAccessType: \"private\",\n});\nconst example = pulumi.all([storage.primaryConnectionString, container.name]).apply(([primaryConnectionString, name]) =\u003e azure.storage.getAccountBlobContainerSAS({\n connectionString: primaryConnectionString,\n containerName: 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.sas;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nrg = azure.core.ResourceGroup(\"rg\", location=\"westus\")\nstorage = azure.storage.Account(\"storage\",\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 storage_account_name=storage.name,\n container_access_type=\"private\")\nexample = pulumi.Output.all(storage.primary_connection_string, container.name).apply(lambda primary_connection_string, name: azure.storage.get_account_blob_container_sas(connection_string=primary_connection_string,\n container_name=name,\n https_only=True,\n ip_address=\"168.1.5.65\",\n start=\"2018-03-21\",\n expiry=\"2018-03-21\",\n permissions=azure.storage.GetAccountBlobContainerSASPermissionsArgs(\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var rg = new Azure.Core.ResourceGroup(\"rg\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus\",\n });\n var storage = new Azure.Storage.Account(\"storage\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = rg.Name,\n Location = rg.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n });\n var container = new Azure.Storage.Container(\"container\", new Azure.Storage.ContainerArgs\n {\n StorageAccountName = storage.Name,\n ContainerAccessType = \"private\",\n });\n var example = Output.Tuple(storage.PrimaryConnectionString, container.Name).Apply(values =\u003e\n {\n var primaryConnectionString = values.Item1;\n var name = values.Item2;\n return Azure.Storage.GetAccountBlobContainerSAS.InvokeAsync(new Azure.Storage.GetAccountBlobContainerSASArgs\n {\n ConnectionString = primaryConnectionString,\n ContainerName = 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.GetAccountBlobContainerSASPermissionsArgs\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 this.SasUrlQueryString = example.Apply(example =\u003e example.Sas);\n }\n\n [Output(\"sasUrlQueryString\")]\n public Output\u003cstring\u003e SasUrlQueryString { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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\tLocation: pulumi.String(\"westus\"),\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\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\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\tctx.Export(\"sasUrlQueryString\", example.ApplyT(func(example storage.GetAccountBlobContainerSASResult) (string, error) {\n\t\t\treturn example.Sas, nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 `primary_connection_string` attribute of an `azure.storage.Account` resource.\n" }, "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" }, "httpsOnly": { "type": "boolean", "description": "Only permit `https` access. If `false`, both `http` and `https` are permitted. Defaults to `true`.\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 `permissions` 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": { "type": "string" }, "containerName": { "type": "string" }, "contentDisposition": { "type": "string" }, "contentEncoding": { "type": "string" }, "contentLanguage": { "type": "string" }, "contentType": { "type": "string" }, "expiry": { "type": "string" }, "httpsOnly": { "type": "boolean" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "ipAddress": { "type": "string" }, "permissions": { "$ref": "#/types/azure:storage/getAccountBlobContainerSASPermissions:getAccountBlobContainerSASPermissions" }, "sas": { "type": "string", "description": "The computed Blob Container Shared Access Signature (SAS).\n" }, "start": { "type": "string" } }, "type": "object", "required": [ "connectionString", "containerName", "expiry", "permissions", "sas", "start", "id" ] } }, "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/en-us/rest/api/storageservices/constructing-an-account-sas)\nand *not* a [Service SAS](https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"exampleResourceGroup\", {location: \"westus\"});\nconst exampleAccount = new azure.storage.Account(\"exampleAccount\", {\n resourceGroupName: exampleResourceGroup.name,\n location: \"westus\",\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n tags: {\n environment: \"staging\",\n },\n});\nconst exampleAccountSAS = exampleAccount.primaryConnectionString.apply(primaryConnectionString =\u003e azure.storage.getAccountSAS({\n connectionString: primaryConnectionString,\n httpsOnly: true,\n signedVersion: \"2017-07-29\",\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-21\",\n expiry: \"2020-03-21\",\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 },\n}));\nexport const sasUrlQueryString = exampleAccountSAS.sas;\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_resource_group = azure.core.ResourceGroup(\"exampleResourceGroup\", location=\"westus\")\nexample_account = azure.storage.Account(\"exampleAccount\",\n resource_group_name=example_resource_group.name,\n location=\"westus\",\n account_tier=\"Standard\",\n account_replication_type=\"GRS\",\n tags={\n \"environment\": \"staging\",\n })\nexample_account_sas = example_account.primary_connection_string.apply(lambda primary_connection_string: azure.storage.get_account_sas(connection_string=primary_connection_string,\n https_only=True,\n signed_version=\"2017-07-29\",\n resource_types=azure.storage.GetAccountSASResourceTypesArgs(\n service=True,\n container=False,\n object=False,\n ),\n services=azure.storage.GetAccountSASServicesArgs(\n blob=True,\n queue=False,\n table=False,\n file=False,\n ),\n start=\"2018-03-21\",\n expiry=\"2020-03-21\",\n permissions=azure.storage.GetAccountSASPermissionsArgs(\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 )))\npulumi.export(\"sasUrlQueryString\", example_account_sas.sas)\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"exampleResourceGroup\", new Azure.Core.ResourceGroupArgs\n {\n Location = \"westus\",\n });\n var exampleAccount = new Azure.Storage.Account(\"exampleAccount\", new Azure.Storage.AccountArgs\n {\n ResourceGroupName = exampleResourceGroup.Name,\n Location = \"westus\",\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n var exampleAccountSAS = exampleAccount.PrimaryConnectionString.Apply(primaryConnectionString =\u003e Azure.Storage.GetAccountSAS.InvokeAsync(new Azure.Storage.GetAccountSASArgs\n {\n ConnectionString = primaryConnectionString,\n HttpsOnly = true,\n SignedVersion = \"2017-07-29\",\n ResourceTypes = new Azure.Storage.Inputs.GetAccountSASResourceTypesArgs\n {\n Service = true,\n Container = false,\n Object = false,\n },\n Services = new Azure.Storage.Inputs.GetAccountSASServicesArgs\n {\n Blob = true,\n Queue = false,\n Table = false,\n File = false,\n },\n Start = \"2018-03-21\",\n Expiry = \"2020-03-21\",\n Permissions = new Azure.Storage.Inputs.GetAccountSASPermissionsArgs\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 },\n }));\n this.SasUrlQueryString = exampleAccountSAS.Apply(exampleAccountSAS =\u003e exampleAccountSAS.Sas);\n }\n\n [Output(\"sasUrlQueryString\")]\n public Output\u003cstring\u003e SasUrlQueryString { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"exampleResourceGroup\", \u0026core.ResourceGroupArgs{\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\texampleAccount, err := storage.NewAccount(ctx, \"exampleAccount\", \u0026storage.AccountArgs{\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: pulumi.String(\"westus\"),\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\tctx.Export(\"sasUrlQueryString\", exampleAccountSAS.ApplyT(func(exampleAccountSAS storage.GetAccountSASResult) (string, error) {\n\t\t\treturn exampleAccountSAS.Sas, nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "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 `primary_connection_string` attribute of a `azure.storage.Account` resource.\n" }, "expiry": { "type": "string", "description": "The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.\n" }, "httpsOnly": { "type": "boolean", "description": "Only permit `https` access. If `false`, both `http` and `https` are permitted. Defaults to `true`.\n" }, "permissions": { "$ref": "#/types/azure:storage/getAccountSASPermissions:getAccountSASPermissions", "description": "A `permissions` block as defined below.\n" }, "resourceTypes": { "$ref": "#/types/azure:storage/getAccountSASResourceTypes:getAccountSASResourceTypes", "description": "A `resource_types` block as defined below.\n" }, "services": { "$ref": "#/types/azure:storage/getAccountSASServices:getAccountSASServices", "description": "A `services` 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 `2017-07-29`.\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": { "type": "string" }, "expiry": { "type": "string" }, "httpsOnly": { "type": "boolean" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "permissions": { "$ref": "#/types/azure:storage/getAccountSASPermissions:getAccountSASPermissions" }, "resourceTypes": { "$ref": "#/types/azure:storage/getAccountSASResourceTypes:getAccountSASResourceTypes" }, "sas": { "type": "string", "description": "The computed Account Shared Access Signature (SAS).\n" }, "services": { "$ref": "#/types/azure:storage/getAccountSASServices:getAccountSASServices" }, "signedVersion": { "type": "string" }, "start": { "type": "string" } }, "type": "object", "required": [ "connectionString", "expiry", "permissions", "resourceTypes", "sas", "services", "start", "id" ] } }, "azure:storage/getPolicy:getPolicy": { "description": "Use this data source to access information about an existing Storage Management Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst exampleAccount = azure.storage.getAccount({\n name: \"storageaccountname\",\n resourceGroupName: \"resourcegroupname\",\n});\nconst examplePolicy = azure.storage.getPolicy({\n storageAccountId: azurerm_storage_account.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample_account = azure.storage.get_account(name=\"storageaccountname\",\n resource_group_name=\"resourcegroupname\")\nexample_policy = azure.storage.get_policy(storage_account_id=azurerm_storage_account[\"example\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleAccount = Output.Create(Azure.Storage.GetAccount.InvokeAsync(new Azure.Storage.GetAccountArgs\n {\n Name = \"storageaccountname\",\n ResourceGroupName = \"resourcegroupname\",\n }));\n var examplePolicy = Output.Create(Azure.Storage.GetPolicy.InvokeAsync(new Azure.Storage.GetPolicyArgs\n {\n StorageAccountId = azurerm_storage_account.Example.Id,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\topt0 := \"resourcegroupname\"\n\t\t_, err := storage.LookupAccount(ctx, \u0026storage.LookupAccountArgs{\n\t\t\tName: \"storageaccountname\",\n\t\t\tResourceGroupName: \u0026opt0,\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: azurerm_storage_account.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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "rules": { "type": "array", "items": { "$ref": "#/types/azure:storage/getPolicyRule:getPolicyRule" }, "description": "A `rule` block as documented below.\n" }, "storageAccountId": { "type": "string" } }, "type": "object", "required": [ "rules", "storageAccountId", "id" ] } }, "azure:storage/getStorageContainer:getStorageContainer": { "description": "Use this data source to access information about an existing Storage Container.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = pulumi.output(azure.storage.getStorageContainer({\n name: \"example-container-name\",\n storageAccountName: \"example-storage-account-name\",\n}, { async: true }));\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_storage_container(name=\"example-container-name\",\n storage_account_name=\"example-storage-account-name\")\n```\n```csharp\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Storage.GetStorageContainer.InvokeAsync(new Azure.Storage.GetStorageContainerArgs\n {\n Name = \"example-container-name\",\n StorageAccountName = \"example-storage-account-name\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := storage.GetStorageContainer(ctx, \u0026storage.GetStorageContainerArgs{\n\t\t\tName: \"example-container-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{{% /example %}}\n{{% /examples %}}", "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" }, "storageAccountName": { "type": "string", "description": "The name of the Storage Account where the Container exists.\n" } }, "type": "object", "required": [ "name", "storageAccountName" ] }, "outputs": { "description": "A collection of values returned by getStorageContainer.\n", "properties": { "containerAccessType": { "type": "string", "description": "The Access Level configured for this Container.\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" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of MetaData for this Container.\n" }, "name": { "type": "string" }, "resourceManagerId": { "type": "string", "description": "The Resource Manager ID of this Storage Container.\n" }, "storageAccountName": { "type": "string" } }, "type": "object", "required": [ "containerAccessType", "hasImmutabilityPolicy", "hasLegalHold", "metadata", "name", "resourceManagerId", "storageAccountName", "id" ] } }, "azure:storage/getSync:getSync": { "description": "Use this data source to access information about an existing Storage Sync.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Storage.GetSync.InvokeAsync(new Azure.Storage.GetSyncArgs\n {\n Name = \"existingStorageSyncName\",\n ResourceGroupName = \"existingResGroup\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "incomingTrafficPolicy": { "type": "string", "description": "Incoming traffic policy.\n" }, "location": { "type": "string", "description": "The Azure Region where the Storage Sync exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the Storage Sync.\n" } }, "type": "object", "required": [ "incomingTrafficPolicy", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:storage/getSyncGroup:getSyncGroup": { "description": "Use this data source to access information about an existing Storage Sync Group.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Storage.GetSyncGroup.InvokeAsync(new Azure.Storage.GetSyncGroupArgs\n {\n Name = \"existing-ss-group\",\n StorageSyncId = \"existing-ss-id\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" }, "storageSyncId": { "type": "string" } }, "type": "object", "required": [ "name", "storageSyncId", "id" ] } }, "azure:streamanalytics/getJob:getJob": { "description": "Use this data source to access information about an existing Stream Analytics Job.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.StreamAnalytics.GetJob.InvokeAsync(new Azure.StreamAnalytics.GetJobArgs\n {\n Name = \"example-job\",\n ResourceGroupName = \"example-resources\",\n }));\n this.JobId = example.Apply(example =\u003e example.JobId);\n }\n\n [Output(\"jobId\")]\n public Output\u003cstring\u003e JobId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/streamanalytics\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The compatibility level for this job.\n" }, "dataLocale": { "type": "string", "description": "The Data Locale of the Job.\n" }, "eventsLateArrivalMaxDelayInSeconds": { "type": "integer", "description": "The maximum tolerable delay in seconds where events arriving late could be included.\n" }, "eventsOutOfOrderMaxDelayInSeconds": { "type": "integer", "description": "The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order.\n" }, "eventsOutOfOrderPolicy": { "type": "string", "description": "The policy which should be applied to events which arrive out of order in the input event stream.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "jobId": { "type": "string", "description": "The Job ID assigned by the Stream Analytics Job.\n" }, "location": { "type": "string", "description": "The Azure location where the Stream Analytics Job exists.\n" }, "name": { "type": "string" }, "outputErrorPolicy": { "type": "string", "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" }, "resourceGroupName": { "type": "string" }, "streamingUnits": { "type": "integer", "description": "The number of streaming units that the streaming job uses.\n" }, "transformationQuery": { "type": "string", "description": "The query that will be run in the streaming job, [written in Stream Analytics Query Language (SAQL)](https://msdn.microsoft.com/library/azure/dn834998).\n" } }, "type": "object", "required": [ "compatibilityLevel", "dataLocale", "eventsLateArrivalMaxDelayInSeconds", "eventsOutOfOrderMaxDelayInSeconds", "eventsOutOfOrderPolicy", "jobId", "location", "name", "outputErrorPolicy", "resourceGroupName", "streamingUnits", "transformationQuery", "id" ] } }, "azure:synapse/getWorkspace:getWorkspace": { "description": "Use this data source to access information about an existing Synapse Workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Synapse.GetWorkspace.InvokeAsync(new Azure.Synapse.GetWorkspaceArgs\n {\n Name = \"existing\",\n ResourceGroupName = \"example-resource-group\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/synapse\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A list of Connectivity endpoints for this Synapse Workspace.\n" }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string", "description": "The Azure location where the Synapse Workspace exists.\n" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A mapping of tags assigned to the resource.\n" } }, "type": "object", "required": [ "connectivityEndpoints", "location", "name", "resourceGroupName", "tags", "id" ] } }, "azure:trafficmanager/getGeographicalLocation:getGeographicalLocation": { "description": "Use this data source to access the ID of a specified Traffic Manager Geographical Location within the Geographical Hierarchy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### World)\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Network.GetTrafficManager.InvokeAsync(new Azure.Network.GetTrafficManagerArgs\n {\n Name = \"World\",\n }));\n this.LocationCode = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"locationCode\")]\n public Output\u003cstring\u003e LocationCode { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "name": { "type": "string" } }, "type": "object", "required": [ "name", "id" ] }, "deprecationMessage": "azure.trafficmanager.getGeographicalLocation has been deprecated in favor of azure.network.getTrafficManager" }, "azure:waf/getFirewallPolicy:getFirewallPolicy": { "description": "Use this data source to access information about an existing Web Application Firewall Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 Pulumi;\nusing Azure = Pulumi.Azure;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(Azure.Waf.GetFirewallPolicy.InvokeAsync(new Azure.Waf.GetFirewallPolicyArgs\n {\n ResourceGroupName = \"existing\",\n Name = \"existing\",\n }));\n this.Id = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"id\")]\n public Output\u003cstring\u003e Id { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v2/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{{% /example %}}\n{{% /examples %}}", "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": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" }, "location": { "type": "string" }, "name": { "type": "string" }, "resourceGroupName": { "type": "string" }, "tags": { "type": "object", "additionalProperties": { "type": "string" } } }, "type": "object", "required": [ "location", "name", "resourceGroupName", "id" ] } } }, "language": { "csharp": { "namespaces": { "advisor": "Advisor", "analysisservices": "AnalysisServices", "apimanagement": "ApiManagement", "appconfiguration": "AppConfiguration", "appinsights": "AppInsights", "appplatform": "AppPlatform", "appservice": "AppService", "attestation": "Attestation", "authorization": "Authorization", "automation": "Automation", "azure": "Azure", "backup": "Backup", "batch": "Batch", "blueprint": "Blueprint", "bot": "Bot", "cdn": "Cdn", "cognitive": "Cognitive", "compute": "Compute", "containerservice": "ContainerService", "core": "Core", "cosmosdb": "CosmosDB", "costmanagement": "CostManagement", "dashboard": "Dashboard", "databasemigration": "DatabaseMigration", "databricks": "DataBricks", "datafactory": "DataFactory", "datalake": "DataLake", "datashare": "DataShare", "devspace": "DevSpace", "devtest": "DevTest", "dns": "Dns", "eventgrid": "EventGrid", "eventhub": "EventHub", "frontdoor": "FrontDoor", "hdinsight": "HDInsight", "healthcare": "Healthcare", "hpc": "Hpc", "hsm": "Hsm", "iot": "Iot", "iotcentral": "IotCentral", "keyvault": "KeyVault", "kusto": "Kusto", "lb": "Lb", "lighthouse": "Lighthouse", "loganalytics": "LogAnalytics", "logicapps": "LogicApps", "machinelearning": "MachineLearning", "maintenance": "Maintenance", "managedapplication": "ManagedApplication", "management": "Management", "managementgroups": "ManagementGroups", "managementresource": "ManagementResource", "maps": "Maps", "mariadb": "MariaDB", "marketplace": "Marketplace", "mediaservices": "MediaServices", "mixedreality": "MixedReality", "monitoring": "Monitoring", "msi": "Msi", "mssql": "MSSql", "mysql": "MySql", "netapp": "NetApp", "network": "Network", "notificationhub": "NotificationHub", "operationalinsights": "OperationalInsights", "policy": "Policy", "postgresql": "PostgreSql", "powerbi": "PowerBI", "privatedns": "PrivateDns", "privatelink": "PrivateLink", "proximity": "Proximity", "recoveryservices": "RecoveryServices", "redis": "Redis", "relay": "Relay", "role": "Role", "search": "Search", "securitycenter": "SecurityCenter", "sentinel": "Sentinel", "servicebus": "ServiceBus", "servicefabric": "ServiceFabric", "signalr": "SignalR", "siterecovery": "SiteRecovery", "sql": "Sql", "storage": "Storage", "streamanalytics": "StreamAnalytics", "synapse": "Synapse", "trafficmanager": "TrafficManager", "waf": "Waf" }, "packageReferences": { "Pulumi": "2.*", "System.Collections.Immutable": "1.6.0" } }, "nodejs": { "dependencies": { "@azure/functions": "^1.0.3", "@azure/ms-rest-azure-js": "^2.0.1", "@azure/ms-rest-nodeauth": "^3.0.0", "@pulumi/pulumi": "^2.0.0", "azure-eventgrid": "^1.6.0", "azure-functions-ts-essentials": "^1.3.2", "moment": "2.24.0" }, "devDependencies": { "@types/node": "^8.0.0" }, "disableUnionOutputTypes": true, "packageDescription": "A Pulumi package for creating and managing Microsoft Azure cloud resources.", "packageName": "", "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/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/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-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues).", "typescriptVersion": "" }, "python": { "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/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/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-providers/terraform-provider-azurerm` repo](https://github.com/terraform-providers/terraform-provider-azurerm/issues).", "requires": { "pulumi": "\u003e=2.9.0,\u003c3.0.0" }, "usesIOClasses": true } } }