Definitions for @turbot/azure

api-version

{
"anyOf": [
{
"type": "string",
"pattern": "(\\d{4}-\\d{2}-\\d{2}-[a-z]+)"
},
{
"type": "string",
"pattern": "(\\d{4}-\\d{2}-\\d{2})"
}
],
"tests": [
{
"input": "2015-12-01-preview"
},
{
"description": "Invalid - cannot end with period",
"input": "ind008.",
"expected": false
},
{
"description": "Invalid - cannot contain special character",
"input": "ind008$",
"expected": false
},
{
"description": "Invalid - cannot start with alphabet",
"input": "I018-01-18",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/api-version",
"modUri": "tmod:@turbot/azure"
}
}

azure

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"title": {
"const": "Azure"
}
}
}
],
"tests": [
{
"description": "azure",
"input": {
"title": "Azure"
}
},
{
"description": "invalid - non-matching provider name",
"input": {
"title": "Azure1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/azure",
"modUri": "tmod:@turbot/azure"
}
}

azureMetadata

{
"type": "object",
"properties": {
"tenantId": {
"$ref": "#/definitions/tenantId"
},
"subscriptionId": {
"$ref": "#/definitions/subscriptionId"
},
"resourceGroupName": {
"$ref": "#/definitions/resourceGroupName"
},
"regionName": {
"$ref": "#/definitions/regionName"
},
"managementGroupId": {
"$ref": "#/definitions/managementGroupId"
}
},
"additionalProperties": false,
"tests": [
{
"input": {
"tenantId": "0fae5aaa-caaf-4aa4-9aa3-aaaaaa9fd8f8",
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b",
"regionName": "uksouth",
"managementGroupId": "turbot-dev-saas"
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/azureMetadata",
"modUri": "tmod:@turbot/azure"
}
}

cidrArray

{
"description": "An array of IPv4 CIDR blocks.",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/cidrBlock"
},
"tests": [
{
"description": "one cidr block provided",
"input": [
"0.0.0.0/0"
]
},
{
"description": "two cidr blocks provided",
"input": [
"1.1.1.1/32",
"1.1.1.2/32"
]
},
{
"description": "no cidr blocks provided",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/cidrArray",
"modUri": "tmod:@turbot/azure"
}
}

cidrBlock

{
"description": "An IPv4 CIDR block.",
"type": "string",
"pattern": "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/[0-9]{1,2}$",
"tests": [
{
"description": "all zero octects and prefix.",
"input": "0.0.0.0/0"
},
{
"description": "invalid - missing first octect",
"input": "0.0.0/0",
"expected": false
},
{
"description": "invalid - missing prefix",
"input": "0.0.0.0/",
"expected": false
},
{
"description": "invalid - prefix too many digits",
"input": "0.0.0.0/123",
"expected": false
},
{
"description": "invalid - octect too many digits",
"input": "1234.0.0.0/0",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/cidrBlock",
"modUri": "tmod:@turbot/azure"
}
}

displayName

{
"type": "string",
"tests": [
{
"description": "base case",
"input": "CSE Legolas"
},
{
"input": "Stacy AAA"
},
{
"decsription": "invalid - array passed",
"input": [
"bananaman"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/displayName",
"modUri": "tmod:@turbot/azure"
}
}

fullyQualifiedId

{
"type": "string",
"pattern": "^/tenant/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
"tests": [
{
"input": "/tenant/00000000-0000-0000-0000-000000000000"
},
{
"description": "invalid - pattern should not contain special character",
"input": "/tenant/12345678-a12b-c34d-e56f+bcdefab1234",
"expected": false
},
{
"description": "invalid - should not contain underscore",
"input": "/tenant/12345678-a12b-c34d-e56f_abcdefab1234",
"expected": false
},
{
"description": "invalid - should not start with uppercase",
"input": "/tenant/A61498f8-9caa-42de-9f6e-532bd0fe9f9b",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/fullyQualifiedId",
"modUri": "tmod:@turbot/azure"
}
}

groupId

{
"type": "string",
"pattern": "^/providers/Microsoft.Management/managementGroups/[a-zA-Z0-9._()-]{1,89}[a-zA-Z0-9_()-]$",
"tests": [
{
"description": "base",
"input": "/providers/Microsoft.Management/managementGroups/test_01"
},
{
"description": "invalid - should not contain special characters",
"input": "/providers/Microsoft.Management/managementGroups/test@011",
"expected": false
},
{
"description": "invalid - should not be empty",
"input": "/providers/Microsoft.Management/managementGroups/",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/groupId",
"modUri": "tmod:@turbot/azure"
}
}

groupName

{
"type": "string",
"pattern": "^[a-zA-Z0-9._()-]{0,89}[a-zA-Z0-9_()-]$",
"tests": [
{
"description": "base",
"input": "test_01"
},
{
"description": "invalid - should not contain special characters",
"input": "test@011",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/groupName",
"modUri": "tmod:@turbot/azure"
}
}

Id

{
"type": "string",
"pattern": "/subscriptions/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}",
"tests": [
{
"input": "/subscriptions/12345678-a12b-c34d-e56f-abcdefab1234"
},
{
"input": "/subscriptions/00000000-0000-0000-0000-000000000000"
},
{
"description": "invalid - pattern should not contain special character",
"input": "/subscriptions/12345678-a12b-c34d-e56f+bcdefab1234",
"expected": false
},
{
"description": "invalid - should not contain underscore",
"input": "/subscriptions/12345678-a12b-c34d-e56f_abcdefab1234",
"expected": false
},
{
"description": "invalid - should not start with uppercase",
"input": "/subscriptions/A61498f8-9caa-42de-9f6e-532bd0fe9f9b",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/Id",
"modUri": "tmod:@turbot/azure"
}
}

ip4Address

{
"type": "string",
"pattern": "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$",
"tests": [
{
"description": "valid - ip4Address",
"input": "192.168.1.152"
},
{
"description": "valid - ip4Address1",
"input": "192.168.123.152"
},
{
"description": "invalid - too short",
"input": "192.168.1",
"expected": false
},
{
"description": "invalid - too long",
"input": "192.168.123.152.123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/ip4Address",
"modUri": "tmod:@turbot/azure"
}
}

ipv6CidrBlock

{
"type": "string",
"pattern": "^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$",
"tests": [
{
"input": "::/0"
},
{
"input": "2600:1f18:2368:f300::/56"
},
{
"input": "2001:db8:1234:1a00:3304:8879:34cf:4071"
},
{
"description": "invalid - ipv4 provided",
"input": "10.0.0.1/8",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/ipv6CidrBlock",
"modUri": "tmod:@turbot/azure"
}
}

managedById

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/managedById",
"modUri": "tmod:@turbot/azure"
}
}

managementGroup

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/groupId"
},
"name": {
"$ref": "#/definitions/groupName"
},
"displayName": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/managementGroupAka"
}
},
"title": {
"$ref": "#/definitions/groupName"
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "base",
"input": {
"name": "test",
"id": "/providers/Microsoft.Management/managementGroups/test01",
"turbot": {
"akas": [
"azure:///tenants/12345678-a12b-c34d-e56f-abcdefab1234/providers/Microsoft.Management/managementGroups/test01",
"azure:///tenants/12345678-a12b-c34d-e56f-abcdefab1234/providers/microsoft.management/managementgroups/test01"
],
"title": "test",
"custom": {
"azure": {
"tenantId": "12345678-a12b-c34d-e56f-abcdefab1234"
}
}
}
}
},
{
"description": "invalid - required property name no provided",
"input": {
"turbot": {
"akas": [
"azure:///providers/Microsoft.Management/managementGroups/test"
],
"title": "test",
"custom": {
"azure": {
"tenantId": "12345678-a12b-c34d-e56f-abcdefab1234"
}
}
}
},
"expected": false
},
{
"description": "invalid - turbot data not provided",
"input": {
"name": "test",
"id": "test01"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/managementGroup",
"modUri": "tmod:@turbot/azure"
}
}

managementGroupAka

{
"type": "string",
"pattern": "^azure:///tenants/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/providers/(microsoft.management|Microsoft.Management)/(managementgroups|managementGroups)/[a-zA-Z0-9._()-]{1,89}[a-zA-Z0-9_()-]$",
"tests": [
{
"description": "valid - base",
"input": "azure:///tenants/cdffd708-7da0-4cea-abeb-0a4cabcd1234/providers/microsoft.management/managementgroups/test"
},
{
"description": "invalid - azure prefix not provided",
"input": "tenants/00000000-0000-0000-0000-000000000000/providers/Microsoft.Management/managementGroups/test",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/managementGroupAka",
"modUri": "tmod:@turbot/azure"
}
}

managementGroupId

{
"type": "string",
"pattern": "^[a-zA-Z0-9._()-]{1,89}[a-zA-Z0-9_()-]$",
"tests": [
{
"description": "base",
"input": "test_01"
},
{
"description": "invalid - should not contain special characters",
"input": "test@011",
"expected": false
},
{
"description": "invalid - can't end with '.'",
"input": "Test.",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/managementGroupId",
"modUri": "tmod:@turbot/azure"
}
}

regionListAll

{
"type": "array",
"items": {
"$ref": "#/definitions/regionName"
},
"minItems": 1,
"example": [
[
"westus",
"westus2"
]
],
"default": [
"australiacentral",
"australiacentral2",
"australiaeast",
"australiasoutheast",
"brazilsouth",
"canadacentral",
"canadaeast",
"centralindia",
"centralus",
"eastasia",
"eastus",
"eastus2",
"francecentral",
"francesouth",
"germanynorth",
"japaneast",
"japanwest",
"koreacentral",
"koreasouth",
"northcentralus",
"northeurope",
"norwayeast",
"norwaywest",
"southafricawest",
"southcentralus",
"southeastasia",
"southindia",
"switzerlandnorth",
"switzerlandwest",
"uaecentral",
"uksouth",
"ukwest",
"usdodcentral",
"usdodeast",
"usgovarizona",
"usgoviowa",
"usgovtexas",
"usgovvirginia",
"westcentralus",
"westeurope",
"westindia",
"westus",
"westus2",
"chinanorth3",
"chinaeast",
"chinaeast2",
"chinaeast3",
"chinanorth",
"chinanorth2"
],
"tests": [
{
"description": "one region",
"input": [
"westus2"
]
},
{
"description": "all supported regions",
"input": [
"australiacentral",
"australiacentral2",
"australiaeast",
"australiasoutheast",
"brazilsouth",
"canadacentral",
"canadaeast",
"centralindia",
"centralus",
"eastasia",
"eastus",
"eastus2",
"francecentral",
"francesouth",
"germanynorth",
"japaneast",
"japanwest",
"koreacentral",
"koreasouth",
"northcentralus",
"northeurope",
"norwayeast",
"norwaywest",
"southafricawest",
"southcentralus",
"southeastasia",
"southindia",
"switzerlandnorth",
"switzerlandwest",
"uaecentral",
"uksouth",
"ukwest",
"usdodcentral",
"usdodeast",
"usgovarizona",
"usgoviowa",
"usgovtexas",
"usgovvirginia",
"westcentralus",
"westeurope",
"westindia",
"westus",
"westus2",
"chinanorth3",
"chinaeast",
"chinaeast2",
"chinaeast3",
"chinanorth",
"chinanorth2"
]
},
{
"description": "invalid - no regions",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/regionListAll",
"modUri": "tmod:@turbot/azure"
}
}

regionName

{
"type": "string",
"enum": [
"australiacentral",
"australiacentral2",
"australiaeast",
"australiasoutheast",
"brazilsouth",
"canadacentral",
"canadaeast",
"centralindia",
"centralus",
"eastasia",
"eastus",
"eastus2",
"francecentral",
"francesouth",
"germanynorth",
"germanywestcentral",
"japaneast",
"japanwest",
"koreacentral",
"koreasouth",
"northcentralus",
"northeurope",
"norwayeast",
"norwaywest",
"southafricanorth",
"southafricawest",
"southcentralus",
"southeastasia",
"southindia",
"switzerlandnorth",
"switzerlandwest",
"uaecentral",
"uaenorth",
"uksouth",
"ukwest",
"usdodcentral",
"usdodeast",
"usgovarizona",
"usgoviowa",
"usgovtexas",
"usgovvirginia",
"westcentralus",
"westeurope",
"westindia",
"westus",
"westus2",
"chinanorth3",
"chinaeast",
"chinaeast2",
"chinaeast3",
"chinanorth",
"chinanorth2"
],
"tests": [
{
"input": "australiacentral"
},
{
"description": "invalid - aucentral",
"input": "aucentral",
"expected": false
},
{
"description": "invalid - au-north-1",
"input": "au-north-1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/regionName",
"modUri": "tmod:@turbot/azure"
}
}

regionNameMatcher

{
"type": "string",
"pattern": "^[a-z0-9?*]+$",
"default": "*",
"example": [
"*",
"us*",
"useast?",
"*east1"
],
"tests": [
{
"input": "*"
},
{
"input": "us*"
},
{
"input": "useast1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - us.+",
"input": "us.+",
"expected": false
},
{
"description": "invalid - us.*",
"input": "us.*",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/regionNameMatcher",
"modUri": "tmod:@turbot/azure"
}
}

regionNameMatcherList

{
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9?*]+$",
"default": "*",
"example": [
"*",
"us*",
"useast?",
"*east1"
],
"tests": [
{
"input": "*"
},
{
"input": "us*"
},
{
"input": "useast1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - us.+",
"input": "us.+",
"expected": false
},
{
"description": "invalid - us.*",
"input": "us.*",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/regionNameMatcher",
"modUri": "tmod:@turbot/azure"
}
},
"example": [
[
"useast?"
],
[
"eu*",
"us*"
],
[
"useast1",
"euwest1"
]
],
"tests": [
{
"input": []
},
{
"input": [
"*"
]
},
{
"input": [
"us*"
]
},
{
"input": [
"useast1"
]
},
{
"description": "invalid - empty region",
"input": [
""
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/regionNameMatcherList",
"modUri": "tmod:@turbot/azure"
}
}

resourceGroup

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/resourceGroupName"
},
"id": {
"$ref": "#/definitions/resourceGroupId"
},
"location": {
"$ref": "#/definitions/regionName"
},
"managedBy": {
"$ref": "#/definitions/managedById"
},
"properties": {
"$ref": "#/definitions/resourceGroupProperties"
},
"turbot": {
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/resourceGroupName"
},
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceGroupAka"
}
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "#/definitions/azureMetadata"
}
}
}
}
}
},
"tests": [
{
"description": "valid - base case",
"input": {
"name": "cloud-shell-storage-centralindia",
"turbot": {
"title": "cloud-shell-storage-centralindia",
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/cloud-shell-storage-centralindia"
],
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"regionName": "centralindia"
}
}
}
}
},
{
"description": "invalid - no resource group name",
"input": {
"turbot": {
"title": "cloud-shell-storage-centralindia",
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/cloud-shell-storage-centralindia"
],
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"regionName": "centralindia"
}
}
}
}
},
{
"description": "invalid - no turbot data",
"input": {
"name": "cloud-shell-storage-centralindia"
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/resourceGroup",
"modUri": "tmod:@turbot/azure"
}
}

