diff --git a/generator/resources.json b/generator/resources.json index 5acc6918d6..17b5665530 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -3276,10 +3276,12 @@ "2021-03-08" ], "Microsoft.Insights/privateLinkScopes/privateEndpointConnections": [ - "2019-10-17-preview" + "2019-10-17-preview", + "2021-07-01-preview" ], "Microsoft.Insights/privateLinkScopes/scopedResources": [ - "2019-10-17-preview" + "2019-10-17-preview", + "2021-07-01-preview" ], "Microsoft.Insights/webtests": [ "2014-04-01", @@ -8093,7 +8095,8 @@ "2016-03-01" ], "microsoft.insights/privateLinkScopes": [ - "2019-10-17-preview" + "2019-10-17-preview", + "2021-07-01-preview" ], "microsoft.insights/scheduledQueryRules": [ "2018-04-16", diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json index a04817d78b..f1bcf13ca9 100644 --- a/schemas/2014-04-01-preview/deploymentTemplate.json +++ b/schemas/2014-04-01-preview/deploymentTemplate.json @@ -6242,6 +6242,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-17-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_scopedResources" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_scopedResources" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.Insights.json#/resourceDefinitions/dataCollectionRules" }, diff --git a/schemas/2015-01-01/deploymentTemplate.json b/schemas/2015-01-01/deploymentTemplate.json index b8b8be4525..1152aa297d 100644 --- a/schemas/2015-01-01/deploymentTemplate.json +++ b/schemas/2015-01-01/deploymentTemplate.json @@ -6753,6 +6753,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-17-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_scopedResources" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_scopedResources" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.Insights.json#/resourceDefinitions/dataCollectionRules" }, diff --git a/schemas/2021-07-01-preview/Microsoft.Insights.json b/schemas/2021-07-01-preview/Microsoft.Insights.json new file mode 100644 index 0000000000..c36ad25c6f --- /dev/null +++ b/schemas/2021-07-01-preview/Microsoft.Insights.json @@ -0,0 +1,332 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "privateLinkScopes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the Azure Monitor PrivateLinkScope resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorPrivateLinkScopeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties that define a Azure Monitor PrivateLinkScope resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/privateLinkScopes_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/privateLinkScopes_scopedResources_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/privateLinkScopes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/privateLinkScopes" + }, + "privateLinkScopes_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/privateLinkScopes/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/privateLinkScopes/privateEndpointConnections" + }, + "privateLinkScopes_scopedResources": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the scoped resource object." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopedResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private link scoped resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/privateLinkScopes/scopedResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/privateLinkScopes/scopedResources" + } + }, + "definitions": { + "AzureMonitorPrivateLinkScopeProperties": { + "type": "object", + "properties": { + "accessModeSettings": { + "type": "object", + "properties": { + "queryAccessMode": { + "description": "Specifies the default access mode of queries through associated private endpoints in scope. If not specified default value is 'Open'. You can override this default setting for a specific private endpoint connection by adding an exclusion in the 'exclusions' array.", + "type": "string", + "enum": ["Open", "PrivateOnly"] + }, + "ingestionAccessMode": { + "description": "Specifies the default access mode of ingestion through associated private endpoints in scope. If not specified default value is 'Open'. You can override this default setting for a specific private endpoint connection by adding an exclusion in the 'exclusions' array.", + "type": "string", + "enum": ["Open", "PrivateOnly"] + }, + "exclusions": { + "description": "List of exclusions that override the default access mode settings for specific private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/AccessModeSettingsExclusion" + } + } + }, + "description": "Properties that define the scope private link mode settings." + } + }, + "description": "Properties that define a Azure Monitor PrivateLinkScope resource." + }, + "AccessModeSettingsExclusion": { + "type": "object", + "description": "Properties that define the scope private link mode settings exclusion item. This setting applies to a specific private endpoint connection and overrides the default settings for that private endpoint connection.", + "properties": { + "privateEndpointConnectionName": { + "description": "The private endpoint connection name associated to the private endpoint on which we want to apply the specific access mode settings.", + "type": "boolean" + }, + "queryAccessMode": { + "description": "Specifies the access mode of queries through the specified private endpoint connection in the exclusion.", + "type": "string", + "enum": ["Open", "PrivateOnly"] + }, + "ingestionAccessMode": { + "description": "Specifies the access mode of ingestion through the specified private endpoint connection in the exclusion.", + "type": "string", + "enum": ["Open", "PrivateOnly"] + } + } + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "State of the private endpoint connection." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkScopes_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": ["2021-07-01-preview"] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": ["privateEndpointConnections"] + } + }, + "required": ["apiVersion", "name", "properties", "type"], + "description": "Microsoft.Insights/privateLinkScopes/privateEndpointConnections" + }, + "privateLinkScopes_scopedResources_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": ["2021-07-01-preview"] + }, + "name": { + "type": "string", + "description": "The name of the scoped resource object." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopedResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private link scoped resource." + }, + "type": { + "type": "string", + "enum": ["scopedResources"] + } + }, + "required": ["apiVersion", "name", "properties", "type"], + "description": "Microsoft.Insights/privateLinkScopes/scopedResources" + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "required": ["description", "status"], + "description": "State of the private endpoint connection." + }, + "ScopedResourceProperties": { + "type": "object", + "properties": { + "linkedResourceId": { + "type": "string", + "description": "The resource id of the scoped Azure monitor resource." + } + }, + "description": "Properties of a private link scoped resource." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 02222b952c..1eff6b113e 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -6268,6 +6268,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-17-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_scopedResources" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-07-01-preview/Microsoft.Insights.json#/resourceDefinitions/privateLinkScopes_scopedResources" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.Insights.json#/resourceDefinitions/dataCollectionRules" }, diff --git a/tools/templateTests/Template_1.2014-01-01-preview.json b/tools/templateTests/Template_1.2014-01-01-preview.json index b694529ef0..613d65e7eb 100644 --- a/tools/templateTests/Template_1.2014-01-01-preview.json +++ b/tools/templateTests/Template_1.2014-01-01-preview.json @@ -768,6 +768,24 @@ "properties": { } }, + { + "name": "[parameters('privateLinkScopeName1')]", + "type": "microsoft.insights/privateLinkScopes", + "location": "global", + "apiVersion": "2021-07-01-preview", + "dependsOn": [ + "[parameters('privateLinkScopeName1')]" + ], + "tags": { + "displayName": "Azure Monitor Private Link Scope" + }, + "properties": { + "accessModeSettings": { + "queryAccessMode": "Open", + "ingestionAccessMode": "PrivateOnly" + } + } + }, { "name": "nested", "type": "Microsoft.Resources/deployments", diff --git a/tools/templateTests/Template_1.2015-01-01.json b/tools/templateTests/Template_1.2015-01-01.json index 7288430e5e..376cbf77c7 100644 --- a/tools/templateTests/Template_1.2015-01-01.json +++ b/tools/templateTests/Template_1.2015-01-01.json @@ -780,6 +780,24 @@ "properties": { } }, + { + "name": "[parameters('privateLinkScopeName1')]", + "type": "microsoft.insights/privateLinkScopes", + "location": "global", + "apiVersion": "2021-07-01-preview", + "dependsOn": [ + "[parameters('privateLinkScopeName1')]" + ], + "tags": { + "displayName": "Azure Monitor Private Link Scope" + }, + "properties": { + "accessModeSettings": { + "queryAccessMode": "Open", + "ingestionAccessMode": "PrivateOnly" + } + } + }, { "name": "nested", "type": "Microsoft.Resources/deployments",