diff --git a/schemas/2015-05-01-preview/Microsoft.Storage.json b/schemas/2015-05-01-preview/Microsoft.Storage.json index 06e4cf7d92..5fc6b4e873 100644 --- a/schemas/2015-05-01-preview/Microsoft.Storage.json +++ b/schemas/2015-05-01-preview/Microsoft.Storage.json @@ -57,6 +57,7 @@ "apiVersion", "location", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts" @@ -87,4 +88,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/2015-06-15/Microsoft.Storage.json b/schemas/2015-06-15/Microsoft.Storage.json index c520ac910e..e5bc2d851a 100644 --- a/schemas/2015-06-15/Microsoft.Storage.json +++ b/schemas/2015-06-15/Microsoft.Storage.json @@ -60,6 +60,7 @@ "apiVersion", "location", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts" @@ -94,4 +95,4 @@ "description": "The parameters used to create the storage account." } } -} \ No newline at end of file +} diff --git a/schemas/2016-01-01/Microsoft.Storage.json b/schemas/2016-01-01/Microsoft.Storage.json index 695743f859..afbfd0033c 100644 --- a/schemas/2016-01-01/Microsoft.Storage.json +++ b/schemas/2016-01-01/Microsoft.Storage.json @@ -86,6 +86,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -255,4 +256,4 @@ } } } -} \ No newline at end of file +} diff --git a/schemas/2016-05-01/Microsoft.Storage.json b/schemas/2016-05-01/Microsoft.Storage.json index a9de443545..5c6668ffd9 100644 --- a/schemas/2016-05-01/Microsoft.Storage.json +++ b/schemas/2016-05-01/Microsoft.Storage.json @@ -87,6 +87,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -257,4 +258,4 @@ "description": "The parameters used to create the storage account." } } -} \ No newline at end of file +} diff --git a/schemas/2016-12-01/Microsoft.Storage.json b/schemas/2016-12-01/Microsoft.Storage.json index 31da2f7138..90803f07d1 100644 --- a/schemas/2016-12-01/Microsoft.Storage.json +++ b/schemas/2016-12-01/Microsoft.Storage.json @@ -87,6 +87,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -280,4 +281,4 @@ "description": "The parameters used to create the storage account." } } -} \ No newline at end of file +} diff --git a/schemas/2017-06-01/Microsoft.Storage.json b/schemas/2017-06-01/Microsoft.Storage.json index 733282e70f..7704a1548f 100644 --- a/schemas/2017-06-01/Microsoft.Storage.json +++ b/schemas/2017-06-01/Microsoft.Storage.json @@ -98,6 +98,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -531,4 +532,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2017-10-01/Microsoft.Storage.json b/schemas/2017-10-01/Microsoft.Storage.json index 0bc91107f3..0845f17f49 100644 --- a/schemas/2017-10-01/Microsoft.Storage.json +++ b/schemas/2017-10-01/Microsoft.Storage.json @@ -99,6 +99,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -532,4 +533,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2018-02-01/Microsoft.Storage.json b/schemas/2018-02-01/Microsoft.Storage.json index 8a180f0a13..0022bc1817 100644 --- a/schemas/2018-02-01/Microsoft.Storage.json +++ b/schemas/2018-02-01/Microsoft.Storage.json @@ -99,6 +99,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -150,6 +151,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -196,6 +198,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -739,4 +742,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2018-03-01-preview/Microsoft.Storage.json b/schemas/2018-03-01-preview/Microsoft.Storage.json index 70337a1966..33eba65c1b 100644 --- a/schemas/2018-03-01-preview/Microsoft.Storage.json +++ b/schemas/2018-03-01-preview/Microsoft.Storage.json @@ -109,6 +109,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -160,6 +161,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -206,6 +208,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -252,6 +255,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/managementPolicies" @@ -848,4 +852,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2018-07-01/Microsoft.Storage.json b/schemas/2018-07-01/Microsoft.Storage.json index b7443f055b..533e29bf68 100644 --- a/schemas/2018-07-01/Microsoft.Storage.json +++ b/schemas/2018-07-01/Microsoft.Storage.json @@ -111,6 +111,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -168,6 +169,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices" @@ -218,6 +220,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -264,6 +267,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -1071,4 +1075,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2018-11-01/Microsoft.Storage.json b/schemas/2018-11-01/Microsoft.Storage.json index d8b54ed922..e936411bb5 100644 --- a/schemas/2018-11-01/Microsoft.Storage.json +++ b/schemas/2018-11-01/Microsoft.Storage.json @@ -114,6 +114,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -171,6 +172,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices" @@ -221,6 +223,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -267,6 +270,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -1139,4 +1143,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2019-04-01/Microsoft.Storage.json b/schemas/2019-04-01/Microsoft.Storage.json index cf5c9d5836..629e6f18e5 100644 --- a/schemas/2019-04-01/Microsoft.Storage.json +++ b/schemas/2019-04-01/Microsoft.Storage.json @@ -117,6 +117,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -174,6 +175,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices" @@ -224,6 +226,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -270,6 +273,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -326,6 +330,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/fileServices" @@ -366,6 +371,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/fileServices/shares" @@ -412,6 +418,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/managementPolicies" @@ -1446,6 +1453,17 @@ ], "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." }, + "allowSharedKeyAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, "azureFilesIdentityBasedAuthentication": { "oneOf": [ { @@ -1842,4 +1860,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2019-06-01/Microsoft.Storage.json b/schemas/2019-06-01/Microsoft.Storage.json index c72b69f215..877cf9f906 100644 --- a/schemas/2019-06-01/Microsoft.Storage.json +++ b/schemas/2019-06-01/Microsoft.Storage.json @@ -70,6 +70,9 @@ { "$ref": "#/definitions/storageAccounts_managementPolicies_childResource" }, + { + "$ref": "#/definitions/storageAccounts_inventoryPolicies_childResource" + }, { "$ref": "#/definitions/storageAccounts_privateEndpointConnections_childResource" }, @@ -132,6 +135,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -189,6 +193,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices" @@ -239,6 +244,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -285,6 +291,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -325,6 +332,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/encryptionScopes" @@ -381,6 +389,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/fileServices" @@ -421,10 +430,69 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/fileServices/shares" }, + "storageAccounts_inventoryPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the storage account blob inventory policy. It should always be 'default'" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BlobInventoryPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage account blob inventory policy properties." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Storage/storageAccounts/inventoryPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Storage/storageAccounts/inventoryPolicies" + }, "storageAccounts_managementPolicies": { "type": "object", "properties": { @@ -467,6 +535,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/managementPolicies" @@ -506,6 +575,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/objectReplicationPolicies" @@ -544,6 +614,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/privateEndpointConnections" @@ -600,6 +671,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/queueServices" @@ -647,6 +719,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/queueServices/queues" @@ -703,6 +776,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/tableServices" @@ -820,6 +894,197 @@ ], "description": "Settings for Azure Files identity based authentication." }, + "BlobInventoryPolicyDefinition": { + "type": "object", + "properties": { + "filters": { + "oneOf": [ + { + "$ref": "#/definitions/BlobInventoryPolicyFilter" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An object that defines the blob inventory rule filter conditions." + } + }, + "required": [ + "filters" + ], + "description": "An object that defines the blob inventory rule. Each definition consists of a set of filters." + }, + "BlobInventoryPolicyFilter": { + "type": "object", + "properties": { + "blobTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of predefined enum values. Valid values include blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs." + }, + "includeBlobVersions": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Includes blob versions in blob inventory when value set to true." + }, + "includeSnapshots": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Includes blob snapshots in blob inventory when value set to true." + }, + "prefixMatch": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of strings for blob prefixes to be matched." + } + }, + "required": [ + "blobTypes" + ], + "description": "An object that defines the blob inventory rule filter conditions." + }, + "BlobInventoryPolicyProperties": { + "type": "object", + "properties": { + "policy": { + "oneOf": [ + { + "$ref": "#/definitions/BlobInventoryPolicySchema" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage account blob inventory policy rules." + } + }, + "required": [ + "policy" + ], + "description": "The storage account blob inventory policy properties." + }, + "BlobInventoryPolicyRule": { + "type": "object", + "properties": { + "definition": { + "oneOf": [ + { + "$ref": "#/definitions/BlobInventoryPolicyDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An object that defines the blob inventory rule. Each definition consists of a set of filters." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rule is enabled when set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + } + }, + "required": [ + "definition", + "enabled", + "name" + ], + "description": "An object that wraps the blob inventory rule. Each rule is uniquely defined by name." + }, + "BlobInventoryPolicySchema": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "Container name where blob inventory files are stored. Must be pre-created." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy is enabled if set to true." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage account blob inventory policy rules. The rule is applied when it is enabled." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Inventory" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The valid value is Inventory" + } + }, + "required": [ + "destination", + "enabled", + "rules", + "type" + ], + "description": "The storage account blob inventory policy rules." + }, "BlobServicePropertiesProperties": { "type": "object", "properties": { @@ -893,6 +1158,17 @@ ], "description": "Versioning is enabled if set to true." }, + "lastAccessTimeTrackingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/LastAccessTimeTrackingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The blob service properties for Last access time based tracking policy." + }, "restorePolicy": { "oneOf": [ { @@ -920,6 +1196,19 @@ } ], "description": "Indicates whether change feed event logging is enabled for the Blob service." + }, + "retentionInDays": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 146000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite retention of the change feed." } }, "description": "The blob service properties for change feed events." @@ -1134,6 +1423,19 @@ "DateAfterModification": { "type": "object", "properties": { + "daysAfterLastAccessTimeGreaterThan": { + "oneOf": [ + { + "type": "number", + "multipleOf": 1, + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy" + }, "daysAfterModificationGreaterThan": { "oneOf": [ { @@ -1148,10 +1450,7 @@ "description": "Value indicating the age in days after last modification" } }, - "required": [ - "daysAfterModificationGreaterThan" - ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." }, "DeleteRetentionPolicy": { "type": "object", @@ -1585,6 +1884,65 @@ }, "description": "Properties of key vault." }, + "LastAccessTimeTrackingPolicy": { + "type": "object", + "properties": { + "blobType": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently read only" + }, + "enable": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When set to true last access time based tracking is enabled." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AccessTimeTracking" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the policy. The valid value is AccessTimeTracking. This field is currently read only." + }, + "trackingGranularityInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The field specifies blob object tracking granularity in days, typically how often the blob object should be tracked.This field is currently read only with value as 1" + } + }, + "required": [ + "enable" + ], + "description": "The blob service properties for Last access time based tracking policy." + }, "ManagementPolicyAction": { "type": "object", "properties": { @@ -1609,6 +1967,17 @@ } ], "description": "Management policy action for snapshot." + }, + "version": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementPolicyVersion" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Management policy action for blob version." } }, "description": "Actions are applied to the filtered blobs when the execution condition is met." @@ -1625,7 +1994,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." + }, + "enableAutoTierToHotFromCool": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan." }, "tierToArchive": { "oneOf": [ @@ -1636,7 +2016,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." }, "tierToCool": { "oneOf": [ @@ -1647,7 +2027,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." } }, "description": "Management policy action for base blob." @@ -1712,7 +2092,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array of predefined enum values. Only blockBlob is supported." + "description": "An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob." }, "prefixMatch": { "oneOf": [ @@ -1841,10 +2221,71 @@ } ], "description": "Object to define the number of days after creation." + }, + "tierToArchive": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + }, + "tierToCool": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." } }, "description": "Management policy action for snapshot." }, + "ManagementPolicyVersion": { + "type": "object", + "properties": { + "delete": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + }, + "tierToArchive": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + }, + "tierToCool": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + } + }, + "description": "Management policy action for blob version." + }, "NetworkRuleSet": { "type": "object", "properties": { @@ -2271,6 +2712,17 @@ ], "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." }, + "allowSharedKeyAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, "azureFilesIdentityBasedAuthentication": { "oneOf": [ { @@ -2631,6 +3083,59 @@ ], "description": "Microsoft.Storage/storageAccounts/fileServices/shares" }, + "storageAccounts_inventoryPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the storage account blob inventory policy. It should always be 'default'" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BlobInventoryPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The storage account blob inventory policy properties." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "type": { + "type": "string", + "enum": [ + "inventoryPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Storage/storageAccounts/inventoryPolicies" + }, "storageAccounts_managementPolicies_childResource": { "type": "object", "properties": { @@ -2921,6 +3426,64 @@ ], "description": "Microsoft.Storage/storageAccounts/tableServices/tables" }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + }, "TableServicePropertiesProperties": { "type": "object", "properties": { @@ -3011,4 +3574,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +} diff --git a/schemas/2020-08-01-preview/Microsoft.Storage.json b/schemas/2020-08-01-preview/Microsoft.Storage.json index ebabfa93a7..58cc95ab7f 100644 --- a/schemas/2020-08-01-preview/Microsoft.Storage.json +++ b/schemas/2020-08-01-preview/Microsoft.Storage.json @@ -146,6 +146,7 @@ "kind", "location", "name", + "properties", "sku", "type" ], @@ -203,6 +204,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices" @@ -253,6 +255,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers" @@ -299,6 +302,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies" @@ -339,6 +343,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/encryptionScopes" @@ -395,6 +400,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/fileServices" @@ -435,6 +441,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/fileServices/shares" @@ -492,6 +499,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/inventoryPolicies" @@ -538,6 +546,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/managementPolicies" @@ -577,6 +586,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/objectReplicationPolicies" @@ -615,6 +625,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/privateEndpointConnections" @@ -671,6 +682,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/queueServices" @@ -718,6 +730,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/queueServices/queues" @@ -774,6 +787,7 @@ "required": [ "apiVersion", "name", + "properties", "type" ], "description": "Microsoft.Storage/storageAccounts/tableServices" @@ -1193,6 +1207,19 @@ } ], "description": "Indicates whether change feed event logging is enabled for the Blob service." + }, + "retentionInDays": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 146000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite retention of the change feed." } }, "description": "The blob service properties for change feed events." @@ -1434,7 +1461,7 @@ "description": "Value indicating the age in days after last modification" } }, - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." }, "DeleteRetentionPolicy": { "type": "object", @@ -1469,6 +1496,17 @@ "Encryption": { "type": "object", "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity to be used for server-side encryption on the storage account" + }, "keySource": { "oneOf": [ { @@ -1523,6 +1561,31 @@ ], "description": "The encryption settings on the storage account." }, + "EncryptionIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ManagedServiceIdentity", + "StorageService" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Encryption Identity type." + }, + "userAssignedIdentity": { + "type": "string", + "description": "ResourceID of the UserAssignedIdentity to be associated with server-side encryption on the storage account." + } + }, + "description": "Identity to be used for server-side encryption on the storage account" + }, "EncryptionScopeKeyVaultProperties": { "type": "object", "properties": { @@ -1815,7 +1878,10 @@ { "type": "string", "enum": [ - "SystemAssigned" + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" ] }, { @@ -1823,6 +1889,21 @@ } ], "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentityType" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dictionary to map userAssignedIdentityID strings to userAssignedIdentity properties" } }, "required": [ @@ -1986,6 +2067,17 @@ } ], "description": "Management policy action for snapshot." + }, + "version": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementPolicyVersion" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Management policy action for blob version." } }, "description": "Actions are applied to the filtered blobs when the execution condition is met." @@ -2002,7 +2094,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." }, "enableAutoTierToHotFromCool": { "oneOf": [ @@ -2024,7 +2116,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." }, "tierToCool": { "oneOf": [ @@ -2035,7 +2127,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Object to define the number of days after last modification." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." } }, "description": "Management policy action for base blob." @@ -2100,7 +2192,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array of predefined enum values. Only blockBlob is supported." + "description": "An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob." }, "prefixMatch": { "oneOf": [ @@ -2229,10 +2321,71 @@ } ], "description": "Object to define the number of days after creation." + }, + "tierToArchive": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + }, + "tierToCool": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." } }, "description": "Management policy action for snapshot." }, + "ManagementPolicyVersion": { + "type": "object", + "properties": { + "delete": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + }, + "tierToArchive": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + }, + "tierToCool": { + "oneOf": [ + { + "$ref": "#/definitions/DateAfterCreation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Object to define the number of days after creation." + } + }, + "description": "Management policy action for blob version." + }, "Multichannel": { "type": "object", "properties": { @@ -2737,6 +2890,17 @@ ], "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." }, + "allowSharedKeyAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, "azureFilesIdentityBasedAuthentication": { "oneOf": [ { @@ -3542,6 +3706,11 @@ ], "description": "Blob index tag based filtering for blob objects" }, + "UserAssignedIdentityType": { + "type": "object", + "properties": {}, + "description": "UserAssignedIdentity for the resource." + }, "VirtualNetworkRule": { "type": "object", "properties": { @@ -3588,4 +3757,4 @@ "description": "Virtual Network rule." } } -} \ No newline at end of file +}