diff --git a/schemas/2022-01-25/Microsoft.GuestConfiguration.json b/schemas/2022-01-25/Microsoft.GuestConfiguration.json new file mode 100644 index 0000000000..2a69b9aff4 --- /dev/null +++ b/schemas/2022-01-25/Microsoft.GuestConfiguration.json @@ -0,0 +1,285 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-01-25/Microsoft.GuestConfiguration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.GuestConfiguration", + "description": "Microsoft GuestConfiguration Resource Types", + "resourceDefinitions": {}, + "extension_resourceDefinitions": { + "guestConfigurationAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-01-25" + ] + }, + "location": { + "type": "string", + "description": "Region where the VM is located." + }, + "name": { + "type": "string", + "description": "Name of the guest configuration assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GuestConfigurationAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Guest configuration assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.GuestConfiguration/guestConfigurationAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.GuestConfiguration/guestConfigurationAssignments" + } + }, + "definitions": { + "AssignmentInfo": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about the configuration." + } + }, + "description": "Information about the guest configuration assignment." + }, + "AssignmentReport": { + "type": "object", + "properties": { + "assignment": { + "oneOf": [ + { + "$ref": "#/definitions/AssignmentInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about the guest configuration assignment." + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResource" + }, + "description": "The list of resources for which guest configuration assignment compliance is checked." + }, + "vm": { + "oneOf": [ + { + "$ref": "#/definitions/VMInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about the VM." + } + } + }, + "AssignmentReportResource": { + "type": "object", + "properties": { + "reasons": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResourceComplianceReason" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Compliance reason and reason code for a resource." + } + }, + "description": "The guest configuration assignment resource." + }, + "AssignmentReportResourceComplianceReason": { + "type": "object", + "properties": {}, + "description": "Reason and code for the compliance of the guest configuration assignment resource." + }, + "ConfigurationInfo": { + "type": "object", + "properties": {}, + "description": "Information about the configuration." + }, + "ConfigurationParameter": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the configuration parameter." + }, + "value": { + "type": "string", + "description": "Value of the configuration parameter." + } + }, + "description": "Represents a configuration parameter." + }, + "GuestConfigurationAssignmentProperties": { + "type": "object", + "properties": { + "context": { + "type": "string", + "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy" + }, + "guestConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/GuestConfigurationNavigation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules." + }, + "latestAssignmentReport": { + "oneOf": [ + { + "$ref": "#/definitions/AssignmentReport" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vmssVMList": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VMSSVMInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of VM Compliance data for VMSS" + } + }, + "description": "Guest configuration assignment properties." + }, + "GuestConfigurationNavigation": { + "type": "object", + "properties": { + "assignmentType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Audit", + "DeployAndAutoCorrect", + "ApplyAndAutoCorrect", + "ApplyAndMonitor" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the assignment type and execution of the configuration. Possible values are Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect and ApplyAndMonitor." + }, + "configurationParameter": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationParameter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration parameters for the guest configuration." + }, + "configurationProtectedParameter": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationParameter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protected configuration parameters for the guest configuration." + }, + "contentHash": { + "type": "string", + "description": "Combined hash of the guest configuration package and configuration parameters." + }, + "contentUri": { + "type": "string", + "description": "Uri of the storage where guest configuration package is uploaded." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DSC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kind of the guest configuration. For example:DSC." + }, + "name": { + "type": "string", + "description": "Name of the guest configuration." + }, + "version": { + "type": "string", + "description": "Version of the guest configuration." + } + }, + "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules." + }, + "VMInfo": { + "type": "object", + "properties": {}, + "description": "Information about the VM." + }, + "VMSSVMInfo": { + "type": "object", + "properties": {}, + "description": "Information about VMSS VM" + } + } +} \ No newline at end of file