Definitions for @turbot/azure-storage

container

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/containerName"
},
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"etag": {
"type": "string"
},
"publicAccess": {
"type": "string"
},
"lastModifiedTime": {
"type": "string"
},
"leaseStatus": {
"type": "string"
},
"leaseState": {
"type": "string"
},
"legalHold": {
"type": "object"
},
"hasLegalHold": {
"type": "boolean"
},
"hasImmutabilityPolicy": {
"type": "boolean"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/containerAka"
}
},
"title": {
"$ref": "#/definitions/containerName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"accountName": {
"$ref": "#/definitions/storageAccountName"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Base - All valid Properties",
"input": {
"name": "chandratest",
"turbot": {
"akas": [
"azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/containers/test01"
],
"title": "chandratest",
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "test"
}
}
}
}
},
{
"description": "Invalid - Incorrect name",
"input": {
"name": "test-",
"turbot": {
"akas": [
"azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/containers/test01"
],
"title": "test-",
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "test"
}
}
}
},
"expected": false
},
{
"description": "Invalid - incorrect aka",
"input": {
"name": "chandratest",
"turbot": {
"akas": [
"chandratest.blob.core.windows.net/mycsomethingontainer?restype=container"
],
"title": "chandratest",
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "test"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/container",
"modUri": "tmod:@turbot/azure-storage"
}
}

containerAka

{
"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.Storage/storageAccounts/([a-z0-9]{3,24})/blobServices/default/containers/(?!.*--)[a-z0-9][a-z0-9-]{1,61}[^-]$",
"tests": [
{
"description": "Valid - Base",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/containers/test01"
},
{
"description": "Invalid - Incorrect container name",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/containers/test--01",
"expect": false
},
{
"description": "Invalid - wrong path",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/containotners/test01",
"expect": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/containerAka",
"modUri": "tmod:@turbot/azure-storage"
}
}

containerName

{
"type": "string",
"pattern": "^(?!.*--)[a-z0-9][a-z0-9-]{1,61}[^-]$",
"tests": [
{
"description": "Valid - Base",
"input": "chandra-test-03"
},
{
"description": "Invalid - Special chars not allowed",
"input": "čhandrætest03",
"expect": false
},
{
"description": "Invalid - consecutive hyphens not allowed",
"input": "chandra--test",
"expect": false
},
{
"description": "Invalid - too long",
"input": "sooooommmmmeeeeetttthhhhiiiiiiiinnnnnnngggggggggtttoooooooollloooonggghere",
"expect": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/containerName",
"modUri": "tmod:@turbot/azure-storage"
}
}

containerServiceNow

{
"defaultColumns": {
"account_name": {
"column": "enabled",
"label": "Account Name",
"path": "metadata.accountName"
},
"default_encryption_scope": {
"column": "enabled",
"label": "Default Encryption Scope",
"path": "data.defaultEncryptionScope"
},
"deleted": {
"column": "enabled",
"label": "Deleted",
"type": "boolean",
"path": "deleted"
},
"deny_encryption_scope_override": {
"column": "enabled",
"label": "Deny Encryption Scope Override",
"type": "boolean",
"path": "data.denyEncryptionScopeOverride"
},
"has_immutability_policy": {
"column": "enabled",
"label": "Has Immutability Policy",
"type": "boolean",
"path": "data.hasImmutabilityPolicy"
},
"has_legal_hold": {
"column": "enabled",
"label": "Has Legal Hold",
"type": "boolean",
"path": "data.hasLegalHold"
},
"id": {
"column": "enabled",
"label": "ID",
"path": "data.id"
},
"immutability_policy": {
"column": "enabled",
"label": "Immutability Policy",
"type": "string",
"size": 1000,
"path": "data.immutabilityPolicy"
},
"last_modified_time": {
"column": "enabled",
"label": "Last Modified Time",
"path": "data.lastModifiedTime"
},
"lease_duration": {
"column": "enabled",
"label": "Lease Duration",
"path": "data.leaseDuration"
},
"lease_state": {
"column": "enabled",
"label": "Lease State",
"path": "data.leaseState"
},
"lease_status": {
"column": "enabled",
"label": "Lease Status",
"path": "data.leaseStatus"
},
"legal_hold": {
"column": "enabled",
"label": "Legal Hold",
"type": "string",
"size": 1000,
"path": "data.legalHold"
},
"metadata": {
"column": "enabled",
"label": "Metadata",
"type": "string",
"size": 1000
},
"container_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
},
"public_access": {
"column": "enabled",
"label": "Public Access",
"path": "data.publicAccess"
},
"remaining_retention_days": {
"column": "enabled",
"label": "Remaining Retention Days",
"path": "data.remainingRetentionDays"
},
"resource_group": {
"column": "enabled",
"label": "Resource Group",
"path": "metadata.azure.resourceGroupName"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"type": {
"column": "enabled",
"label": "Type",
"path": "data.type"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/containerServiceNow",
"modUri": "tmod:@turbot/azure-storage"
}
}

fileShare

{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"$ref": "#/definitions/fileShareName"
},
"type": {
"type": "string"
},
"etag": {
"type": "string"
},
"lastModifiedTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"shareQuota": {
"type": "integer"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/fileShareAka"
}
},
"custom": {
"type": "object",
"properties": {
"accountName": {
"$ref": "#/definitions/storageAccountName"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "all properties provided",
"input": {
"name": "testfile",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test01/fileServices/default/shares/testfile1"
],
"custom": {
"accountName": "chandratestfile",
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
},
{
"description": "invalid - name missing",
"input": {
"turbot": {
"azure": {
"resourceGroupName": "ankur-dev",
"subscriptionId": "4a7939ca-f468-41b8-aa72-1651b9c321c4"
}
},
"api-version": "2018-02-14-preview",
"title": "integratedindia"
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/fileShare",
"modUri": "tmod:@turbot/azure-storage"
}
}

fileShareAka

{
"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.Storage/storageAccounts/([a-z0-9]{3,24})/fileServices/default/shares/(((?!.*--)[a-z0-9][a-z0-9-]*){3,63})$",
"tests": [
{
"descritpion": "base case",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test01/fileServices/default/shares/testfile1"
},
{
"description": "invalid - Wrong Account id",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2cqiho3uedwvcahcgsuaiyusadiguyv77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test01/fileshare/default/shares/testfile1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/fileShareAka",
"modUri": "tmod:@turbot/azure-storage"
}
}

fileShareName

{
"type": "string",
"pattern": "^(((?!.*--)[a-z0-9][a-z0-9-]*){3,63})$",
"tests": [
{
"input": "test01"
},
{
"input": "test-02"
},
{
"input": "0test-1"
},
{
"description": "invalid - cannot end with period",
"input": "ind008.",
"expected": false
},
{
"description": "invalid - cannot contain dollar character",
"input": "ind008$",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/fileShareName",
"modUri": "tmod:@turbot/azure-storage"
}
}

fileShareServiceNow

{
"defaultColumns": {
"access_tier": {
"column": "enabled",
"label": "Access Tier",
"path": "data.accessTier"
},
"access_tier_change_time": {
"column": "enabled",
"label": "Access Tier Change Time",
"path": "data.accessTierChangeTime"
},
"id": {
"column": "enabled",
"label": "ID",
"path": "data.id"
},
"last_modified_time": {
"column": "enabled",
"label": "Last Modified Time",
"path": "data.lastModifiedTime"
},
"metadata": {
"column": "enabled",
"label": "Metadata",
"type": "string",
"size": 1000,
"path": "data.metadata"
},
"file_share_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
},
"resource_group": {
"column": "enabled",
"label": "Resource Group",
"path": "metadata.azure.resourceGroupName"
},
"share_quota": {
"column": "enabled",
"label": "Share Quota",
"path": "data.shareQuota"
},
"storage_account_name": {
"column": "enabled",
"label": "Storage Account Name",
"path": "metadata.accountName"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"type": {
"column": "enabled",
"label": "Type",
"path": "data.type"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/fileShareServiceNow",
"modUri": "tmod:@turbot/azure-storage"
}
}

firewallIp

{
"type": "string",
"pattern": "\\b(?!(?:10\\.|172\\.(?:1[6-9]|2[0-9]|3[0-2])\\.|192\\.168\\.))((?:(?:2(?:[0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9])\\.){3}(?:(?:2(?:[0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9])))($|/([0-9]|[1-2][0-9]|3[0])$)\\b",
"tests": [
{
"input": "90.123.233.2/30"
},
{
"input": "34.192.235.43"
},
{
"input": "127.0.0.11"
},
{
"description": "Invalid - Not a valid IP address",
"input": "267.32.0.12",
"expected": false
},
{
"description": "Invalid - Private IP",
"input": "192.168.1.0",
"expected": false
},
{
"description": "Invalid - prefix must be smaller than or equal to 30.",
"input": "182.168.0.0/31",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/firewallIp",
"modUri": "tmod:@turbot/azure-storage"
}
}

queue

{
"type": "object",
"properties": {
"name": {
"$ref": "#/definitions/queueName"
},
"metadata": {
"type": "object"
},
"accessPolicies": {
"type": "array"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/queueAka"
}
},
"title": {
"$ref": "#/definitions/queueName"
},
"custom": {
"type": "object",
"properties": {
"accountName": {
"$ref": "#/definitions/storageAccountName"
},
"queueEndpoint": {
"type": "string"
},
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Base - All valid Properties",
"input": {
"name": "chandratest",
"turbot": {
"akas": [],
"title": "chandratest",
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "test"
}
}
}
}
},
{
"description": "Invalid - Incorrect name",
"input": {
"name": "test",
"turbot": {
"akas": [],
"title": "test12",
"custom": {
"azure": {
"subscriptionId": "3510ae4d-530b-497d-8f30-53b9616fc6c1",
"resourceGroupName": "test"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/queue",
"modUri": "tmod:@turbot/azure-storage"
}
}

queueAka

{
"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-_()]/providers/(?:Microsoft.Storage|microsoft.storage)/storage(?:Accounts|accounts)/([a-z0-9]{3,24})/queue(?:Services|services)/default/queue/(?!.*--)[a-z0-9][a-z0-9-]{1,61}[^-]$",
"tests": [
{
"description": "Valid - Base",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/queueServices/default/queue/test01"
},
{
"description": "Invalid - Incorrect container name",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/queue/test--01",
"expect": false
},
{
"description": "Invalid - wrong path",
"input": "azure:///subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/chandratest/blobServices/default/queue/test01",
"expect": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/queueAka",
"modUri": "tmod:@turbot/azure-storage"
}
}

queueName

{
"type": "string",
"pattern": "^(?!.*--)[a-z0-9][a-z0-9-]{1,61}[^-]$",
"tests": [
{
"description": "Valid - Base",
"input": "chandra-test-03"
},
{
"description": "Invalid - Special chars not allowed",
"input": "čhandrætest03",
"expect": false
},
{
"description": "Invalid - consecutive hyphens not allowed",
"input": "chandra--test",
"expect": false
},
{
"description": "Invalid - too long",
"input": "sooooommmmmeeeeetttthhhhiiiiiiiinnnnnnngggggggggtttoooooooollloooonggghere",
"expect": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/queueName",
"modUri": "tmod:@turbot/azure-storage"
}
}

queueServiceNow

{
"defaultColumns": {
"id": {
"column": "enabled",
"label": "ID",
"path": "data.id"
},
"metadata": {
"column": "enabled",
"label": "Metadata",
"type": "string",
"size": 1000,
"path": "data.metadata"
},
"queue_name": {
"column": "enabled",
"label": "Name",
"path": "data.name"
},
"resource_group": {
"column": "enabled",
"label": "Resource Group",
"path": "metadata.azure.resourceGroupName"
},
"storage_account_name": {
"column": "enabled",
"label": "Storage Account Name",
"path": "metadata.accountName"
},
"subscription_id": {
"column": "enabled",
"label": "Subscription ID",
"path": "metadata.azure.subscriptionId"
},
"type": {
"column": "enabled",
"label": "Type",
"path": "data.type"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/queueServiceNow",
"modUri": "tmod:@turbot/azure-storage"
}
}

serviceProperties

{
"type": "object",
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/serviceProperties",
"modUri": "tmod:@turbot/azure-storage"
}
}

storage

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "Storage"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/storageAka"
}
},
"title": {
"const": "Storage Service"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
}
}
}
}
}
},
"required": [
"name",
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "All details provided",
"input": {
"name": "Storage",
"turbot": {
"akas": [
"azure:///subscriptions/ec7a5a3a-4225-474f-9dbe-bf477c8ea51b/providers/Microsoft.Storage/services/storage"
],
"title": "Storage",
"custom": {
"azure": {
"subscriptionId": "ec7a5a3a-4225-474f-9dbe-bf477c8ea51b"
}
}
}
}
},
{
"description": "Invalid - Name is not as declared",
"input": {
"name": "storage",
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Storage/services/storage"
],
"title": "Storage",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Service name missing",
"input": {
"turbot": null,
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Sql/services/storage"
],
"title": "Storage",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7"
}
}
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storage",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccount

{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"$ref": "#/definitions/storageAccountName"
},
"type": {
"type": "string"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"location": {
"type": "string"
},
"sku": {
"$ref": "#/definitions/storageAccountSku"
},
"kind": {
"$ref": "#/definitions/storageAccountKind"
},
"provisioningState": {
"type": "string"
},
"primaryEndpoints": {
"type": "object"
},
"primaryLocation": {
"type": "string"
},
"statusOfPrimary": {
"type": "string"
},
"creationTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"encryption": {
"$ref": "#/definitions/storageAccountEncryption"
},
"accessTier": {
"$ref": "#/definitions/storageAccountAccessTier"
},
"enableHttpsTrafficOnly": {
"$ref": "#/definitions/storageAccountEnableHttpsTrafficOnly"
},
"networkRuleSet": {
"type": "object"
},
"serviceProperties": {
"$ref": "#/definitions/serviceProperties"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/storageAccountAka"
}
},
"title": {
"$ref": "#/definitions/storageAccountName"
},
"tags": {
"$ref": "azure#/definitions/tags"
},
"custom": {
"type": "object",
"properties": {
"azure": {
"$ref": "azure#/definitions/azureMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Base - All valid Properties",
"input": {
"name": "test01",
"encryption": {
"services": {
"blob": {
"enabled": true,
"lastEnabledTime": "2019-07-08T11:09:59.052Z"
},
"file": {
"enabled": true,
"lastEnabledTime": "2019-07-08T11:09:59.052Z"
}
},
"keySource": "Microsoft.Storage"
},
"enableHttpsTrafficOnly": false,
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test01"
],
"title": "test01",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
}
},
{
"description": "Invalid - Incorrect name",
"input": {
"name": "test-",
"encryption": {
"services": {
"blob": {
"enabled": true,
"lastEnabledTime": "2019-07-08T11:09:59.052Z"
},
"file": {
"enabled": true,
"lastEnabledTime": "2019-07-08T11:09:59.052Z"
}
},
"keySource": "Microsoft.Storage"
},
"enableHttpsTrafficOnly": false,
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test-"
],
"title": "test-",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Service name missing",
"input": {
"encryption": {
"services": {
"blob": {
"enabled": true,
"lastEnabledTime": "2019-07-08T11:09:59.052Z"
},
"file": {
"enabled": true,
"lastEnabledTime": "2019-07-08T11:09:59.052Z"
}
},
"keySource": "Microsoft.Storage"
},
"enableHttpsTrafficOnly": false,
"turbot": {
"akas": [
"azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test02"
],
"title": "test-02",
"custom": {
"azure": {
"subscriptionId": "9e3548cf-17e2-4751-b87e-b72bdd2c77f7",
"resourceGroupName": "dev"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccount",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountAccessTier

{
"type": "string",
"enum": [
"Hot",
"Cool"
],
"tests": [],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountAccessTier",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountAka

{
"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.Storage/storageAccounts/([a-z0-9]{3,24})$",
"tests": [
{
"descritpion": "base case",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test01"
},
{
"description": "invalid - Wrong Account id",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2cqiho3uedwvcahcgsuaiyusadiguyv77f7/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountAka",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountEnableHttpsTrafficOnly

{
"type": "boolean",
"tests": [],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountEnableHttpsTrafficOnly",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountEncryption

{
"type": "object",
"properties": {
"keyvaultproperties": {
"type": "object"
},
"services": {
"type": "object"
},
"keySource": {
"type": "string"
},
"requireInfrastructureEncryption": {
"type": "boolean"
}
},
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountEncryption",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountKind

{
"type": "string",
"enum": [
"BlobStorage",
"BlockBlobStorage",
"FileStorage",
"Storage",
"StorageV2"
],
"tests": [],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountKind",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountName

{
"type": "string",
"pattern": "^([a-z0-9]{3,24})$",
"tests": [
{
"input": "ind008"
},
{
"description": "invalid - cannot end with period",
"input": "ind008.",
"expected": false
},
{
"description": "invalid - cannot contain dollar character",
"input": "ind008$",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountName",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountServiceNow

{
"defaultColumns": {
"access_tier": {
"column": "enabled"
},
"allow_blob_public_access": {
"column": "enabled",
"type": "boolean"
},
"creation_time": {
"column": "enabled"
},
"enable_https_traffic_only": {
"column": "enabled",
"label": "Enable HTTPS Traffic Only",
"type": "boolean"
},
"encryption_key_source": {
"column": "enabled",
"path": "data.encryption.keySource"
},
"encryption_services": {
"column": "enabled",
"path": "data.encryption.services",
"type": "string",
"size": 1000
},
"encryption_key_vault_properties_key_name": {
"column": "enabled",
"path": "data.encryption.keyvaultproperties.keyname"
},
"encryption_key_vault_properties_key_vault_uri": {
"column": "enabled",
"path": "data.encryption.keyvaultproperties.keyvaulturi",
"label": "Encryption Key Vault Properties Key Vault URI"
},
"encryption_key_vault_properties_key_version": {
"column": "enabled",
"path": "data.encryption.keyvaultproperties.keyversion"
},
"encryption_key_vault_properties_last_rotation_time": {
"column": "enabled",
"path": "data.encryption.keyvaultproperties.lastKeyRotationTimestamp"
},
"id": {
"column": "enabled",
"label": "ID"
},
"minimum_tls_version": {
"column": "enabled",
"label": "Minimum TLS Version"
},
"storage_account_name": {
"column": "enabled",
"path": "data.name"
},
"virtual_network_rules": {
"column": "enabled",
"path": "data.networkRuleSet.virtualNetworkRules",
"type": "string",
"size": 1000
},
"network_ip_rules": {
"column": "enabled",
"path": "data.networkRuleSet.ipRules",
"label": "Network IP Rules",
"type": "string",
"size": 1000
},
"network_rule_bypass": {
"column": "enabled",
"path": "data.networkRuleSet.bypass"
},
"network_rule_default_action": {
"column": "enabled",
"path": "data.networkRuleSet.defaultAction"
},
"primary_blob_endpoint": {
"column": "enabled",
"path": "data.primaryEndpoints.blob"
},
"primary_dfs_endpoint": {
"column": "enabled",
"label": "Primary DFS Endpoint",
"path": "data.primaryEndpoints.dfs"
},
"primary_file_endpoint": {
"column": "enabled",
"label": "Primary File Endpoint",
"path": "data.primaryEndpoints.file"
},
"primary_location": {
"column": "enabled"
},
"primary_queue_endpoint": {
"column": "enabled",
"path": "data.primaryEndpoints.queue"
},
"primary_table_endpoint": {
"column": "enabled",
"path": "data.primaryEndpoints.table"
},
"primary_web_endpoint": {
"column": "enabled",
"path": "data.primaryEndpoints.web"
},
"private_endpoint_connections": {
"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"
},
"secondary_location": {
"column": "enabled"
},
"sku_name": {
"column": "enabled",
"path": "data.sku.name",
"label": "SKU Name"
},
"sku_tier": {
"column": "enabled",
"path": "data.sku.tier",
"label": "SKU Tier"
},
"status_of_primary": {
"column": "enabled"
},
"status_of_secondary": {
"column": "enabled"
},
"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-storage#/definitions/storageAccountServiceNow",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAccountSku

{
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"Premium_LRS",
"Premium_ZRS",
"Standard_GRS",
"Standard_GZRS",
"Standard_LRS",
"Standard_RAGRS",
"Standard_RAGZRS",
"Standard_ZRS"
],
"tests": []
},
"tier": {
"type": "string",
"enum": [
"Premium",
"Standard"
],
"tests": []
}
},
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAccountSku",
"modUri": "tmod:@turbot/azure-storage"
}
}

storageAka

{
"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.Storage/services/storage",
"tests": [
{
"descritpion": "base case",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/providers/Microsoft.Storage/services/storage"
},
{
"description": "invalid - account ID too long",
"input": "azure:///subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7jfhsjkds/search",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/storageAka",
"modUri": "tmod:@turbot/azure-storage"
}
}

subnetId

{
"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-_()]/providers/Microsoft.Network/virtualNetworks/[a-zA-Z0-9][a-zA-Z0-9-_.]{2,80}[a-zA-Z0-9_]/subnets/[[a-zA-Z0-9][a-zA-Z0-9-_.]{0,80}[a-zA-Z0-9_]$",
"tests": [
{
"description": "base",
"input": "/subscriptions/3510ae4d-530b-497d-8f30-53b9616fc6c1/resourceGroups/parthtestrg/providers/Microsoft.Network/virtualNetworks/parth-test/subnets/testsubnet"
},
{
"description": "invalid service name",
"input": "/subscriptions/9e3548cf-17e2-4751-b87e-b72bdd2c77f7/resourceGroups/test/providers/Microsoft.MySql/servers/test0012/databases/test01",
"expected": false
},
{
"description": "invalid subscription id",
"input": "/subscriptions/9e3548cf-17e2-4751-12345-b72bdd2c77f700/resourceGroups/test/providers/Microsoft.Sql/servers/test0012/databases/test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/azure-storage#/definitions/subnetId",
"modUri": "tmod:@turbot/azure-storage"
}
}