diff --git a/schemas/2023-09-01/Microsoft.Dashboard.json b/schemas/2023-09-01/Microsoft.Dashboard.json new file mode 100644 index 0000000000..59b36e33fd --- /dev/null +++ b/schemas/2023-09-01/Microsoft.Dashboard.json @@ -0,0 +1,849 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-09-01/Microsoft.Dashboard.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Dashboard", + "description": "Microsoft Dashboard Resource Types", + "resourceDefinitions": { + "grafana": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the grafana resource lives" + }, + "name": { + "type": "string", + "description": "The workspace name of Azure Managed Grafana." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedGrafanaProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the grafana resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/grafana_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/grafana_managedPrivateEndpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for grafana resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Dashboard/grafana" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Dashboard/grafana" + }, + "grafana_managedPrivateEndpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The managed private endpoint name of Azure Managed Grafana." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedPrivateEndpointModelProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the managed private endpoint." + }, + "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.Dashboard/grafana/managedPrivateEndpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Dashboard/grafana/managedPrivateEndpoints" + }, + "grafana_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01" + ] + }, + "name": { + "type": "string", + "description": "The private endpoint connection name of Azure Managed Grafana." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Dashboard/grafana/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Dashboard/grafana/privateEndpointConnections" + } + }, + "definitions": { + "AzureMonitorWorkspaceIntegration": { + "type": "object", + "properties": { + "azureMonitorWorkspaceResourceId": { + "type": "string", + "description": "The resource Id of the connected Azure Monitor Workspace." + } + }, + "description": "Integrations for Azure Monitor Workspace." + }, + "EnterpriseConfigurations": { + "type": "object", + "properties": { + "marketplaceAutoRenew": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "marketplacePlanId": { + "type": "string", + "description": "The Plan Id of the Azure Marketplace subscription for the Enterprise plugins" + } + }, + "description": "Enterprise settings of a Grafana instance" + }, + "GrafanaConfigurations": { + "type": "object", + "properties": { + "smtp": { + "oneOf": [ + { + "$ref": "#/definitions/Smtp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email server settings.\r\nhttps://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp" + } + }, + "description": "Server configurations of a Grafana instance" + }, + "GrafanaIntegrations": { + "type": "object", + "properties": { + "azureMonitorWorkspaceIntegrations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMonitorWorkspaceIntegration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios." + }, + "GrafanaPlugin": { + "type": "object", + "properties": {}, + "description": "Plugin of Grafana" + }, + "grafana_managedPrivateEndpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The managed private endpoint name of Azure Managed Grafana." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedPrivateEndpointModelProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the managed private endpoint." + }, + "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": [ + "managedPrivateEndpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Dashboard/grafana/managedPrivateEndpoints" + }, + "grafana_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-09-01" + ] + }, + "name": { + "type": "string", + "description": "The private endpoint connection name of Azure Managed Grafana." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Dashboard/grafana/privateEndpointConnections" + }, + "ManagedGrafanaProperties": { + "type": "object", + "properties": { + "apiKey": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The api key setting of the Grafana instance." + }, + "autoGeneratedDomainNameLabelScope": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TenantReuse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scope for dns deterministic name hash calculation." + }, + "deterministicOutboundIP": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a Grafana instance uses deterministic outbound IPs." + }, + "enterpriseConfigurations": { + "oneOf": [ + { + "$ref": "#/definitions/EnterpriseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enterprise settings of a Grafana instance" + }, + "grafanaConfigurations": { + "oneOf": [ + { + "$ref": "#/definitions/GrafanaConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server configurations of a Grafana instance" + }, + "grafanaIntegrations": { + "oneOf": [ + { + "$ref": "#/definitions/GrafanaIntegrations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "GrafanaIntegrations is a bundled observability experience (e.g. pre-configured data source, tailored Grafana dashboards, alerting defaults) for common monitoring scenarios." + }, + "grafanaMajorVersion": { + "type": "string", + "description": "The major Grafana software version to target." + }, + "grafanaPlugins": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GrafanaPlugin" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Installed plugin list of the Grafana instance. Key is plugin id, value is plugin definition." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the resource." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicate the state for enable or disable traffic over the public interface." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The zone redundancy setting of the Grafana instance." + } + }, + "description": "Properties specific to the grafana resource." + }, + "ManagedPrivateEndpointModelProperties": { + "type": "object", + "properties": { + "groupIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The group Ids of the managed private endpoint." + }, + "privateLinkResourceId": { + "type": "string", + "description": "The ARM resource ID of the resource for which the managed private endpoint is pointing to." + }, + "privateLinkResourceRegion": { + "type": "string", + "description": "The region of the resource to which the managed private endpoint is pointing to." + }, + "privateLinkServiceUrl": { + "type": "string", + "description": "The URL of the data store behind the private link service. It would be the URL in the Grafana data source configuration page without the protocol and port." + }, + "requestMessage": { + "type": "string", + "description": "User input request message of the managed private endpoint." + } + }, + "description": "Properties specific to the managed private endpoint." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private endpoint connection group ids." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "ResourceSku": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "Smtp": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable this to allow Grafana to send email. Default is false" + }, + "fromAddress": { + "type": "string", + "description": "Address used when sending out emails\r\nhttps://pkg.go.dev/net/mail#Address" + }, + "fromName": { + "type": "string", + "description": "Name to be used when sending out emails. Default is \"Azure Managed Grafana Notification\"\r\nhttps://pkg.go.dev/net/mail#Address" + }, + "host": { + "type": "string", + "description": "SMTP server hostname with port, e.g. test.email.net:587" + }, + "password": { + "type": "string", + "description": "Password of SMTP auth. If the password contains # or ;, then you have to wrap it with triple quotes" + }, + "skipVerify": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Verify SSL for SMTP server. Default is false\r\nhttps://pkg.go.dev/crypto/tls#Config" + }, + "startTLSPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "OpportunisticStartTLS", + "MandatoryStartTLS", + "NoStartTLS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "user": { + "type": "string", + "description": "User of SMTP auth" + } + }, + "description": "Email server settings.\r\nhttps://grafana.com/docs/grafana/v9.0/setup-grafana/configure-grafana/#smtp" + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 8dffb56f1e..8846b29eb0 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -9076,6 +9076,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.Dashboard.json#/resourceDefinitions/grafana_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-09-01/Microsoft.Dashboard.json#/resourceDefinitions/grafana" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-09-01/Microsoft.Dashboard.json#/resourceDefinitions/grafana_managedPrivateEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-09-01/Microsoft.Dashboard.json#/resourceDefinitions/grafana_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-01-01/Microsoft.DataBox.json#/resourceDefinitions/jobs" },