Resources/Schema/New-CmAzIaasStorage.Schema.json
{
"$schema": "http://json-schema.org/draft-07/schema", "$id": "New-CmAzIaasStorage", "type": "object", "title": "New-CmAzIaasStorage", "description": "Settings Root.", "required": [ "location", "storageAccounts" ], "properties": { "component": { "$id": "#/component", "type": ["string", "null"], "title": "Component", "description": "Value to determine what cmdlet should be dynamically loaded for these settings." }, "resourceGroupName": { "$id": "#/resourceGroupName", "type": "string", "title": "ResourceGroupName", "description": "Becomes part of the generated resource group's name." }, "location": { "$id": "#/location", "type": "string", "title": "Location", "description": "Resource group deployment location (default value for all other locations)." }, "service": { "$id": "#/service", "type": "object", "title": "Service", "description": "Contains dependency and publish details for service location.", "properties": { "dependencies": { "$id": "#/service/dependencies", "type": ["object", "null"], "title": "Dependencies", "description": "Contains dependency details for service location.", "properties": { "resourceGroup": { "$id": "#/service/dependencies/resourceGroup", "type": ["string", "null"], "title": "ResourceGroup", "description": "Dependency value to fetch existing resource type." } }, "additionalProperties": false }, "publish": { "$id": "#/service/publish", "type": ["object", "null"], "title": "Publish", "description": "Contains publish details for service location.", "properties": { "storage": { "$id": "#/service/publish/storage", "type": ["string", "null"], "title": "Storage", "description": "Global default value to publish on deployed resource type." }, "resourceGroup": { "$id": "#/service/publish/resourceGroup", "type": ["string", "null"], "title": "ResourceGroup", "description": "Value to publish on existing resource type." } }, "additionalProperties": false } }, "additionalProperties": false }, "storageAccounts": { "$id": "#/storageAccounts", "type": "array", "title": "StorageAccounts", "description": "List of details required to deploy all storage accounts.", "items": { "$id": "#/storageAccounts/items", "minLength": 1, "allOf": [ { "$id": "#/storageAccounts/items/allOf", "type": "object", "required": [ "storageAccountName", "accountType" ], "properties": { "storageAccountName": { "$id": "#/storageAccounts/items/allOf/storageAccountName", "type": "string", "title": "StorageAccountName", "description": "Becomes part of the generated storage account's name." }, "location": { "$id": "#/storageAccounts/items/allOf/location", "type": ["string", "null"], "title": "Location", "description": "Storage account deployment location" }, "accountType": { "$id": "#/storageAccounts/items/allOf/accountType", "type": "string", "title": "AccountType", "description": "The storage account's sku name.", "enum": ["Standard", "Premium"] }, "kind": { "$id": "#/storageAccounts/items/allOf/kind", "type": ["string", "null"], "title": "Kind", "description": "The storage account's type.", "default": "StorageV2", "enum": ["Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage", null] }, "replication": { "$id": "#/storageAccounts/items/allOf/replication", "type": ["string", "null"], "title": "Replication", "description": "Data storage redundancy.", "enum": ["LRS", "ZRS", "GRS", "RAGRS", null], "default": "LRS" }, "blobContainer": { "$id": "#/storageAccounts/items/allOf/blobContainer", "type": ["array", "null"], "title": "BlobContainer", "description": "Contains details required to deploy a blob container in a storage account.", "default": [{ "name": "none", "publicAccess": "none" }], "items": { "$id": "#/storageAccounts/items/allOf/blobContainer/items", "allOf": [ { "$id": "#/storageAccounts/items/allOf/blobContainer/items/allOf", "type": "object", "required": ["name"], "default": { "name": "none", "publicAccess": "None" }, "properties": { "name": { "$id": "#/storageAccounts/items/allOf/blobContainer/items/allOf/name", "type": "string", "title": "Name", "description": "Becomes part of the generated blob container's name.", "default": "none" }, "publicAccess": { "$id": "#/storageAccounts/items/allOf/blobContainer/items/allOf/publicAccess", "type": ["string", "null"], "title": "PublicAccess", "description": "Sets access level of the items in the container.", "default": "None", "enum": ["Container", "Blob", "None", null] } }, "additionalProperties": false } ] } }, "fileShare": { "$id": "#/storageAccounts/items/allOf/fileShare", "type": ["array", "null"], "title": "FileShare", "description": "Contains details required to deploy a file share in a storage account.", "default": [{ "name": "none", "size": 100 }], "items": { "$id": "#/storageAccounts/items/allOf/fileShare/items", "allOf": [ { "$id": "#/storageAccounts/items/allOf/fileShare/items/allOf", "type": "object", "required": ["name"], "default": { "name": "none", "size": 100 }, "properties": { "name": { "$id": "#/storageAccounts/items/allOf/fileShare/items/allOf/name", "type": "string", "title": "Name", "description": "Becomes part of the generated file share's name.", "default": "none" }, "size": { "$id": "#/storageAccounts/items/allOf/fileShare/items/allOf/size", "type": "integer", "title": "Size", "description": "Maximum size of the share.", "default": 100 } }, "additionalProperties": false } ] } }, "table": { "$id": "#/storageAccounts/items/allOf/table", "type": ["array", "null"], "title": "Table", "description": "Contains details required to deploy a table in a storage account.", "default": ["none"], "items": { "$id": "#/storageAccounts/items/allOf/table/items", "allOf": [ { "$id": "#/storageAccounts/items/allOf/table/items/allOf", "type": "string" } ] } }, "queue": { "$id": "#/storageAccounts/items/allOf/queue", "type": ["array", "null"], "title": "Queue", "description": "Contains details required to deploy a queue in a storage account.", "default": ["none"], "items": { "$id": "#/storageAccounts/items/allOf/queue/items", "allOf": [ { "$id": "#/storageAccounts/items/allOf/queue/items/allOf", "type": "string" } ] } }, "minimumTlsVersion": { "$id": "#/storageAccounts/items/allOf/minimumTlsVersion", "type": ["string", "null"], "title": "MinimumTlsVersion", "description": "Miniumum tls versions required for storage requests.", "default": "TLS1_2" }, "supportsHttpsTrafficOnly": { "$id": "#/storageAccounts/items/allOf/supportsHttpsTrafficOnly", "type": ["boolean", "null"], "title": "SupportsHttpsTrafficOnly", "description": "Only allows https for storage communication.", "default": true }, "allowBlobPublicAccess": { "$id": "#/storageAccounts/items/allOf/allowBlobPublicAccess", "type": ["boolean", "null"], "title": "AllowBlobPublicAccess", "description": "Allow public access to all blobs and containers.", "default": true }, "networkAclsBypass": { "$id": "#/storageAccounts/items/allOf/networkAclsBypass", "type": ["string", "null"], "title": "NetworkAclsBypass", "description": "Specifies if traffic will be bypassed for logging, metrics, azureServices or none.", "default": "AzureServices", "enum": ["None", "Logging", "Metrics", "AzureServices", null] }, "networkAclsDefaultAction": { "$id": "#/storageAccounts/items/allOf/networkAclsDefaultAction", "type": ["string", "null"], "title": "NetworkAclsDefaultAction", "description": "Default action when no other rules match.", "default": "Allow", "enum": ["Allow", "Deny", null] }, "service": { "$id": "#/storageAccounts/items/allOf/service", "type": ["object", "null"], "title": "Service", "description": "Contains dependency and publish details for service location.", "properties": { "publish": { "$id": "#/storageAccounts/items/allOf/service/publish", "type": ["object", "null"], "title": "Publish", "description": "Contains publish details for service location.", "properties": { "storage": { "$id": "#/storageAccounts/items/allOf/service/publish/storage", "type": ["string", "null"], "title": "Storage", "description": "Local overriding value to publish on deployed existing resource type." } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } ] } } }, "additionalProperties": false } |