diff --git a/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfile.json b/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfile.json new file mode 100644 index 000000000000..6a1a7f1a38de --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfile.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-03", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "$expand": "ValidationProfile" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/locations/westus/Galleries/myGalleryName/Images/myGalleryImageName/Versions/1.0.0", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + }, + "excludeFromLatest": false + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS", + "excludeFromLatest": false + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "safetyProfile": { + "allowDeletionOfReplicatedLocations": false, + "reportedForPolicyViolation": true, + "policyViolations": [ + { + "category": "ImageFlaggedUnsafe", + "details": "This is the policy violation details." + } + ] + }, + "validationsProfile": { + "executedValidations": [ + { + "type": "LinuxSecurityBaseline", + "status": "failed", + "version": "beta", + "executionTime": "2018-01-01T00:00:00Z" + }, + { + "type": "AzCertify", + "status": "success", + "version": "10.0.4", + "executionTime": "2018-01-01T00:00:00Z" + } + ], + "platformAttributes": [ + { + "name": "source_image_publisher", + "value": "publishValue" + }, + { + "name": "source_image_offer", + "value": "OfferValue" + }, + { + "name": "source_image_sku", + "value": "SkuValue" + }, + { + "name": "source_image_version", + "value": "1.0.0" + } + ], + "validationEtag": "2018-01-01T00:00:00Z" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfileAndReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfileAndReplicationStatus.json new file mode 100644 index 000000000000..fb6c8af28baf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfileAndReplicationStatus.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-03-03", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "$expand": "ValidationProfile,ReplicationStatus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/locations/westus/Galleries/myGalleryName/Images/myGalleryImageName/Versions/1.0.0", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + }, + "excludeFromLatest": false + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS", + "excludeFromLatest": false + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "safetyProfile": { + "allowDeletionOfReplicatedLocations": false, + "reportedForPolicyViolation": true, + "policyViolations": [ + { + "category": "ImageFlaggedUnsafe", + "details": "This is the policy violation details." + } + ] + }, + "replicationStatus": { + "aggregatedState": "Completed", + "summary": [ + { + "region": "West US", + "state": "Completed", + "details": "", + "progress": 100 + }, + { + "region": "East US", + "state": "Completed", + "details": "", + "progress": 100 + } + ] + }, + "validationsProfile": { + "executedValidations": [ + { + "type": "LinuxSecurityBaseline", + "status": "failed", + "version": "beta", + "executionTime": "2018-01-01T00:00:00Z" + }, + { + "type": "AzCertify", + "status": "success", + "version": "10.0.4", + "executionTime": "2018-01-01T00:00:00Z" + } + ], + "platformAttributes": [ + { + "name": "source_image_publisher", + "value": "publishValue" + }, + { + "name": "source_image_offer", + "value": "OfferValue" + }, + { + "name": "source_image_sku", + "value": "SkuValue" + }, + { + "name": "source_image_version", + "value": "1.0.0" + } + ], + "validationEtag": "2018-01-01T00:00:00Z" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/gallery.json index ee051868398f..70f49d6f9e24 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/gallery.json +++ b/specification/compute/resource-manager/Microsoft.Compute/GalleryRP/stable/2024-03-03/gallery.json @@ -798,6 +798,12 @@ }, "Get a gallery image version with vhd as a source.": { "$ref": "./examples/galleryExamples/GalleryImageVersion_Get_WithVhdAsSource.json" + }, + "Get a gallery image version with validation profile.": { + "$ref": "./examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfile.json" + }, + "Get a gallery image version with validation profile and replication status.": { + "$ref": "./examples/galleryExamples/GalleryImageVersion_Get_WithValidationProfileAndReplicationStatus.json" } } }, @@ -3832,6 +3838,13 @@ "nextLink": { "type": "string", "description": "The uri to fetch the next page of galleries. Call ListNext() with this to fetch the next page of galleries." + }, + "securityProfile": { + "$ref": "#/definitions/ImageVersionSecurityProfile" + }, + "validationsProfile": { + "readOnly": true, + "$ref": "#/definitions/ValidationsProfile" } }, "required": [ @@ -4091,6 +4104,29 @@ } } }, + "ValidationsProfile": { + "type": "object", + "properties": { + "validationEtag": { + "type": "string", + "description": "The published time of the image version" + }, + "executedValidations": { + "type": "array", + "items": { + "$ref": "#/definitions/ExecutedValidation" + } + }, + "platformAttributes": { + "type": "array", + "items": { + "$ref": "#/definitions/PlatformAttribute" + }, + "description": "This specifies the pub, offer, sku and version of the image version metadata" + } + }, + "description": "This is the validations profile of a Gallery Image Version." + }, "UefiKey": { "type": "object", "description": "A UEFI key signature.", @@ -4131,6 +4167,43 @@ ], "description": "Specifies information about the gallery inVMAccessControlProfile that you want to create or update." }, + "ExecutedValidation": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property specifies the type of image version validation." + }, + "status": { + "type": "string", + "description": "This property specifies the status of the validationProfile of the image version." + }, + "version": { + "type": "string", + "description": "This property specifies the valid version of the validation." + }, + "executionTime": { + "type": "string", + "format": "date-time", + "description": "This property specifies the starting timestamp." + } + }, + "description": "This is the executed Validation." + }, + "PlatformAttribute": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property specifies the name of the platformAttributes. It could be either source_image_publisher or source_image_offer or source_image_sku or source_image_version" + }, + "value": { + "type": "string", + "description": "This property specifies the value of the corresponding name property." + } + }, + "description": "This is the platform attribute of the image version." + }, "GalleryInVMAccessControlProfileUpdate": { "type": "object", "properties": {