resourceGroupAka

{
"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(?:Groups|groups)/[A-Za-z0-9-_().]*[A-Za-z0-9-_()]$",
"tests": [
{
"description": "base case",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/cloud-shell-storage-centralindia"
},
{
"description": "base case for lowercase resourceGroup name",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourcegroups/cloud-shell-storage-centralindia"
},
{
"description": "invalid - subscription ID too long",
"input": "azure:///subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea5aaa",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/resourceGroupAka",
"modUri": "tmod:@turbot/azure"
}
}

resourceGroupId

{
"type": "string",
"pattern": "^/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-_()]$",
"tests": [
{
"description": "base case",
"input": "/subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/cloud-shell-storage-centralindia"
},
{
"description": "invalid - subscription ID too long",
"input": "/subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea5aaa",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/resourceGroupId",
"modUri": "tmod:@turbot/azure"
}
}

resourceGroupName

{
"type": "string",
"pattern": "^[A-Za-z0-9-_().]*[A-Za-z0-9-_()]$",
"tests": [
{
"input": 111111111111
},
{
"input": "AAAaaa"
},
{
"input": "(hi_Test.Me-Please)"
},
{
"description": "invalid - can not end with .",
"input": "hi_Test.Me-Please.",
"expected": false
},
{
"description": "invalid - should not contain special character like $",
"input": "aaa$bbb",
"expected": false
},
{
"description": "invalid - should not start with special character",
"input": "(#hi_Test.Me-Please)",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/resourceGroupName",
"modUri": "tmod:@turbot/azure"
}
}

resourceGroupProperties

{
"type": "object",
"properties": {
"provisioningState": {
"type": "string"
}
},
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/resourceGroupProperties",
"modUri": "tmod:@turbot/azure"
}
}

resourceGroupServiceNow

{
"defaultColumns": {
"id": {
"column": "enabled",
"label": "ID"
},
"resource_group_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
},
"provisioning_state": {
"column": "enabled",
"label": "Provisioning State",
"path": "data.properties.provisioningState"
},
"region": {
"column": "enabled",
"label": "Region",
"path": "data.location"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"tags": {
"column": "enabled",
"label": "Tags",
"type": "string",
"size": 1000
},
"type": {
"column": "enabled",
"label": "Type"
}
},
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/resourceGroupServiceNow",
"modUri": "tmod:@turbot/azure"
}
}

subscription

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/Id"
},
"displayName": {
"$ref": "#/definitions/displayName"
},
"subscriptionId": {
"$ref": "#/definitions/subscriptionId"
},
"turbot": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/subscriptionAka"
}
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "#/definitions/azureMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "valid - base case",
"input": {
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b",
"turbot": {
"title": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b",
"akas": [
"azure:///subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
],
"custom": {
"azure": {
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
}
}
}
}
},
{
"description": "invalid - no subscription ID",
"input": {
"turbot": {
"title": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b",
"akas": [
"azure:///subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
],
"custom": {
"azure": {
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/subscription",
"modUri": "tmod:@turbot/azure"
}
}

subscriptionAka

{
"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}$",
"tests": [
{
"descritpion": "base case",
"input": "azure:///subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
},
{
"description": "invalid - account ID too long",
"input": "azure:///subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea51bjak",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/subscriptionAka",
"modUri": "tmod:@turbot/azure"
}
}

subscriptionId

{
"type": "string",
"pattern": "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}",
"tests": [
{
"input": "12345678-a12b-c34d-e56f-abcdefab1234"
},
{
"input": "00000000-0000-0000-0000-000000000000"
},
{
"description": "invalid - pattern should not contain special character",
"input": "12345678-a12b-c34d-e56f+bcdefab1234",
"expected": false
},
{
"description": "invalid - should not contain underscore",
"input": "12345678-a12b-c34d-e56f_abcdefab1234",
"expected": false
},
{
"description": "invalid - should not start with uppercase",
"input": "A61498f8-9caa-42de-9f6e-532bd0fe9f9b",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/subscriptionId",
"modUri": "tmod:@turbot/azure"
}
}

subscriptionServiceNow

{
"defaultColumns": {
"authorization_source": {
"column": "enabled",
"label": "Authorization Source"
},
"display_name": {
"column": "enabled",
"label": "Display Name"
},
"id": {
"column": "enabled",
"label": "ID"
},
"managed_by_tenants": {
"column": "enabled",
"label": "Managed By Tenants",
"type": "string",
"size": 1000
},
"state": {
"column": "enabled",
"label": "State"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"subscription_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
},
"subscription_policies": {
"column": "enabled",
"label": "Subscription Policies",
"type": "string",
"size": 1000
},
"tenant_id": {
"column": "enabled",
"label": "Tenant ID"
},
"type": {
"column": "enabled",
"label": "Type"
}
},
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/subscriptionServiceNow",
"modUri": "tmod:@turbot/azure"
}
}

tags

{
"type": "object",
"patternProperties": {
"^(?!.*[<>%&?/\\\\])(.{1,512}$)": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"description": "Valid - symbolic characters",
"input": "☼"
},
{
"description": "Valid - empty string",
"input": ""
},
{
"description": "Valid - unicode",
"input": "ª"
},
{
"description": "Valid - latin characters",
"input": "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ"
},
{
"description": "Valid - punctuation characters",
"input": "a!\"£$%^&*()_+{}[].:@~;'#<>?,./|\\¬`"
},
{
"description": "Valid - numeric characters",
"input": 1234567890
},
{
"description": "Valid - international characters",
"input": "küßî"
},
{
"description": "Valid - max length",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456"
},
{
"description": "Invalid - too long",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456E",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagValue",
"modUri": "tmod:@turbot/azure"
}
}
},
"additionalProperties": false,
"tests": [
{
"description": "Valid - base case",
"input": {
"foo": "some_value"
}
},
{
"description": "Valid - key min length",
"input": {
"a": "some_value"
}
},
{
"description": "Valid - key can start with international character",
"input": {
"üßî": "some_value"
}
},
{
"description": "Valid - key can start with numeric character",
"input": {
"1test": "some_value"
}
},
{
"description": "Valid - key max length",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12": "some_value"
}
},
{
"description": "Valid - punctuation characters",
"input": {
"a-`|¬'#{}": "some_value"
}
},
{
"description": "Valid - numeric characters",
"input": {
"1234567890": "some_value"
}
},
{
"description": "Valid - latin characters",
"input": {
"aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ": "some_value"
}
},
{
"description": "Valid - unicode",
"input": {
"ª": "some_value"
}
},
{
"description": "Invalid - key too long",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12E": "some_value"
},
"expected": false
},
{
"description": "Invalid - empty key",
"input": {
"": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain <",
"input": {
"a<b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain >",
"input": {
"a>b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain %",
"input": {
"a%b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain &",
"input": {
"a&b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain \\",
"input": {
"a\\b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain ?",
"input": {
"a?b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain /",
"input": {
"a/b": "some_value"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tags",
"modUri": "tmod:@turbot/azure"
}
}

tagsTemplateInput

{
"type": [
"array",
"object"
],
"anyOf": [
{
"type": "object",
"patternProperties": {
"^(?!.*[<>%&?/\\\\])(.{1,512}$)": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"description": "Valid - symbolic characters",
"input": "☼"
},
{
"description": "Valid - empty string",
"input": ""
},
{
"description": "Valid - unicode",
"input": "ª"
},
{
"description": "Valid - latin characters",
"input": "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ"
},
{
"description": "Valid - punctuation characters",
"input": "a!\"£$%^&*()_+{}[].:@~;'#<>?,./|\\¬`"
},
{
"description": "Valid - numeric characters",
"input": 1234567890
},
{
"description": "Valid - international characters",
"input": "küßî"
},
{
"description": "Valid - max length",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456"
},
{
"description": "Invalid - too long",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456E",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagValue",
"modUri": "tmod:@turbot/azure"
}
}
},
"additionalProperties": false,
"tests": [
{
"description": "Valid - base case",
"input": {
"foo": "some_value"
}
},
{
"description": "Valid - key min length",
"input": {
"a": "some_value"
}
},
{
"description": "Valid - key can start with international character",
"input": {
"üßî": "some_value"
}
},
{
"description": "Valid - key can start with numeric character",
"input": {
"1test": "some_value"
}
},
{
"description": "Valid - key max length",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12": "some_value"
}
},
{
"description": "Valid - punctuation characters",
"input": {
"a-`|¬'#{}": "some_value"
}
},
{
"description": "Valid - numeric characters",
"input": {
"1234567890": "some_value"
}
},
{
"description": "Valid - latin characters",
"input": {
"aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ": "some_value"
}
},
{
"description": "Valid - unicode",
"input": {
"ª": "some_value"
}
},
{
"description": "Invalid - key too long",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12E": "some_value"
},
"expected": false
},
{
"description": "Invalid - empty key",
"input": {
"": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain <",
"input": {
"a<b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain >",
"input": {
"a>b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain %",
"input": {
"a%b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain &",
"input": {
"a&b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain \\",
"input": {
"a\\b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain ?",
"input": {
"a?b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain /",
"input": {
"a/b": "some_value"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tags",
"modUri": "tmod:@turbot/azure"
}
},
{
"type": "array",
"items": {
"type": "object",
"patternProperties": {
"^(?!.*[<>%&?/\\\\])(.{1,512}$)": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"description": "Valid - symbolic characters",
"input": "☼"
},
{
"description": "Valid - empty string",
"input": ""
},
{
"description": "Valid - unicode",
"input": "ª"
},
{
"description": "Valid - latin characters",
"input": "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ"
},
{
"description": "Valid - punctuation characters",
"input": "a!\"£$%^&*()_+{}[].:@~;'#<>?,./|\\¬`"
},
{
"description": "Valid - numeric characters",
"input": 1234567890
},
{
"description": "Valid - international characters",
"input": "küßî"
},
{
"description": "Valid - max length",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456"
},
{
"description": "Invalid - too long",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456E",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagValue",
"modUri": "tmod:@turbot/azure"
}
}
},
"minProperties": 1,
"maxProperties": 1,
"additionalProperties": false,
"tests": [
{
"description": "Valid - base case",
"input": {
"foo": "some_value"
}
},
{
"description": "Valid - key min length",
"input": {
"a": "some_value"
}
},
{
"description": "Valid - key can start with international character",
"input": {
"üßî": "some_value"
}
},
{
"description": "Valid - key can start with numeric character",
"input": {
"1test": "some_value"
}
},
{
"description": "Valid - key max length",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12": "some_value"
}
},
{
"description": "Valid - punctuation characters",
"input": {
"a-`|¬'#{}": "some_value"
}
},
{
"description": "Valid - numeric characters",
"input": {
"1234567890": "some_value"
}
},
{
"description": "Valid - latin characters",
"input": {
"aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ": "some_value"
}
},
{
"description": "Valid - unicode",
"input": {
"ª": "some_value"
}
},
{
"description": "Invalid - key too long",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12E": "some_value"
},
"expected": false
},
{
"description": "Invalid - empty key",
"input": {
"": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain <",
"input": {
"a<b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain >",
"input": {
"a>b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain %",
"input": {
"a%b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain &",
"input": {
"a&b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain \\",
"input": {
"a\\b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain ?",
"input": {
"a?b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain /",
"input": {
"a/b": "some_value"
},
"expected": false
},
{
"description": "Invalid - below min properties",
"input": {},
"expected": false
},
{
"description": "Invalid - above max properties",
"input": {
"foo": "some_value",
"foo1": "bar1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagsTemplateTag",
"modUri": "tmod:@turbot/azure"
}
},
"minLength": 0,
"tests": [
{
"description": "Valid - empty list",
"input": []
},
{
"description": "Valid - single item",
"input": [
{
"foo": "some_value"
}
]
},
{
"description": "Valid - multiple items",
"input": [
{
"foo": "some_value"
},
{
"foo1": "some_value_1"
},
{
"foo2": "some_value_2"
}
]
},
{
"description": "Invalid - empty item",
"input": [
{
"foo": "some_value"
},
null,
{
"foo2": "some_value_2"
}
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagsTemplateTagList",
"modUri": "tmod:@turbot/azure"
}
}
],
"tests": [
{
"description": "valid - empty list",
"input": []
},
{
"description": "valid - single item",
"input": [
{
"foo": "bar"
}
]
},
{
"description": "valid - multiple items",
"input": [
{
"foo": "bar"
},
{
"foo1": "bar1"
},
{
"foo2": "bar2"
}
]
},
{
"description": "invalid - empty item",
"input": [
{
"foo": "bar"
},
null,
{
"foo2": "bar2"
}
],
"expected": false
},
{
"description": "valid - empty object",
"input": {}
},
{
"description": "valid - single property",
"input": {
"foo": "bar"
}
},
{
"description": "valid - multiple properties",
"input": {
"foo": "bar",
"foo2": "bar2"
}
},
{
"description": "invalid - wrong type",
"input": "hello",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagsTemplateInput",
"modUri": "tmod:@turbot/azure"
}
}

tagsTemplateTag

{
"type": "object",
"patternProperties": {
"^(?!.*[<>%&?/\\\\])(.{1,512}$)": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"description": "Valid - symbolic characters",
"input": "☼"
},
{
"description": "Valid - empty string",
"input": ""
},
{
"description": "Valid - unicode",
"input": "ª"
},
{
"description": "Valid - latin characters",
"input": "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ"
},
{
"description": "Valid - punctuation characters",
"input": "a!\"£$%^&*()_+{}[].:@~;'#<>?,./|\\¬`"
},
{
"description": "Valid - numeric characters",
"input": 1234567890
},
{
"description": "Valid - international characters",
"input": "küßî"
},
{
"description": "Valid - max length",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456"
},
{
"description": "Invalid - too long",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456E",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagValue",
"modUri": "tmod:@turbot/azure"
}
}
},
"minProperties": 1,
"maxProperties": 1,
"additionalProperties": false,
"tests": [
{
"description": "Valid - base case",
"input": {
"foo": "some_value"
}
},
{
"description": "Valid - key min length",
"input": {
"a": "some_value"
}
},
{
"description": "Valid - key can start with international character",
"input": {
"üßî": "some_value"
}
},
{
"description": "Valid - key can start with numeric character",
"input": {
"1test": "some_value"
}
},
{
"description": "Valid - key max length",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12": "some_value"
}
},
{
"description": "Valid - punctuation characters",
"input": {
"a-`|¬'#{}": "some_value"
}
},
{
"description": "Valid - numeric characters",
"input": {
"1234567890": "some_value"
}
},
{
"description": "Valid - latin characters",
"input": {
"aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ": "some_value"
}
},
{
"description": "Valid - unicode",
"input": {
"ª": "some_value"
}
},
{
"description": "Invalid - key too long",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12E": "some_value"
},
"expected": false
},
{
"description": "Invalid - empty key",
"input": {
"": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain <",
"input": {
"a<b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain >",
"input": {
"a>b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain %",
"input": {
"a%b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain &",
"input": {
"a&b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain \\",
"input": {
"a\\b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain ?",
"input": {
"a?b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain /",
"input": {
"a/b": "some_value"
},
"expected": false
},
{
"description": "Invalid - below min properties",
"input": {},
"expected": false
},
{
"description": "Invalid - above max properties",
"input": {
"foo": "some_value",
"foo1": "bar1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagsTemplateTag",
"modUri": "tmod:@turbot/azure"
}
}

tagsTemplateTagList

{
"type": "array",
"items": {
"type": "object",
"patternProperties": {
"^(?!.*[<>%&?/\\\\])(.{1,512}$)": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"description": "Valid - symbolic characters",
"input": "☼"
},
{
"description": "Valid - empty string",
"input": ""
},
{
"description": "Valid - unicode",
"input": "ª"
},
{
"description": "Valid - latin characters",
"input": "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ"
},
{
"description": "Valid - punctuation characters",
"input": "a!\"£$%^&*()_+{}[].:@~;'#<>?,./|\\¬`"
},
{
"description": "Valid - numeric characters",
"input": 1234567890
},
{
"description": "Valid - international characters",
"input": "küßî"
},
{
"description": "Valid - max length",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456"
},
{
"description": "Invalid - too long",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456E",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagValue",
"modUri": "tmod:@turbot/azure"
}
}
},
"minProperties": 1,
"maxProperties": 1,
"additionalProperties": false,
"tests": [
{
"description": "Valid - base case",
"input": {
"foo": "some_value"
}
},
{
"description": "Valid - key min length",
"input": {
"a": "some_value"
}
},
{
"description": "Valid - key can start with international character",
"input": {
"üßî": "some_value"
}
},
{
"description": "Valid - key can start with numeric character",
"input": {
"1test": "some_value"
}
},
{
"description": "Valid - key max length",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12": "some_value"
}
},
{
"description": "Valid - punctuation characters",
"input": {
"a-`|¬'#{}": "some_value"
}
},
{
"description": "Valid - numeric characters",
"input": {
"1234567890": "some_value"
}
},
{
"description": "Valid - latin characters",
"input": {
"aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ": "some_value"
}
},
{
"description": "Valid - unicode",
"input": {
"ª": "some_value"
}
},
{
"description": "Invalid - key too long",
"input": {
"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12E": "some_value"
},
"expected": false
},
{
"description": "Invalid - empty key",
"input": {
"": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain <",
"input": {
"a<b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain >",
"input": {
"a>b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain %",
"input": {
"a%b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain &",
"input": {
"a&b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain \\",
"input": {
"a\\b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain ?",
"input": {
"a?b": "some_value"
},
"expected": false
},
{
"description": "Invalid - key cannot contain /",
"input": {
"a/b": "some_value"
},
"expected": false
},
{
"description": "Invalid - below min properties",
"input": {},
"expected": false
},
{
"description": "Invalid - above max properties",
"input": {
"foo": "some_value",
"foo1": "bar1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagsTemplateTag",
"modUri": "tmod:@turbot/azure"
}
},
"minLength": 0,
"tests": [
{
"description": "Valid - empty list",
"input": []
},
{
"description": "Valid - single item",
"input": [
{
"foo": "some_value"
}
]
},
{
"description": "Valid - multiple items",
"input": [
{
"foo": "some_value"
},
{
"foo1": "some_value_1"
},
{
"foo2": "some_value_2"
}
]
},
{
"description": "Invalid - empty item",
"input": [
{
"foo": "some_value"
},
null,
{
"foo2": "some_value_2"
}
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagsTemplateTagList",
"modUri": "tmod:@turbot/azure"
}
}

tagValue

{
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"description": "Valid - symbolic characters",
"input": "☼"
},
{
"description": "Valid - empty string",
"input": ""
},
{
"description": "Valid - unicode",
"input": "ª"
},
{
"description": "Valid - latin characters",
"input": "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXyYzZ"
},
{
"description": "Valid - punctuation characters",
"input": "a!\"£$%^&*()_+{}[].:@~;'#<>?,./|\\¬`"
},
{
"description": "Valid - numeric characters",
"input": 1234567890
},
{
"description": "Valid - international characters",
"input": "küßî"
},
{
"description": "Valid - max length",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456"
},
{
"description": "Invalid - too long",
"input": "123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456E",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tagValue",
"modUri": "tmod:@turbot/azure"
}
}

tenant

{
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/tenantId"
},
"displayName": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/tenantAka"
}
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties given",
"input": {
"id": "/tenant/00000000-0000-0000-0000-000000000000",
"turbot": {
"title": "00000000-0000-0000-0000-000000000000",
"akas": [
"azure:///tenant/00000000-0000-0000-0000-000000000000"
],
"custom": {
"azure": {
"tenantId": "00000000-0000-0000-0000-000000000000"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tenant",
"modUri": "tmod:@turbot/azure"
}
}

tenantAka

{
"type": "string",
"pattern": "^azure:///tenants/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
"tests": [
{
"description": "base",
"input": "azure:///tenants/9e3548cf-17e2-4751-b87e-b72bdd2c77f7"
},
{
"description": "invalid service name",
"input": "azure:///tenant/9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"expected": false
},
{
"description": "invalid subscription id",
"input": "azure:///tenants/9e3548cf-17e2-4751-12345-b72bdd2c77f777777",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tenantAka",
"modUri": "tmod:@turbot/azure"
}
}

tenantId

{
"type": "string",
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
"tests": [
{
"input": "00000000-0000-0000-0000-000000000000"
},
{
"description": "invalid - pattern should not contain special character",
"input": "12345678-a12b-c34d-e56f+bcdefab1234",
"expected": false
},
{
"description": "invalid - should not contain underscore",
"input": "12345678-a12b-c34d-e56f_abcdefab1234",
"expected": false
},
{
"description": "invalid - should not start with uppercase",
"input": "A61498f8-9caa-42de-9f6e-532bd0fe9f9b",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tenantId",
"modUri": "tmod:@turbot/azure"
}
}

tenantServiceNow

{
"defaultColumns": {
"assigned_plans": {
"column": "enabled",
"label": "Assigned Plans"
},
"country": {
"column": "enabled",
"label": "Country"
},
"country_letter_code": {
"column": "enabled",
"label": "Country Letter Code"
},
"id": {
"column": "enabled",
"label": "ID"
},
"provisioned_plans": {
"column": "enabled",
"label": "Provisioned Plans"
},
"security_compliance_notification_mails": {
"column": "enabled",
"label": "Security Compliance Notification Mails"
},
"technical_notification_mails": {
"column": "enabled",
"label": "Technical Notification Mails"
},
"tenant_name": {
"column": "enabled",
"label": "Name",
"path": "data.displayName"
},
"tenant_type": {
"column": "enabled",
"label": "Tenant Type"
},
"verified_domains": {
"column": "enabled",
"label": "Verified Domains"
}
},
".turbot": {
"uri": "tmod:@turbot/azure#/definitions/tenantServiceNow",
"modUri": "tmod:@turbot/azure"
}
}