Definitions for @turbot/azure-compute

availabilitySet

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/name"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"location": {
"$ref": "azure#/definitions/regionName"
},
"id": {
"type": "string"
},
"platformUpdateDomainCount": {
"type": "integer"
},
"platformFaultDomainCount": {
"type": "integer"
},
"virtualMachines": {
"type": "array"
},
"sku": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/availabilitySetAka"
}
},
"title": {
"$ref": "#/definitions/name"
},
"custom": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Base - All valid Properties",
"input": {
"name": "billi",
"id": "/subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/availabilitySets/billi",
"location": "centralus",
"tags": {
"batak": "hello",
"kolkata": "new"
},
"platformUpdateDomainCount": 5,
"platformFaultDomainCount": 2,
"virtualMachines": [],
"sku": {
"name": "Aligned"
},
"turbot": {
"akas": [
"azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/availabilitySets/billi"
],
"title": "billi",
"tags": {
"batak": "hello",
"kolkata": "new"
},
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "test"
}
}
}
}
},
{
"description": "Invalid - turbot data missing",
"input": {
"name": "test-"
},
"expected": false
},
{
"description": "Invalid - name missing",
"input": {
"turbot": {
"akas": [
"azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/availabilitySets/test01"
],
"title": "test01",
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "dev"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/availabilitySet",
"modUri": "tmod:@turbot/azure-compute"
}
}

availabilitySetAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/resourceGroups/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/Microsoft.Compute/availabilitySets/([a-zA-Z0-9]){1}[a-zA-Z0-9._-]{2,78}([a-zA-Z0-9_]){1}$",
"tests": [
{
"descritpion": "base case",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/availabilitySets/billi"
},
{
"description": "invalid - Wrong Account id",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2chkjfhhdshfkndjfjkdsjh77f7/resourceGroups/test/providers/Microsoft.Compute/availabilitySets/test01",
"expected": false
},
{
"descritpion": "invalid - empty string passed",
"input": "",
"expected": false
},
{
"description": "invalid - Wrong service provider",
"input": "aws:///management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/availabilitySetAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

availabilitySetServiceNow

{
"defaultColumns": {
"id": {
"Label": "ID",
"column": "enabled"
},
"availability_set_name": {
"column": "enabled",
"path": "data.name"
},
"platform_fault_domain_count": {
"column": "enabled",
"type": "integer"
},
"platform_update_domain_count": {
"column": "enabled",
"type": "integer"
},
"proximity_placement_group_id": {
"column": "enabled",
"label": "Proximity Placement Group ID"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"sku_name": {
"column": "enabled",
"path": "data.sku.name"
},
"sku_tier": {
"column": "enabled",
"path": "data.sku.tier"
},
"sku_capacity": {
"type": "integer",
"column": "enabled",
"path": "data.sku.capacity"
},
"status": {
"column": "enabled",
"type": "string",
"path": "data.statuses",
"size": 1000
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"title": {
"column": "enabled",
"label": "Title"
},
"type": {
"column": "enabled"
},
"virtual_machines": {
"column": "enabled",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/availabilitySetServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

compute

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "Compute"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/computeAka"
}
},
"title": {
"const": "Compute"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Base - All Valid properties",
"input": {
"name": "Compute",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Compute/services/compute"
],
"title": "Compute",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7"
}
}
}
}
},
{
"description": "Invalid - Name",
"input": {
"name": "sql",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Compute/services/compute"
],
"title": "sql",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Service name missing",
"input": {
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Compute/services/compute"
],
"title": "Compute",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7"
}
}
}
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/compute",
"modUri": "tmod:@turbot/azure-compute"
}
}

computeAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/providers/Microsoft.Compute/services/compute$",
"tests": [
{
"description": "base",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Compute/services/compute"
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/computeAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

computeSshPublicKeyAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/(resourcegroups|resourceGroups)/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/(microsoft.compute|Microsoft.Compute)/(sshpublickeys|sshPublicKeys)/[A-Za-z][A-Za-z0-9-._]+[A-Za-z0-9]$",
"tests": [
{
"description": "base",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourcegroups/dev/providers/microsoft.compute/sshpublickeys/testvmss"
},
{
"description": "invalid aka",
"input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/compute.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/computeSshPublicKeyAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

disk

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/diskName"
},
"managedBy": {
"type": "string"
},
"diskState": {
"type": "string"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"sku": {
"type": "object"
},
"timeCreated": {
"type": "string"
},
"creationData": {
"type": "object"
},
"diskSizeGB": {
"type": "integer"
},
"provisioningState": {
"type": "string"
},
"diskIOPSReadWrite": {
"type": "integer"
},
"diskMBpsReadWrite": {
"type": "integer"
},
"burstingEnabled": {
"type": "boolean"
},
"completionPercent": {
"type": "integer"
},
"dataAccessAuthMode": {
"type": "string"
},
"diskAccessId": {
"type": "string"
},
"diskIOPSReadOnly": {
"type": "integer"
},
"diskMBpsReadOnly": {
"type": "integer"
},
"diskSizeBytes": {
"type": "integer"
},
"encryption": {
"type": "object"
},
"encryptionSettingsCollection": {
"type": "object"
},
"hyperVGeneration": {
"type": "string"
},
"maxShares": {
"type": "integer"
},
"networkAccessPolicy": {
"type": "string"
},
"optimizedForFrequentAttach": {
"type": "boolean"
},
"osType": {
"type": "string"
},
"propertyUpdatesInProgress": {
"type": "string"
},
"publicNetworkAccess": {
"type": "string"
},
"purchasePlan": {
"type": "string"
},
"securityProfile": {
"type": "object"
},
"shareInfo": {
"type": "object"
},
"supportedCapabilities": {
"type": "object"
},
"supportsHibernation": {
"type": "boolean"
},
"tier": {
"type": "string"
},
"uniqueId": {
"type": "string"
},
"zones": {
"type": "array"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/diskAka"
}
},
"title": {
"$ref": "#/definitions/diskName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "base case",
"input": {
"name": "Disk1",
"id": "/subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/disks/vedTest01",
"location": "eastus",
"tags": {
"ved1": "misra2"
},
"managedBy": "/subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/vedTest",
"sku": {
"name": "Premium_LRS",
"tier": "Premium"
},
"timeCreated": "2019-07-16T08:48:52.892Z",
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 32,
"provisioningState": "Succeeded",
"diskIOPSReadWrite": 120,
"diskMBpsReadWrite": 25,
"diskState": "Attached",
"turbot": {
"title": "Disk1",
"tags": {
"ved1": "misra2"
},
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/disks/disk1"
],
"custom": {
"azure": {
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
}
}
}
}
},
{
"description": "invalid case - missing name property",
"input": {
"turbot": {
"title": "Disk1",
"custom": {
"azure": {
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/disk",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/resourceGroups/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/Microsoft.Compute/disks/[A-Za-z0-9][A-Za-z0-9-_.]+[A-Za-z0-9_]$",
"tests": [
{
"description": "base - Valid case",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/rg1/providers/Microsoft.Compute/disks/disk1"
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskEncryptionSet

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/diskEncryptionSetName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"identity": {
"type": "object",
"properties": {
"principalId": {
"type": "string"
},
"tenantId": {
"type": "string"
}
}
},
"provisioningState": {
"type": "string"
},
"activeKey": {
"type": "object"
},
"encryptionType": {
"type": "object"
},
"federatedClientId": {
"type": "string"
},
"lastKeyRotationTimestamp": {
"type": "string"
},
"previousKeys": {
"type": "object"
},
"rotationToLatestKeyVersionEnabled": {
"type": "boolean"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/diskEncryptionSetAka"
}
},
"title": {
"$ref": "#/definitions/diskEncryptionSetName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "base case",
"input": {
"name": "testsumitset",
"id": "/subscriptions/fe74354d-5266-46c0-80b9-8ad4e3c20174/resourceGroups/fullAccess/providers/Microsoft.Compute/diskEncryptionSets/testsumitset",
"type": "Microsoft.Compute/diskEncryptionSets",
"location": "eastus",
"tags": {
"Thor": "Mjolnir"
},
"identity": {
"type": "SystemAssigned",
"principalId": "28c684a5-0e4a-451b-bc4f-0af586de70fd",
"tenantId": "cdffd708-7da0-4cea-abeb-0a4c334d7f64"
},
"properties": {
"activeKey": {
"sourceVault": {
"id": "/subscriptions/fe74354d-5266-46c0-80b9-8ad4e3c20174/resourceGroups/fullAccess/providers/Microsoft.KeyVault/vaults/testsumitvault"
},
"keyUrl": "https://testsumitvault.vault.azure.net/keys/testsumitkey/d8954c0e6a4a43228f5e6de2e467801d"
},
"provisioningState": "Succeeded"
},
"turbot": {
"title": "testsumitset",
"akas": [
"azure:///subscriptions/fe74354d-5266-46c0-80b9-8ad4e3c20174/resourceGroups/fullAccess/providers/Microsoft.Compute/diskEncryptionSets/testsumitset"
],
"tags": {
"Thor": "Mjolnir"
},
"custom": {
"azure": {
"subscriptionId": "fe74354d-5266-46c0-80b9-8ad4e3c20174",
"resourceGroupName": "fullAccess"
}
}
}
}
},
{
"description": "invalid case - missing name property",
"input": {
"turbot": {
"title": "testsumitset",
"akas": [
"azure:///subscriptions/fe74354d-5266-46c0-80b9-8ad4e3c20174/resourceGroups/fullAccess/providers/Microsoft.Compute/diskEncryptionSets/testsumitset"
],
"custom": {
"azure": {
"subscriptionId": "fe74354d-5266-46c0-80b9-8ad4e3c20174",
"resourceGroupName": "fullAccess"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskEncryptionSet",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskEncryptionSetAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/resource(?:G|g)roups/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/(?:M|m)icrosoft.(?:C|c)ompute/disk(?:E|e)ncryption(?:S|s)ets/[a-zA-Z0-9]{1}[a-zA-Z0-9_.-]{0,78}[a-zA-Z0-9_]$",
"tests": [
{
"description": "base - Valid case",
"input": "azure:///subscriptions/fe74354d-5266-46c0-80b9-8ad4e3c20174/resourceGroups/fullAccess/providers/Microsoft.Compute/diskEncryptionSets/testsumitset"
},
{
"description": "invalid - name can not contain at symbol",
"input": "azure:///subscriptions/fe74354d-5266-46c0-80b9-8ad4e3c20174/resourceGroups/fullAccess/providers/Microsoft.Compute/diskEncryptionSets/testsumit@set",
"expected": false
},
{
"description": "base - wrong subscription id",
"input": "azure:///subscriptions/e74354d-5266-46c0-80b9-8ad4e3c2asdas0174/resourceGroups/fullAccess/providers/Microsoft.Compute/diskEncryptionSets/testsumitset",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskEncryptionSetAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskEncryptionSetName

{
"type": "string",
"pattern": "^[a-zA-Z0-9]{1}[a-zA-Z0-9_.-]{0,78}[a-zA-Z0-9_]$",
"tests": [
{
"input": "123ComputeDiskEncryptionSet"
},
{
"input": "ComputeDiskEncryptionSet_"
},
{
"description": "invalid - can not contain at symbol",
"input": "Test@ComputeDiskEncryptionSet",
"expected": false
},
{
"description": "invalid - can not end with period",
"input": "ComputeDiskEncryptionSet.",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskEncryptionSetName",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskEncryptionSetServiceNow

{
"defaultColumns": {
"active_key_source_vault_id": {
"column": "enabled",
"label": "Active Key Source Vault ID",
"path": "data.activeKey.sourceVault.id"
},
"active_key_url": {
"column": "enabled",
"label": "Active Key URL",
"path": "data.activeKey.keyUrl"
},
"encryption_type": {
"column": "enabled"
},
"id": {
"column": "enabled",
"label": "ID"
},
"identity_principal_id": {
"column": "enabled",
"label": "Identity Principal ID",
"path": "data.identity"
},
"identity_tenant_id": {
"column": "enabled",
"label": "Identity Tenant ID",
"path": "data.tenantId"
},
"identity_type": {
"column": "enabled",
"path": "data.type"
},
"disk_encryption_set_name": {
"label": "Disk Encryption Set Name",
"column": "enabled",
"path": "data.name"
},
"previous_keys": {
"column": "enabled",
"type": "string",
"size": 1000
},
"provisioning_state": {
"column": "enabled"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"type": {
"column": "enabled"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskEncryptionSetServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskName

{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9-_.]+[A-Za-z0-9_]$",
"maxLength": 80,
"tests": [
{
"input": "Standard_LRS"
},
{
"input": "TEST_NAME"
},
{
"description": "invalid - space not allowed",
"input": "Standard LRS",
"expected": false
},
{
"description": "too long",
"input": "a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890_a1234567890",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskName",
"modUri": "tmod:@turbot/azure-compute"
}
}

diskServiceNow

{
"defaultColumns": {
"creation_data_gallery_image_reference_id": {
"column": "enabled",
"label": "Creation Data Gallery Image Reference ID",
"path": "data.creationData.galleryImageReference.id"
},
"creation_data_gallery_image_reference_lun": {
"column": "enabled",
"path": "data.creationData.galleryImageReference.lun",
"type": "integer"
},
"creation_data_image_reference_id": {
"column": "enabled",
"label": "Creation Data Image Reference ID",
"path": "data.creationData.imageReference.id"
},
"creation_data_image_reference_lun": {
"column": "enabled",
"path": "data.creationData.imageReference.lun"
},
"creation_data_option": {
"column": "enabled",
"path": "data.creationData.createOption"
},
"creation_data_source_resource_id": {
"column": "enabled",
"label": "Creation Data Source Resource ID",
"path": "data.creationData.sourceResourceId"
},
"creation_data_source_unique_id": {
"column": "enabled",
"label": "Creation Data Source Unique ID",
"path": "data.creationData.sourceUniqueId"
},
"creation_data_source_uri": {
"column": "enabled",
"label": "Creation Data Source URI",
"path": "data.creationData.sourceUri"
},
"creation_data_storage_account_id": {
"column": "enabled",
"label": "Creation Data Storage Account ID",
"path": "data.creationData.storageAccountId"
},
"creation_data_upload_size_bytes": {
"column": "enabled",
"type": "string",
"size": 200,
"path": "data.creationData.uploadSizeBytes"
},
"disk_access_id": {
"column": "enabled",
"label": "Disk Access ID"
},
"disk_mbps_read_only": {
"column": "enabled",
"type": "string",
"size": 200,
"label": "Disk MBps Read Only",
"path": "data.diskMBpsReadOnly"
},
"disk_mbps_read_write": {
"column": "enabled",
"type": "string",
"size": 200,
"label": "Disk MBps Read Write",
"path": "data.diskMBpsReadWrite"
},
"disk_iops_read_only": {
"column": "enabled",
"type": "string",
"size": 200,
"label": "Disk IOPS Read Only",
"path": "data.diskIOPSReadOnly"
},
"disk_iops_read_write": {
"column": "enabled",
"type": "string",
"size": 200,
"label": "Disk IOPS Read Write",
"path": "data.diskIOPSReadWrite"
},
"disk_size_bytes": {
"column": "enabled",
"type": "string",
"size": 200
},
"disk_size_gb": {
"column": "enabled",
"type": "string",
"size": 200,
"label": "Disk Size GB",
"path": "data.diskSizeGB"
},
"disk_state": {
"column": "enabled"
},
"encryption_disk_encryption_set_id": {
"column": "enabled",
"label": "Encryption Disk Encryption Set ID",
"path": "data.encryption.diskEncryptionSetId"
},
"encryption_settings_collection_enabled": {
"column": "enabled",
"type": "boolean",
"path": "data.encryptionSettingsCollection.enabled"
},
"encryption_settings_collection_settings": {
"column": "enabled",
"label": "Encryption Settings Collection Settings",
"type": "string",
"size": 1000,
"path": "data.encryptionSettingsCollection.encryptionSettings"
},
"encryption_settings_collection_version": {
"column": "enabled",
"path": "data.encryptionSettingsCollection.encryptionSettingsVersion"
},
"encryption_type": {
"column": "enabled",
"path": "data.encryption.type"
},
"hyper_v_generation": {
"column": "enabled"
},
"id": {
"column": "enabled",
"label": "ID"
},
"managed_by": {
"column": "enabled"
},
"managed_by_extended": {
"column": "enabled",
"type": "string",
"size": 1000
},
"max_shares": {
"column": "enabled",
"type": "integer"
},
"name": {
"column": "enabled"
},
"network_access_policy": {
"column": "enabled"
},
"os_type": {
"column": "enabled",
"label": "OS Type"
},
"provisioning_state": {
"column": "enabled"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"share_info": {
"column": "enabled",
"type": "string",
"size": 1000
},
"sku_name": {
"column": "enabled",
"path": "data.sku.name"
},
"sku_tier": {
"column": "enabled",
"path": "data.sku.tier"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"time_created": {
"column": "enabled"
},
"type": {
"column": "enabled"
},
"unique_id": {
"column": "enabled",
"label": "Unique ID"
},
"zones": {
"column": "enabled",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/diskServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

image

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/imageName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"sourceVirtualMachine": {
"type": "string"
},
"storageProfile": {
"type": "object"
},
"provisioningState": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/imageAka"
}
},
"title": {
"$ref": "#/definitions/imageName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"name": "testimage",
"id": "/subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/images/test01-image-20190813195015",
"location": "southeastasia",
"sourceVirtualMachine": {
"id": "/subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/test01"
},
"storageProfile": {
"osDisk": {
"osType": "Linux",
"osState": "Generalized",
"managedDisk": {
"id": "/subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Compute/disks/test01_OsDisk_1_93668e8daffc4606a68b7a6b3033c663"
},
"caching": "ReadWrite",
"diskSizeGB": 32,
"storageAccountType": "Standard_LRS"
},
"dataDisks": [],
"zoneResilient": false
},
"provisioningState": "Succeeded",
"tags": {
"goku": "vegeta"
},
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/images/testimage"
],
"title": "testimage",
"tags": {
"goku": "vegeta"
},
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
},
"createTimestamp": "2019-04-09T10:19:09.095Z"
}
}
}
},
{
"description": "invalid - name property is missing",
"input": {
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/images/testimage"
],
"title": "testimage",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
},
"createTimestamp": "2019-04-09T10:19:09.095Z"
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/image",
"modUri": "tmod:@turbot/azure-compute"
}
}

imageAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/resourceGroups/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/Microsoft.Compute/images/[A-Za-z][A-Za-z0-9-]+[A-Za-z0-9]$",
"tests": [
{
"description": "base",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/images/testimage"
},
{
"description": "invalid aka",
"input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/compute.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/imageAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

imageName

{
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9-_.]+[A-Za-z0-9_]$",
"tests": [
{
"description": "starts with number",
"input": "123Image"
},
{
"description": "starts with alpha character",
"input": "Image123"
},
{
"description": "contains hyphen",
"input": "test-image"
},
{
"description": "invalid - cannot contain at symbol",
"input": "Test@Image",
"expected": false
},
{
"description": "invalid - cannot end with period",
"input": "Image.",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/imageName",
"modUri": "tmod:@turbot/azure-compute"
}
}

imageServiceNow

{
"defaultColumns": {
"hyper_v_generation": {
"column": "enabled"
},
"id": {
"column": "enabled",
"label": "ID"
},
"image_name": {
"column": "enabled",
"label": "Image Name",
"path": "data.name"
},
"provisioning_state": {
"column": "enabled"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"source_virtual_machine_id": {
"column": "enabled",
"label": "Source Virtual Machine ID",
"path": "data.sourceVirtualMachine.id"
},
"storage_profile_data_disks": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.storageProfile.dataDisks"
},
"storage_profile_os_disk_blob_uri": {
"column": "enabled",
"label": "Storage Profile OS Disk Blob URI",
"path": "data.storageProfile.osDisk.blobUri"
},
"storage_profile_os_disk_caching": {
"column": "enabled",
"label": "Storage Profile OS Disk Caching",
"path": "data.storageProfile.osDisk.caching"
},
"storage_profile_os_disk_encryption_set": {
"column": "enabled",
"label": "Storage Profile OS Disk Encryption Set",
"path": "data.storageProfile.osDisk.diskEncryptionSet"
},
"storage_profile_os_disk_managed_disk_id": {
"column": "enabled",
"label": "Storage Profile OS Disk Managed Disk ID",
"path": "data.storageProfile.osDisk.managedDisk.id"
},
"storage_profile_os_disk_size_gb": {
"column": "enabled",
"type": "integer",
"label": "Storage Profile OS Disk Size GB",
"path": "data.storageProfile.osDisk.diskSizeGB"
},
"storage_profile_os_disk_snapshot_id": {
"column": "enabled",
"label": "Storage Profile OS Disk Snapshot ID",
"path": "data.storageProfile.osDisk.snapshot.id"
},
"storage_profile_os_disk_state": {
"column": "enabled",
"label": "Storage Profile OS Disk State",
"path": "data.storageProfile.osDisk.osState"
},
"storage_profile_os_disk_storage_account_type": {
"column": "enabled",
"label": "Storage Profile OS Disk Storage Account Type",
"path": "data.storageProfile.osDisk.storageAccountType"
},
"storage_profile_os_disk_type": {
"column": "enabled",
"label": "Storage Profile OS Disk Type",
"path": "data.storageProfile.osDisk.osType"
},
"storage_profile_zone_resilient": {
"column": "enabled",
"label": "Storage Profile Zone Resilient",
"type": "boolean",
"path": "data.storageProfile.zoneResilient"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"type": {
"column": "enabled"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/imageServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

name

{
"type": "string",
"pattern": "^([a-zA-Z0-9]){1}[a-zA-Z0-9._-]{2,78}([a-zA-Z0-9_]){1}$",
"tests": [
{
"descritpion": "base case",
"input": "billi123demo"
},
{
"description": "invalid - cannot use anything other than letters, numbers, periods, underscores, or dashes",
"input": "$%test&*",
"expected": false
},
{
"description": "invalid - first charecter cannot be a special charecter",
"input": "!@#TESTAPP",
"expected": false
},
{
"description": "invalid - last charecter can only be a letter,number or underscore",
"input": "test@!",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/name",
"modUri": "tmod:@turbot/azure-compute"
}
}

snapshot

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/snapshotName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"id": {
"type": "string"
},
"location": {
"type": "string"
},
"sku": {
"type": "object"
},
"timeCreated": {
"type": "string"
},
"creationData": {
"type": "object"
},
"diskSizeGB": {
"type": "integer"
},
"provisioningState": {
"type": "string"
},
"completionPercent": {
"type": "integer"
},
"dataAccessAuthMode": {
"type": "object"
},
"diskAccessId": {
"type": "string"
},
"diskSizeBytes": {
"type": "integer"
},
"diskState": {
"type": "string"
},
"encryption": {
"type": "object"
},
"encryptionSettingsCollection": {
"type": "object"
},
"hyperVGeneration": {
"type": "string"
},
"incremental": {
"type": "boolean"
},
"incrementalSnapshotFamilyId": {
"type": "string"
},
"networkAccessPolicy": {
"type": "string"
},
"osType": {
"type": "string"
},
"publicNetworkAccess": {
"type": "string"
},
"purchasePlan": {
"type": "string"
},
"securityProfile": {
"type": "object"
},
"supportedCapabilities": {
"type": "object"
},
"supportsHibernation": {
"type": "boolean"
},
"uniqueId": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/snapshotAka"
}
},
"title": {
"$ref": "#/definitions/snapshotName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "base case",
"input": {
"name": "123ComputeSnapshot",
"id": "/subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/test/providers/Microsoft.Compute/snapshots/puskar-snapshot",
"location": "eastus",
"sku": {
"name": "Standard_ZRS",
"tier": "Standard"
},
"timeCreated": "2019-08-12T12:52:12.306Z",
"osType": "Linux",
"creationData": {
"createOption": "Copy",
"sourceResourceId": "/subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/TEST/providers/Microsoft.Compute/disks/puskar-test02_disk1_9062a244ee8f459abb86668992496f34"
},
"disSizeGB": 30,
"provisioningState": "Succeeded",
"tags": {
"tom": "jery",
"bajaranjbali": "mahadev"
},
"turbot": {
"title": "123ComputeSnapshot",
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/snapshots/123ComputeSnapshot"
],
"tags": {
"tom": "jery",
"bajaranjbali": "mahadev"
},
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
},
{
"description": "invalid case - missing name property",
"input": {
"turbot": {
"title": "123ComputeSnapshot",
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/snapshots/123ComputeSnapshot"
],
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/snapshot",
"modUri": "tmod:@turbot/azure-compute"
}
}

snapshotAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/resourceGroups/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/Microsoft.Compute/snapshots/([A-Za-z0-9][A-Za-z0-9-_.]+[A-Za-z0-9_])$",
"tests": [
{
"description": "base - Valid case",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/rg1/providers/Microsoft.Compute/snapshots/123ComputeSnapshot"
},
{
"description": "invalid - snapshot name can not contain at symbol",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/rg1/providers/Microsoft.Compute/snapshots/Test@ComputeSnapshot",
"expected": false
},
{
"description": "base - wrong subscription id",
"input": "azure:///subscriptions/9e3548cf-1hbjsh7e2-4751-b87e-b72bjhdbsjhfdsjkkfndsfdd2c77f7/resourceGroups/rg1/providers/Microsoft.Compute/snapshots/123ComputeSnapshot",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/snapshotAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

snapshotName

{
"type": "string",
"pattern": "^([A-Za-z0-9][A-Za-z0-9-_.]+[A-Za-z0-9_])$",
"tests": [
{
"input": "123ComputeSnapshot"
},
{
"input": "ComputeSnapshot_"
},
{
"description": "invalid - can not contain at symbol",
"input": "Test@ComputeSnapshot",
"expected": false
},
{
"description": "invalid - can not end with period",
"input": "ComputeSnapshot.",
"expected": false
},
{
"description": "invalid - can not end with hyphen",
"input": "ComputeSnap.shot-",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/snapshotName",
"modUri": "tmod:@turbot/azure-compute"
}
}

snapshotServiceNow

{
"defaultColumns": {
"create_option": {
"column": "enabled",
"path": "data.creationData.createOption"
},
"disk_access_id": {
"column": "enabled",
"label": "Disk Access ID"
},
"disk_encryption_set_id": {
"column": "enabled",
"label": "Disk Encryption Set ID",
"path": "data.encryption.diskEncryptionSetId"
},
"disk_size_bytes": {
"type": "string",
"column": "enabled",
"size": 200
},
"disk_size_gb": {
"column": "enabled",
"path": "data.disSizeGB",
"type": "integer"
},
"encryption_setting_collection_enabled": {
"column": "enabled",
"type": "boolean",
"path": "data.encryptionSettingsCollection.enabled"
},
"encryption_setting_version": {
"column": "enabled",
"path": "data.encryptionSettingsCollection.encryptionSettingsVersion"
},
"encryption_settings": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.encryptionSettingsCollection.encryptionSettings"
},
"encryption_type": {
"column": "enabled",
"path": "data.encryption.type"
},
"gallery_image_reference_id": {
"column": "enabled",
"label": "Gallery Image Reference ID",
"path": "data.creationData.galleryImageReference.id"
},
"gallery_reference_lun": {
"column": "enabled",
"type": "integer",
"path": "data.creationData.galleryImageReference.lun"
},
"hyper_v_generation": {
"column": "enabled"
},
"id": {
"column": "enabled",
"label": "ID"
},
"image_reference_id": {
"column": "enabled",
"label": "Image Reference ID",
"path": "data.creationData.imageReference.id"
},
"image_reference_lun": {
"column": "enabled",
"type": "integer",
"path": "data.creationData.imageReference.lun"
},
"incremental": {
"column": "enabled",
"type": "boolean"
},
"snapshot_name": {
"column": "enabled",
"label": "Snapshot Name",
"path": "data.name"
},
"network_access_policy": {
"column": "enabled"
},
"os_type": {
"column": "enabled",
"label": "OS Type"
},
"provisioning_state": {
"column": "enabled"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"sku_name": {
"column": "enabled",
"path": "data.sku.name"
},
"sku_tier": {
"column": "enabled",
"path": "data.sku.tier"
},
"source_resource_id": {
"column": "enabled",
"label": "Source Resource ID",
"path": "data.creationData.sourceResourceId"
},
"source_unique_id": {
"column": "enabled",
"label": "Source Unique ID",
"path": "data.creationData.sourceUniqueId"
},
"source_uri": {
"column": "enabled",
"label": "Source URI",
"path": "data.creationData.sourceUri"
},
"storage_account_id": {
"column": "enabled",
"label": "Storage Account ID",
"path": "data.creationData.storageAccountId"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"time_created": {
"column": "enabled"
},
"type": {
"column": "enabled"
},
"unique_id": {
"column": "enabled",
"label": "Unique ID"
},
"upload_size_bytes": {
"column": "enabled",
"path": "data.creationData.uploadSizeBytes"
},
"virtual_machines": {
"column": "enabled",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/snapshotServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

sshPublicKey

{
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"location": {
"$ref": "azure#/definitions/regionName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"publicKey": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/computeSshPublicKeyAka"
}
},
"title": {
"type": "string"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
}
}
],
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"name": "test-ssh-key",
"location": "westus",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/sshPublicKeys/test-ssh-key"
],
"title": "test-ssh-key",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
},
{
"description": "invalid - name property is missing",
"input": {
"location": "westus",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/sshPublicKeys/"
],
"title": null,
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/sshPublicKey",
"modUri": "tmod:@turbot/azure-compute"
}
}

sshPublicKeyServiceNow

{
"defaultColumns": {
"id": {
"column": "enabled",
"label": "ID"
},
"ssh_public_key_name": {
"column": "enabled",
"label": "SSH Public Key Name",
"path": "data.name"
},
"public_key": {
"column": "enabled"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/sshPublicKeyServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

virtualMachine

{
"allOf": [
{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/vmName"
},
"title": {
"$ref": "#/definitions/vmName"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"location": {
"$ref": "azure#/definitions/regionName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"id": {
"type": "string"
},
"hardwareProfile": {
"type": "object",
"properties": {
"vmSize": {
"type": "string"
}
}
},
"storageProfile": {
"type": "object",
"properties": {
"imageReference": {
"type": "object"
},
"osDisk": {
"type": "object"
},
"dataDisks": {
"type": "array"
}
}
},
"osProfile": {
"type": "object",
"properties": {
"computerName": {
"type": "string"
},
"adminUsername": {
"type": "string"
},
"linuxConfiguration": {
"type": "object"
},
"secrets": {
"type": "array"
},
"allowExtensionOperations": {
"type": "boolean"
},
"requireGuestProvisionSignal": {
"type": "boolean"
}
}
},
"networkProfile": {
"type": "object",
"properties": {
"networkInterfaces": {
"type": "array"
}
}
},
"diagnosticsProfile": {
"type": "object",
"properties": {
"bootDiagnostics": {
"type": "object"
}
}
},
"provisioningState": {
"type": "string"
},
"vmId": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/virtualMachineAka"
}
},
"title": {
"type": "string"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
}
}
],
"additionalProperties": true,
"tests": [
{
"description": "all details provided",
"input": {
"name": "Npalird",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/virtualMachines/testvm"
],
"title": "testvm",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
},
{
"description": "invalid - name property is missing",
"input": {
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/virtualMachines/testvm"
],
"title": "testvm",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/virtualMachine",
"modUri": "tmod:@turbot/azure-compute"
}
}

virtualMachineAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/(resourcegroups|resourceGroups)/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/(microsoft.compute|Microsoft.Compute)/(virtualmachines|virtualMachines)/[A-Za-z][A-Za-z0-9-]+[A-Za-z0-9]$",
"tests": [
{
"description": "base",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourcegroups/dev/providers/microsoft.compute/virtualmachines/testvm"
},
{
"description": "invalid aka",
"input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/compute.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/virtualMachineAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

virtualMachineScaleSet

{
"allOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"location": {
"$ref": "azure#/definitions/regionName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"id": {
"type": "string"
},
"sku": {
"type": "object"
},
"singlePlacementGroup": {
"type": "boolean"
},
"upgradePolicy": {
"$ref": "#/definitions/vmssUpgradePolicy"
},
"virtualMachineProfile": {
"type": "object"
},
"provisioningState": {
"type": "string"
},
"overprovision": {
"type": "boolean"
},
"doNotRunExtensionsOnOverprovisionedVMs": {
"type": "boolean"
},
"platformFaultDomainCount": {
"type": "integer"
},
"hostGroup": {
"type": "object"
},
"zoneBalance": {
"type": "boolean"
},
"uniqueId": {
"type": "string"
},
"spotRestorePolicy": {
"type": "object"
},
"scaleInPolicy": {
"type": "object"
},
"additionalCapabilities": {
"type": "object"
},
"automaticRepairsPolicy": {
"type": "object"
},
"constrainedMaximumCapacity": {
"type": "boolean"
},
"orchestrationMode": {
"$ref": "#/definitions/vmssOrchestrationMode"
},
"priorityMixPolicy": {
"type": "object"
},
"proximityPlacementGroup": {
"type": "object"
},
"timeCreated": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/virtualMachineScaleSetAka"
}
},
"title": {
"type": "string"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
}
}
],
"additionalProperties": true,
"tests": [
{
"description": "Valid details provided",
"input": {
"name": "testVMSS",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS",
"type": "Microsoft.Compute/virtualMachineScaleSets",
"location": "westus",
"tags": [
{
"owner": "Niharika"
},
{
"env": "development"
}
],
"sku": [
{
"name": "Standard_D2s_v3"
},
{
"tier": "Standard"
},
{
"capacity": 4
}
],
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS"
],
"title": "testVMSS",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
},
{
"description": "Invalid - name property is missing",
"input": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS",
"type": "Microsoft.Compute/virtualMachineScaleSets",
"location": "westus",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS"
],
"title": "testVMSS",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/virtualMachineScaleSet",
"modUri": "tmod:@turbot/azure-compute"
}
}

virtualMachineScaleSetAka

{
"type": "string",
"pattern": "^azure:///subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/(resourcegroups|resourceGroups)/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]/providers/(microsoft.compute|Microsoft.Compute)/(virtualmachinescalesets|virtualMachineScaleSets)/[A-Za-z][A-Za-z0-9-]+[A-Za-z0-9]$",
"tests": [
{
"description": "base",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourcegroups/dev/providers/microsoft.compute/virtualmachinescalesets/testvmss"
},
{
"description": "invalid aka",
"input": "gcp://serviceusage.googleapis.com/projects/cse-legolas-2/services/compute.googleapis.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/virtualMachineScaleSetAka",
"modUri": "tmod:@turbot/azure-compute"
}
}

virtualMachineScaleSetServiceNow

{
"defaultColumns": {
"do_not_run_extensions_on_overprovisioned_vms": {
"column": "enabled",
"label": "Do Not Run Extensions On Overprovisioned VMs",
"type": "boolean",
"path": "data.doNotRunExtensionsOnOverprovisionedVMs"
},
"id": {
"column": "enabled",
"label": "ID"
},
"identity": {
"column": "enabled",
"type": "string",
"size": 1000
},
"region": {
"column": "enabled",
"path": "data.location"
},
"vm_scale_set_name": {
"column": "enabled",
"label": "VM Scale Set Name",
"path": "data.name"
},
"overprovision": {
"column": "enabled",
"type": "boolean"
},
"plan": {
"column": "enabled",
"type": "string",
"size": 1000
},
"provisioning_state": {
"column": "enabled"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"scale_in_policy": {
"column": "enabled",
"type": "string",
"size": 1000
},
"single_placement_group": {
"column": "enabled",
"type": "boolean"
},
"sku_name": {
"column": "enabled",
"path": "data.sku.name"
},
"sku_tier": {
"column": "enabled",
"path": "data.sku.tier"
},
"sku_capacity": {
"type": "integer",
"column": "enabled",
"path": "data.sku.capacity"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"type": {
"column": "enabled"
},
"unique_id": {
"column": "enabled"
},
"upgrade_policy": {
"column": "enabled",
"type": "string",
"size": 1000
},
"virtual_machine_diagnostics_profile": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.virtualMachineProfile.diagnosticsProfile"
},
"virtual_machine_extension_profile": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.virtualMachineProfile.extensionProfile"
},
"virtual_machine_network_profile": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.virtualMachineProfile.networkProfile"
},
"virtual_machine_os_profile": {
"column": "enabled",
"label": "Virtual Machine OS Profile",
"type": "string",
"size": 1000,
"path": "data.virtualMachineProfile.osProfile"
},
"virtual_machine_security_profile": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.virtualMachineProfile.securityProfile"
},
"virtual_machine_storage_profile": {
"column": "enabled",
"label": "Virtual Machine Storage Profile",
"type": "string",
"size": 1000,
"path": "data.virtualMachineProfile.storageProfile"
},
"zones": {
"column": "enabled",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/virtualMachineScaleSetServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

virtualMachineServiceNow

{
"defaultColumns": {
"additional_unattend_content": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.osProfile.windowsConfiguration.additionalUnattendContent"
},
"admin_user_name": {
"column": "enabled",
"path": "data.osProfile.adminUsername"
},
"allow_extension_operations": {
"column": "enabled",
"type": "boolean",
"path": "data.osProfile.allowExtensionOperations"
},
"availability_set_id": {
"column": "enabled",
"label": "Availability Set ID",
"path": "data.availabilitySet.id"
},
"billing_profile_max_price": {
"column": "enabled",
"label": "Billing Profile Max Price",
"path": "data.billingProfile.maxPrice"
},
"boot_diagnostics_enabled": {
"column": "enabled",
"type": "boolean",
"path": "data.diagnosticsProfile.bootDiagnostics.enabled"
},
"boot_diagnostics_storage_uri": {
"column": "enabled",
"label": "Boot Diagnostics Storage URI",
"path": "data.diagnosticsProfile.bootDiagnostics.storageUri"
},
"computer_name": {
"column": "enabled",
"label": "Computer Name",
"path": "data.osProfile.computerName"
},
"data_disks": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.storageProfile.dataDisks"
},
"disable_password_authentication": {
"column": "enabled",
"type": "boolean",
"path": "data.osProfile.linuxConfiguration.disablePasswordAuthentication"
},
"enable_automatic_updates": {
"column": "enabled",
"type": "boolean",
"path": "data.osProfile.windowsConfiguration.enableAutomaticUpdates"
},
"eviction_policy": {
"column": "enabled"
},
"id": {
"column": "enabled",
"label": "ID"
},
"identity": {
"column": "enabled",
"type": "string",
"size": 1000
},
"image_exact_version": {
"column": "enabled",
"path": "data.storageProfile.imageReference.exactVersion"
},
"image_id": {
"column": "enabled",
"label": "Image ID",
"path": "data.storageProfile.imageReference.id"
},
"image_offer": {
"column": "enabled",
"path": "data.storageProfile.imageReference.offer"
},
"image_publisher": {
"column": "enabled",
"path": "data.storageProfile.imageReference.publisher"
},
"image_sku": {
"column": "enabled",
"path": "data.storageProfile.imageReference.sku"
},
"image_version": {
"column": "enabled",
"path": "data.storageProfile.imageReference.version"
},
"linux_configuration_ssh_public_keys": {
"column": "enabled",
"label": "Linux Configuration SSH Public Keys",
"type": "string",
"size": 1000,
"path": "data.osProfile.linuxConfiguration.ssh.publicKeys"
},
"managed_disk_id": {
"column": "enabled",
"label": "Managed Disk ID",
"path": "data.storageProfile.osDisk.managedDisk.id"
},
"virtual_machine_name": {
"column": "enabled",
"label": "Virtual Machine Name",
"path": "data.name"
},
"network_interfaces": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.networkProfile.networkInterfaces"
},
"os_disk_caching": {
"column": "enabled",
"label": "OS Disk Caching",
"path": "data.storageProfile.osDisk.caching"
},
"os_disk_create_option": {
"column": "enabled",
"label": "OS Disk Create Option",
"path": "data.storageProfile.osDisk.createOption"
},
"os_disk_name": {
"column": "enabled",
"label": "OS Disk Name",
"path": "data.storageProfile.osDisk.name"
},
"os_disk_vhd_uri": {
"column": "enabled",
"label": "OS Disk VHD URI",
"path": "data.storageProfile.osDisk.vhd.uri"
},
"os_type": {
"column": "enabled",
"label": "OS Type",
"path": "data.storageProfile.osDisk.osType"
},
"patch_settings": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.osProfile.windowsConfiguration.patchSettings"
},
"priority": {
"column": "enabled"
},
"provision_vm_agent": {
"column": "enabled",
"label": "Provision VM Agent",
"type": "boolean",
"path": "data.osProfile.linuxConfiguration.provisionVMAgent"
},
"provision_vm_agent_windows": {
"column": "enabled",
"label": "Provision VM Agent Windows",
"type": "boolean",
"path": "data.osProfile.windowsConfiguration.provisionVMAgent"
},
"provisioning_state": {
"column": "enabled"
},
"region": {
"column": "enabled",
"path": "data.location"
},
"resource_group": {
"type": "string",
"size": 200,
"column": "enabled",
"path": "metadata.azure.resourceGroupName"
},
"secrets": {
"column": "enabled",
"type": "string",
"size": 1000,
"path": "data.osProfile.secrets"
},
"security_profile": {
"column": "enabled",
"type": "string",
"size": 1000
},
"size": {
"column": "enabled",
"label": "Size",
"path": "data.hardwareProfile.vmSize"
},
"statuses": {
"column": "enabled",
"type": "string",
"size": 1000
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"type": "string",
"size": 1000
},
"time_zone": {
"column": "enabled",
"path": "data.osProfile.windowsConfiguration.timeZone"
},
"type": {
"column": "enabled"
},
"ultra_ssd_enabled": {
"column": "enabled",
"label": "Ultra SSD Enabled",
"type": "boolean",
"path": "data.additionalCapabilities.ultraSSDEnabled"
},
"vm_id": {
"column": "enabled",
"label": "VM ID"
},
"win_rm": {
"column": "enabled",
"label": "Win RM",
"type": "string",
"size": 1000,
"path": "data.osProfile.windowsConfiguration.winRM"
},
"zones": {
"column": "enabled",
"type": "string",
"size": 1000
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/virtualMachineServiceNow",
"modUri": "tmod:@turbot/azure-compute"
}
}

vmName

{
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9-]+[A-Za-z0-9]$",
"tests": [
{
"description": "can start with lower or upper letter",
"input": "Npalird"
},
{
"description": "can end with number or latter",
"input": "VertualMachine0"
},
{
"description": "can contain with dash",
"input": "Vertual-Machine0"
},
{
"description": "invalid - can not contain any special character",
"input": "Vertual-Ma@chine0",
"expected": false
},
{
"description": "invalid - can not end with period",
"input": "Vertual-Machine0.",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/vmName",
"modUri": "tmod:@turbot/azure-compute"
}
}

vmssAutomaticOSUpgradePolicy

{
"type": "object",
"properties": {
"disableAutomaticRollback": {
"type": "boolean"
},
"enableAutomaticOSUpgrade": {
"type": "boolean"
},
"useRollingUpgradePolicy": {
"type": "boolean"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/vmssAutomaticOSUpgradePolicy",
"modUri": "tmod:@turbot/azure-compute"
}
}

vmssMode

{
"type": "string",
"enum": [
"Automatic",
"Manual",
"Rolling"
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/vmssMode",
"modUri": "tmod:@turbot/azure-compute"
}
}

vmssOrchestrationMode

{
"type": "string",
"enum": [
"Flexible",
"Uniform"
],
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/vmssOrchestrationMode",
"modUri": "tmod:@turbot/azure-compute"
}
}

vmssUpgradePolicy

{
"type": "object",
"properties": {
"mode": {
"$ref": "#/definitions/vmssMode"
},
"automaticOSUpgradePolicy": {
"$ref": "#/definitions/vmssAutomaticOSUpgradePolicy"
},
"rollingUpgradePolicy": {
"type": "object"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-compute#/definitions/vmssUpgradePolicy",
"modUri": "tmod:@turbot/azure-compute"
}
}