1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Dict, List, Optional, Union 11 12from azure.core.exceptions import HttpResponseError 13import msrest.serialization 14 15from ._storage_management_client_enums import * 16 17 18class AccountSasParameters(msrest.serialization.Model): 19 """The parameters to list SAS credentials of a storage account. 20 21 All required parameters must be populated in order to send to Azure. 22 23 :param services: Required. The signed services accessible with the account SAS. Possible values 24 include: Blob (b), Queue (q), Table (t), File (f). Possible values include: "b", "q", "t", "f". 25 :type services: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Services 26 :param resource_types: Required. The signed resource types that are accessible with the account 27 SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; 28 Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files. 29 Possible values include: "s", "c", "o". 30 :type resource_types: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SignedResourceTypes 31 :param permissions: Required. The signed permissions for the account SAS. Possible values 32 include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process 33 (p). Possible values include: "r", "d", "w", "l", "a", "c", "u", "p". 34 :type permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Permissions 35 :param ip_address_or_range: An IP address or a range of IP addresses from which to accept 36 requests. 37 :type ip_address_or_range: str 38 :param protocols: The protocol permitted for a request made with the account SAS. Possible 39 values include: "https,http", "https". 40 :type protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.HttpProtocol 41 :param shared_access_start_time: The time at which the SAS becomes valid. 42 :type shared_access_start_time: ~datetime.datetime 43 :param shared_access_expiry_time: Required. The time at which the shared access signature 44 becomes invalid. 45 :type shared_access_expiry_time: ~datetime.datetime 46 :param key_to_sign: The key to sign the account SAS token with. 47 :type key_to_sign: str 48 """ 49 50 _validation = { 51 'services': {'required': True}, 52 'resource_types': {'required': True}, 53 'permissions': {'required': True}, 54 'shared_access_expiry_time': {'required': True}, 55 } 56 57 _attribute_map = { 58 'services': {'key': 'signedServices', 'type': 'str'}, 59 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, 60 'permissions': {'key': 'signedPermission', 'type': 'str'}, 61 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, 62 'protocols': {'key': 'signedProtocol', 'type': 'str'}, 63 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, 64 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, 65 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, 66 } 67 68 def __init__( 69 self, 70 *, 71 services: Union[str, "Services"], 72 resource_types: Union[str, "SignedResourceTypes"], 73 permissions: Union[str, "Permissions"], 74 shared_access_expiry_time: datetime.datetime, 75 ip_address_or_range: Optional[str] = None, 76 protocols: Optional[Union[str, "HttpProtocol"]] = None, 77 shared_access_start_time: Optional[datetime.datetime] = None, 78 key_to_sign: Optional[str] = None, 79 **kwargs 80 ): 81 super(AccountSasParameters, self).__init__(**kwargs) 82 self.services = services 83 self.resource_types = resource_types 84 self.permissions = permissions 85 self.ip_address_or_range = ip_address_or_range 86 self.protocols = protocols 87 self.shared_access_start_time = shared_access_start_time 88 self.shared_access_expiry_time = shared_access_expiry_time 89 self.key_to_sign = key_to_sign 90 91 92class ActiveDirectoryProperties(msrest.serialization.Model): 93 """Settings properties for Active Directory (AD). 94 95 All required parameters must be populated in order to send to Azure. 96 97 :param domain_name: Required. Specifies the primary domain that the AD DNS server is 98 authoritative for. 99 :type domain_name: str 100 :param net_bios_domain_name: Required. Specifies the NetBIOS domain name. 101 :type net_bios_domain_name: str 102 :param forest_name: Required. Specifies the Active Directory forest to get. 103 :type forest_name: str 104 :param domain_guid: Required. Specifies the domain GUID. 105 :type domain_guid: str 106 :param domain_sid: Required. Specifies the security identifier (SID). 107 :type domain_sid: str 108 :param azure_storage_sid: Required. Specifies the security identifier (SID) for Azure Storage. 109 :type azure_storage_sid: str 110 """ 111 112 _validation = { 113 'domain_name': {'required': True}, 114 'net_bios_domain_name': {'required': True}, 115 'forest_name': {'required': True}, 116 'domain_guid': {'required': True}, 117 'domain_sid': {'required': True}, 118 'azure_storage_sid': {'required': True}, 119 } 120 121 _attribute_map = { 122 'domain_name': {'key': 'domainName', 'type': 'str'}, 123 'net_bios_domain_name': {'key': 'netBiosDomainName', 'type': 'str'}, 124 'forest_name': {'key': 'forestName', 'type': 'str'}, 125 'domain_guid': {'key': 'domainGuid', 'type': 'str'}, 126 'domain_sid': {'key': 'domainSid', 'type': 'str'}, 127 'azure_storage_sid': {'key': 'azureStorageSid', 'type': 'str'}, 128 } 129 130 def __init__( 131 self, 132 *, 133 domain_name: str, 134 net_bios_domain_name: str, 135 forest_name: str, 136 domain_guid: str, 137 domain_sid: str, 138 azure_storage_sid: str, 139 **kwargs 140 ): 141 super(ActiveDirectoryProperties, self).__init__(**kwargs) 142 self.domain_name = domain_name 143 self.net_bios_domain_name = net_bios_domain_name 144 self.forest_name = forest_name 145 self.domain_guid = domain_guid 146 self.domain_sid = domain_sid 147 self.azure_storage_sid = azure_storage_sid 148 149 150class Resource(msrest.serialization.Model): 151 """Common fields that are returned in the response for all Azure Resource Manager resources. 152 153 Variables are only populated by the server, and will be ignored when sending a request. 154 155 :ivar id: Fully qualified resource ID for the resource. Ex - 156 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 157 :vartype id: str 158 :ivar name: The name of the resource. 159 :vartype name: str 160 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 161 "Microsoft.Storage/storageAccounts". 162 :vartype type: str 163 """ 164 165 _validation = { 166 'id': {'readonly': True}, 167 'name': {'readonly': True}, 168 'type': {'readonly': True}, 169 } 170 171 _attribute_map = { 172 'id': {'key': 'id', 'type': 'str'}, 173 'name': {'key': 'name', 'type': 'str'}, 174 'type': {'key': 'type', 'type': 'str'}, 175 } 176 177 def __init__( 178 self, 179 **kwargs 180 ): 181 super(Resource, self).__init__(**kwargs) 182 self.id = None 183 self.name = None 184 self.type = None 185 186 187class AzureEntityResource(Resource): 188 """The resource model definition for an Azure Resource Manager resource with an etag. 189 190 Variables are only populated by the server, and will be ignored when sending a request. 191 192 :ivar id: Fully qualified resource ID for the resource. Ex - 193 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 194 :vartype id: str 195 :ivar name: The name of the resource. 196 :vartype name: str 197 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 198 "Microsoft.Storage/storageAccounts". 199 :vartype type: str 200 :ivar etag: Resource Etag. 201 :vartype etag: str 202 """ 203 204 _validation = { 205 'id': {'readonly': True}, 206 'name': {'readonly': True}, 207 'type': {'readonly': True}, 208 'etag': {'readonly': True}, 209 } 210 211 _attribute_map = { 212 'id': {'key': 'id', 'type': 'str'}, 213 'name': {'key': 'name', 'type': 'str'}, 214 'type': {'key': 'type', 'type': 'str'}, 215 'etag': {'key': 'etag', 'type': 'str'}, 216 } 217 218 def __init__( 219 self, 220 **kwargs 221 ): 222 super(AzureEntityResource, self).__init__(**kwargs) 223 self.etag = None 224 225 226class AzureFilesIdentityBasedAuthentication(msrest.serialization.Model): 227 """Settings for Azure Files identity based authentication. 228 229 All required parameters must be populated in order to send to Azure. 230 231 :param directory_service_options: Required. Indicates the directory service used. Possible 232 values include: "None", "AADDS", "AD". 233 :type directory_service_options: str or 234 ~azure.mgmt.storage.v2020_08_01_preview.models.DirectoryServiceOptions 235 :param active_directory_properties: Required if choose AD. 236 :type active_directory_properties: 237 ~azure.mgmt.storage.v2020_08_01_preview.models.ActiveDirectoryProperties 238 """ 239 240 _validation = { 241 'directory_service_options': {'required': True}, 242 } 243 244 _attribute_map = { 245 'directory_service_options': {'key': 'directoryServiceOptions', 'type': 'str'}, 246 'active_directory_properties': {'key': 'activeDirectoryProperties', 'type': 'ActiveDirectoryProperties'}, 247 } 248 249 def __init__( 250 self, 251 *, 252 directory_service_options: Union[str, "DirectoryServiceOptions"], 253 active_directory_properties: Optional["ActiveDirectoryProperties"] = None, 254 **kwargs 255 ): 256 super(AzureFilesIdentityBasedAuthentication, self).__init__(**kwargs) 257 self.directory_service_options = directory_service_options 258 self.active_directory_properties = active_directory_properties 259 260 261class BlobContainer(AzureEntityResource): 262 """Properties of the blob container, including Id, resource name, resource type, Etag. 263 264 Variables are only populated by the server, and will be ignored when sending a request. 265 266 :ivar id: Fully qualified resource ID for the resource. Ex - 267 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 268 :vartype id: str 269 :ivar name: The name of the resource. 270 :vartype name: str 271 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 272 "Microsoft.Storage/storageAccounts". 273 :vartype type: str 274 :ivar etag: Resource Etag. 275 :vartype etag: str 276 :ivar version: The version of the deleted blob container. 277 :vartype version: str 278 :ivar deleted: Indicates whether the blob container was deleted. 279 :vartype deleted: bool 280 :ivar deleted_time: Blob container deletion time. 281 :vartype deleted_time: ~datetime.datetime 282 :ivar remaining_retention_days: Remaining retention days for soft deleted blob container. 283 :vartype remaining_retention_days: int 284 :param default_encryption_scope: Default the container to use specified encryption scope for 285 all writes. 286 :type default_encryption_scope: str 287 :param deny_encryption_scope_override: Block override of encryption scope from the container 288 default. 289 :type deny_encryption_scope_override: bool 290 :param public_access: Specifies whether data in the container may be accessed publicly and the 291 level of access. Possible values include: "Container", "Blob", "None". 292 :type public_access: str or ~azure.mgmt.storage.v2020_08_01_preview.models.PublicAccess 293 :ivar last_modified_time: Returns the date and time the container was last modified. 294 :vartype last_modified_time: ~datetime.datetime 295 :ivar lease_status: The lease status of the container. Possible values include: "Locked", 296 "Unlocked". 297 :vartype lease_status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseStatus 298 :ivar lease_state: Lease state of the container. Possible values include: "Available", 299 "Leased", "Expired", "Breaking", "Broken". 300 :vartype lease_state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseState 301 :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed 302 duration, only when the container is leased. Possible values include: "Infinite", "Fixed". 303 :vartype lease_duration: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseDuration 304 :param metadata: A name-value pair to associate with the container as metadata. 305 :type metadata: dict[str, str] 306 :ivar immutability_policy: The ImmutabilityPolicy property of the container. 307 :vartype immutability_policy: 308 ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyProperties 309 :ivar legal_hold: The LegalHold property of the container. 310 :vartype legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHoldProperties 311 :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at 312 least one existing tag. The hasLegalHold public property is set to false by SRP if all existing 313 legal hold tags are cleared out. There can be a maximum of 1000 blob containers with 314 hasLegalHold=true for a given account. 315 :vartype has_legal_hold: bool 316 :ivar has_immutability_policy: The hasImmutabilityPolicy public property is set to true by SRP 317 if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public 318 property is set to false by SRP if ImmutabilityPolicy has not been created for this container. 319 :vartype has_immutability_policy: bool 320 """ 321 322 _validation = { 323 'id': {'readonly': True}, 324 'name': {'readonly': True}, 325 'type': {'readonly': True}, 326 'etag': {'readonly': True}, 327 'version': {'readonly': True}, 328 'deleted': {'readonly': True}, 329 'deleted_time': {'readonly': True}, 330 'remaining_retention_days': {'readonly': True}, 331 'last_modified_time': {'readonly': True}, 332 'lease_status': {'readonly': True}, 333 'lease_state': {'readonly': True}, 334 'lease_duration': {'readonly': True}, 335 'immutability_policy': {'readonly': True}, 336 'legal_hold': {'readonly': True}, 337 'has_legal_hold': {'readonly': True}, 338 'has_immutability_policy': {'readonly': True}, 339 } 340 341 _attribute_map = { 342 'id': {'key': 'id', 'type': 'str'}, 343 'name': {'key': 'name', 'type': 'str'}, 344 'type': {'key': 'type', 'type': 'str'}, 345 'etag': {'key': 'etag', 'type': 'str'}, 346 'version': {'key': 'properties.version', 'type': 'str'}, 347 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, 348 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, 349 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, 350 'default_encryption_scope': {'key': 'properties.defaultEncryptionScope', 'type': 'str'}, 351 'deny_encryption_scope_override': {'key': 'properties.denyEncryptionScopeOverride', 'type': 'bool'}, 352 'public_access': {'key': 'properties.publicAccess', 'type': 'str'}, 353 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 354 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, 355 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, 356 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, 357 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 358 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, 359 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, 360 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, 361 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, 362 } 363 364 def __init__( 365 self, 366 *, 367 default_encryption_scope: Optional[str] = None, 368 deny_encryption_scope_override: Optional[bool] = None, 369 public_access: Optional[Union[str, "PublicAccess"]] = None, 370 metadata: Optional[Dict[str, str]] = None, 371 **kwargs 372 ): 373 super(BlobContainer, self).__init__(**kwargs) 374 self.version = None 375 self.deleted = None 376 self.deleted_time = None 377 self.remaining_retention_days = None 378 self.default_encryption_scope = default_encryption_scope 379 self.deny_encryption_scope_override = deny_encryption_scope_override 380 self.public_access = public_access 381 self.last_modified_time = None 382 self.lease_status = None 383 self.lease_state = None 384 self.lease_duration = None 385 self.metadata = metadata 386 self.immutability_policy = None 387 self.legal_hold = None 388 self.has_legal_hold = None 389 self.has_immutability_policy = None 390 391 392class BlobInventoryPolicy(Resource): 393 """The storage account blob inventory policy. 394 395 Variables are only populated by the server, and will be ignored when sending a request. 396 397 :ivar id: Fully qualified resource ID for the resource. Ex - 398 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 399 :vartype id: str 400 :ivar name: The name of the resource. 401 :vartype name: str 402 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 403 "Microsoft.Storage/storageAccounts". 404 :vartype type: str 405 :ivar system_data: Metadata pertaining to creation and last modification of the resource. 406 :vartype system_data: ~azure.mgmt.storage.v2020_08_01_preview.models.SystemData 407 :ivar last_modified_time: Returns the last modified date and time of the blob inventory policy. 408 :vartype last_modified_time: ~datetime.datetime 409 :param policy: The storage account blob inventory policy object. It is composed of policy 410 rules. 411 :type policy: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicySchema 412 """ 413 414 _validation = { 415 'id': {'readonly': True}, 416 'name': {'readonly': True}, 417 'type': {'readonly': True}, 418 'system_data': {'readonly': True}, 419 'last_modified_time': {'readonly': True}, 420 } 421 422 _attribute_map = { 423 'id': {'key': 'id', 'type': 'str'}, 424 'name': {'key': 'name', 'type': 'str'}, 425 'type': {'key': 'type', 'type': 'str'}, 426 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 427 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 428 'policy': {'key': 'properties.policy', 'type': 'BlobInventoryPolicySchema'}, 429 } 430 431 def __init__( 432 self, 433 *, 434 policy: Optional["BlobInventoryPolicySchema"] = None, 435 **kwargs 436 ): 437 super(BlobInventoryPolicy, self).__init__(**kwargs) 438 self.system_data = None 439 self.last_modified_time = None 440 self.policy = policy 441 442 443class BlobInventoryPolicyDefinition(msrest.serialization.Model): 444 """An object that defines the blob inventory rule. Each definition consists of a set of filters. 445 446 All required parameters must be populated in order to send to Azure. 447 448 :param filters: Required. An object that defines the filter set. 449 :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyFilter 450 """ 451 452 _validation = { 453 'filters': {'required': True}, 454 } 455 456 _attribute_map = { 457 'filters': {'key': 'filters', 'type': 'BlobInventoryPolicyFilter'}, 458 } 459 460 def __init__( 461 self, 462 *, 463 filters: "BlobInventoryPolicyFilter", 464 **kwargs 465 ): 466 super(BlobInventoryPolicyDefinition, self).__init__(**kwargs) 467 self.filters = filters 468 469 470class BlobInventoryPolicyFilter(msrest.serialization.Model): 471 """An object that defines the blob inventory rule filter conditions. 472 473 All required parameters must be populated in order to send to Azure. 474 475 :param prefix_match: An array of strings for blob prefixes to be matched. 476 :type prefix_match: list[str] 477 :param blob_types: Required. An array of predefined enum values. Valid values include 478 blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs. 479 :type blob_types: list[str] 480 :param include_blob_versions: Includes blob versions in blob inventory when value set to true. 481 :type include_blob_versions: bool 482 :param include_snapshots: Includes blob snapshots in blob inventory when value set to true. 483 :type include_snapshots: bool 484 """ 485 486 _validation = { 487 'blob_types': {'required': True}, 488 } 489 490 _attribute_map = { 491 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, 492 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, 493 'include_blob_versions': {'key': 'includeBlobVersions', 'type': 'bool'}, 494 'include_snapshots': {'key': 'includeSnapshots', 'type': 'bool'}, 495 } 496 497 def __init__( 498 self, 499 *, 500 blob_types: List[str], 501 prefix_match: Optional[List[str]] = None, 502 include_blob_versions: Optional[bool] = None, 503 include_snapshots: Optional[bool] = None, 504 **kwargs 505 ): 506 super(BlobInventoryPolicyFilter, self).__init__(**kwargs) 507 self.prefix_match = prefix_match 508 self.blob_types = blob_types 509 self.include_blob_versions = include_blob_versions 510 self.include_snapshots = include_snapshots 511 512 513class BlobInventoryPolicyRule(msrest.serialization.Model): 514 """An object that wraps the blob inventory rule. Each rule is uniquely defined by name. 515 516 All required parameters must be populated in order to send to Azure. 517 518 :param enabled: Required. Rule is enabled when set to true. 519 :type enabled: bool 520 :param name: Required. A rule name can contain any combination of alpha numeric characters. 521 Rule name is case-sensitive. It must be unique within a policy. 522 :type name: str 523 :param definition: Required. An object that defines the blob inventory policy rule. 524 :type definition: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyDefinition 525 """ 526 527 _validation = { 528 'enabled': {'required': True}, 529 'name': {'required': True}, 530 'definition': {'required': True}, 531 } 532 533 _attribute_map = { 534 'enabled': {'key': 'enabled', 'type': 'bool'}, 535 'name': {'key': 'name', 'type': 'str'}, 536 'definition': {'key': 'definition', 'type': 'BlobInventoryPolicyDefinition'}, 537 } 538 539 def __init__( 540 self, 541 *, 542 enabled: bool, 543 name: str, 544 definition: "BlobInventoryPolicyDefinition", 545 **kwargs 546 ): 547 super(BlobInventoryPolicyRule, self).__init__(**kwargs) 548 self.enabled = enabled 549 self.name = name 550 self.definition = definition 551 552 553class BlobInventoryPolicySchema(msrest.serialization.Model): 554 """The storage account blob inventory policy rules. 555 556 All required parameters must be populated in order to send to Azure. 557 558 :param enabled: Required. Policy is enabled if set to true. 559 :type enabled: bool 560 :param destination: Required. Container name where blob inventory files are stored. Must be 561 pre-created. 562 :type destination: str 563 :param type: Required. The valid value is Inventory. Possible values include: "Inventory". 564 :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.InventoryRuleType 565 :param rules: Required. The storage account blob inventory policy rules. The rule is applied 566 when it is enabled. 567 :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyRule] 568 """ 569 570 _validation = { 571 'enabled': {'required': True}, 572 'destination': {'required': True}, 573 'type': {'required': True}, 574 'rules': {'required': True}, 575 } 576 577 _attribute_map = { 578 'enabled': {'key': 'enabled', 'type': 'bool'}, 579 'destination': {'key': 'destination', 'type': 'str'}, 580 'type': {'key': 'type', 'type': 'str'}, 581 'rules': {'key': 'rules', 'type': '[BlobInventoryPolicyRule]'}, 582 } 583 584 def __init__( 585 self, 586 *, 587 enabled: bool, 588 destination: str, 589 type: Union[str, "InventoryRuleType"], 590 rules: List["BlobInventoryPolicyRule"], 591 **kwargs 592 ): 593 super(BlobInventoryPolicySchema, self).__init__(**kwargs) 594 self.enabled = enabled 595 self.destination = destination 596 self.type = type 597 self.rules = rules 598 599 600class BlobRestoreParameters(msrest.serialization.Model): 601 """Blob restore parameters. 602 603 All required parameters must be populated in order to send to Azure. 604 605 :param time_to_restore: Required. Restore blob to the specified time. 606 :type time_to_restore: ~datetime.datetime 607 :param blob_ranges: Required. Blob ranges to restore. 608 :type blob_ranges: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreRange] 609 """ 610 611 _validation = { 612 'time_to_restore': {'required': True}, 613 'blob_ranges': {'required': True}, 614 } 615 616 _attribute_map = { 617 'time_to_restore': {'key': 'timeToRestore', 'type': 'iso-8601'}, 618 'blob_ranges': {'key': 'blobRanges', 'type': '[BlobRestoreRange]'}, 619 } 620 621 def __init__( 622 self, 623 *, 624 time_to_restore: datetime.datetime, 625 blob_ranges: List["BlobRestoreRange"], 626 **kwargs 627 ): 628 super(BlobRestoreParameters, self).__init__(**kwargs) 629 self.time_to_restore = time_to_restore 630 self.blob_ranges = blob_ranges 631 632 633class BlobRestoreRange(msrest.serialization.Model): 634 """Blob range. 635 636 All required parameters must be populated in order to send to Azure. 637 638 :param start_range: Required. Blob start range. This is inclusive. Empty means account start. 639 :type start_range: str 640 :param end_range: Required. Blob end range. This is exclusive. Empty means account end. 641 :type end_range: str 642 """ 643 644 _validation = { 645 'start_range': {'required': True}, 646 'end_range': {'required': True}, 647 } 648 649 _attribute_map = { 650 'start_range': {'key': 'startRange', 'type': 'str'}, 651 'end_range': {'key': 'endRange', 'type': 'str'}, 652 } 653 654 def __init__( 655 self, 656 *, 657 start_range: str, 658 end_range: str, 659 **kwargs 660 ): 661 super(BlobRestoreRange, self).__init__(**kwargs) 662 self.start_range = start_range 663 self.end_range = end_range 664 665 666class BlobRestoreStatus(msrest.serialization.Model): 667 """Blob restore status. 668 669 Variables are only populated by the server, and will be ignored when sending a request. 670 671 :ivar status: The status of blob restore progress. Possible values are: - InProgress: Indicates 672 that blob restore is ongoing. - Complete: Indicates that blob restore has been completed 673 successfully. - Failed: Indicates that blob restore is failed. Possible values include: 674 "InProgress", "Complete", "Failed". 675 :vartype status: str or 676 ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreProgressStatus 677 :ivar failure_reason: Failure reason when blob restore is failed. 678 :vartype failure_reason: str 679 :ivar restore_id: Id for tracking blob restore request. 680 :vartype restore_id: str 681 :ivar parameters: Blob restore request parameters. 682 :vartype parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreParameters 683 """ 684 685 _validation = { 686 'status': {'readonly': True}, 687 'failure_reason': {'readonly': True}, 688 'restore_id': {'readonly': True}, 689 'parameters': {'readonly': True}, 690 } 691 692 _attribute_map = { 693 'status': {'key': 'status', 'type': 'str'}, 694 'failure_reason': {'key': 'failureReason', 'type': 'str'}, 695 'restore_id': {'key': 'restoreId', 'type': 'str'}, 696 'parameters': {'key': 'parameters', 'type': 'BlobRestoreParameters'}, 697 } 698 699 def __init__( 700 self, 701 **kwargs 702 ): 703 super(BlobRestoreStatus, self).__init__(**kwargs) 704 self.status = None 705 self.failure_reason = None 706 self.restore_id = None 707 self.parameters = None 708 709 710class BlobServiceItems(msrest.serialization.Model): 711 """BlobServiceItems. 712 713 Variables are only populated by the server, and will be ignored when sending a request. 714 715 :ivar value: List of blob services returned. 716 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties] 717 """ 718 719 _validation = { 720 'value': {'readonly': True}, 721 } 722 723 _attribute_map = { 724 'value': {'key': 'value', 'type': '[BlobServiceProperties]'}, 725 } 726 727 def __init__( 728 self, 729 **kwargs 730 ): 731 super(BlobServiceItems, self).__init__(**kwargs) 732 self.value = None 733 734 735class BlobServiceProperties(Resource): 736 """The properties of a storage account’s Blob service. 737 738 Variables are only populated by the server, and will be ignored when sending a request. 739 740 :ivar id: Fully qualified resource ID for the resource. Ex - 741 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 742 :vartype id: str 743 :ivar name: The name of the resource. 744 :vartype name: str 745 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 746 "Microsoft.Storage/storageAccounts". 747 :vartype type: str 748 :ivar sku: Sku name and tier. 749 :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku 750 :param cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule 751 elements in the request. If no CorsRule elements are included in the request body, all CORS 752 rules will be deleted, and CORS will be disabled for the Blob service. 753 :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules 754 :param default_service_version: DefaultServiceVersion indicates the default version to use for 755 requests to the Blob service if an incoming request’s version is not specified. Possible values 756 include version 2008-10-27 and all more recent versions. 757 :type default_service_version: str 758 :param delete_retention_policy: The blob service properties for blob soft delete. 759 :type delete_retention_policy: 760 ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy 761 :param is_versioning_enabled: Versioning is enabled if set to true. 762 :type is_versioning_enabled: bool 763 :param automatic_snapshot_policy_enabled: Deprecated in favor of isVersioningEnabled property. 764 :type automatic_snapshot_policy_enabled: bool 765 :param change_feed: The blob service properties for change feed events. 766 :type change_feed: ~azure.mgmt.storage.v2020_08_01_preview.models.ChangeFeed 767 :param restore_policy: The blob service properties for blob restore policy. 768 :type restore_policy: ~azure.mgmt.storage.v2020_08_01_preview.models.RestorePolicyProperties 769 :param container_delete_retention_policy: The blob service properties for container soft 770 delete. 771 :type container_delete_retention_policy: 772 ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy 773 :param last_access_time_tracking_policy: The blob service property to configure last access 774 time based tracking policy. 775 :type last_access_time_tracking_policy: 776 ~azure.mgmt.storage.v2020_08_01_preview.models.LastAccessTimeTrackingPolicy 777 """ 778 779 _validation = { 780 'id': {'readonly': True}, 781 'name': {'readonly': True}, 782 'type': {'readonly': True}, 783 'sku': {'readonly': True}, 784 } 785 786 _attribute_map = { 787 'id': {'key': 'id', 'type': 'str'}, 788 'name': {'key': 'name', 'type': 'str'}, 789 'type': {'key': 'type', 'type': 'str'}, 790 'sku': {'key': 'sku', 'type': 'Sku'}, 791 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, 792 'default_service_version': {'key': 'properties.defaultServiceVersion', 'type': 'str'}, 793 'delete_retention_policy': {'key': 'properties.deleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, 794 'is_versioning_enabled': {'key': 'properties.isVersioningEnabled', 'type': 'bool'}, 795 'automatic_snapshot_policy_enabled': {'key': 'properties.automaticSnapshotPolicyEnabled', 'type': 'bool'}, 796 'change_feed': {'key': 'properties.changeFeed', 'type': 'ChangeFeed'}, 797 'restore_policy': {'key': 'properties.restorePolicy', 'type': 'RestorePolicyProperties'}, 798 'container_delete_retention_policy': {'key': 'properties.containerDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, 799 'last_access_time_tracking_policy': {'key': 'properties.lastAccessTimeTrackingPolicy', 'type': 'LastAccessTimeTrackingPolicy'}, 800 } 801 802 def __init__( 803 self, 804 *, 805 cors: Optional["CorsRules"] = None, 806 default_service_version: Optional[str] = None, 807 delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, 808 is_versioning_enabled: Optional[bool] = None, 809 automatic_snapshot_policy_enabled: Optional[bool] = None, 810 change_feed: Optional["ChangeFeed"] = None, 811 restore_policy: Optional["RestorePolicyProperties"] = None, 812 container_delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, 813 last_access_time_tracking_policy: Optional["LastAccessTimeTrackingPolicy"] = None, 814 **kwargs 815 ): 816 super(BlobServiceProperties, self).__init__(**kwargs) 817 self.sku = None 818 self.cors = cors 819 self.default_service_version = default_service_version 820 self.delete_retention_policy = delete_retention_policy 821 self.is_versioning_enabled = is_versioning_enabled 822 self.automatic_snapshot_policy_enabled = automatic_snapshot_policy_enabled 823 self.change_feed = change_feed 824 self.restore_policy = restore_policy 825 self.container_delete_retention_policy = container_delete_retention_policy 826 self.last_access_time_tracking_policy = last_access_time_tracking_policy 827 828 829class ChangeFeed(msrest.serialization.Model): 830 """The blob service properties for change feed events. 831 832 :param enabled: Indicates whether change feed event logging is enabled for the Blob service. 833 :type enabled: bool 834 :param retention_in_days: Indicates the duration of changeFeed retention in days. Minimum value 835 is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite 836 retention of the change feed. 837 :type retention_in_days: int 838 """ 839 840 _validation = { 841 'retention_in_days': {'maximum': 146000, 'minimum': 1}, 842 } 843 844 _attribute_map = { 845 'enabled': {'key': 'enabled', 'type': 'bool'}, 846 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, 847 } 848 849 def __init__( 850 self, 851 *, 852 enabled: Optional[bool] = None, 853 retention_in_days: Optional[int] = None, 854 **kwargs 855 ): 856 super(ChangeFeed, self).__init__(**kwargs) 857 self.enabled = enabled 858 self.retention_in_days = retention_in_days 859 860 861class CheckNameAvailabilityResult(msrest.serialization.Model): 862 """The CheckNameAvailability operation response. 863 864 Variables are only populated by the server, and will be ignored when sending a request. 865 866 :ivar name_available: Gets a boolean value that indicates whether the name is available for you 867 to use. If true, the name is available. If false, the name has already been taken or is invalid 868 and cannot be used. 869 :vartype name_available: bool 870 :ivar reason: Gets the reason that a storage account name could not be used. The Reason element 871 is only returned if NameAvailable is false. Possible values include: "AccountNameInvalid", 872 "AlreadyExists". 873 :vartype reason: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Reason 874 :ivar message: Gets an error message explaining the Reason value in more detail. 875 :vartype message: str 876 """ 877 878 _validation = { 879 'name_available': {'readonly': True}, 880 'reason': {'readonly': True}, 881 'message': {'readonly': True}, 882 } 883 884 _attribute_map = { 885 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, 886 'reason': {'key': 'reason', 'type': 'str'}, 887 'message': {'key': 'message', 'type': 'str'}, 888 } 889 890 def __init__( 891 self, 892 **kwargs 893 ): 894 super(CheckNameAvailabilityResult, self).__init__(**kwargs) 895 self.name_available = None 896 self.reason = None 897 self.message = None 898 899 900class CloudErrorBody(msrest.serialization.Model): 901 """An error response from the Storage service. 902 903 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 904 programmatically. 905 :type code: str 906 :param message: A message describing the error, intended to be suitable for display in a user 907 interface. 908 :type message: str 909 :param target: The target of the particular error. For example, the name of the property in 910 error. 911 :type target: str 912 :param details: A list of additional details about the error. 913 :type details: list[~azure.mgmt.storage.v2020_08_01_preview.models.CloudErrorBody] 914 """ 915 916 _attribute_map = { 917 'code': {'key': 'code', 'type': 'str'}, 918 'message': {'key': 'message', 'type': 'str'}, 919 'target': {'key': 'target', 'type': 'str'}, 920 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 921 } 922 923 def __init__( 924 self, 925 *, 926 code: Optional[str] = None, 927 message: Optional[str] = None, 928 target: Optional[str] = None, 929 details: Optional[List["CloudErrorBody"]] = None, 930 **kwargs 931 ): 932 super(CloudErrorBody, self).__init__(**kwargs) 933 self.code = code 934 self.message = message 935 self.target = target 936 self.details = details 937 938 939class CorsRule(msrest.serialization.Model): 940 """Specifies a CORS rule for the Blob service. 941 942 All required parameters must be populated in order to send to Azure. 943 944 :param allowed_origins: Required. Required if CorsRule element is present. A list of origin 945 domains that will be allowed via CORS, or "*" to allow all domains. 946 :type allowed_origins: list[str] 947 :param allowed_methods: Required. Required if CorsRule element is present. A list of HTTP 948 methods that are allowed to be executed by the origin. 949 :type allowed_methods: list[str or 950 ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRuleAllowedMethodsItem] 951 :param max_age_in_seconds: Required. Required if CorsRule element is present. The number of 952 seconds that the client/browser should cache a preflight response. 953 :type max_age_in_seconds: int 954 :param exposed_headers: Required. Required if CorsRule element is present. A list of response 955 headers to expose to CORS clients. 956 :type exposed_headers: list[str] 957 :param allowed_headers: Required. Required if CorsRule element is present. A list of headers 958 allowed to be part of the cross-origin request. 959 :type allowed_headers: list[str] 960 """ 961 962 _validation = { 963 'allowed_origins': {'required': True}, 964 'allowed_methods': {'required': True}, 965 'max_age_in_seconds': {'required': True}, 966 'exposed_headers': {'required': True}, 967 'allowed_headers': {'required': True}, 968 } 969 970 _attribute_map = { 971 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, 972 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, 973 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'int'}, 974 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, 975 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, 976 } 977 978 def __init__( 979 self, 980 *, 981 allowed_origins: List[str], 982 allowed_methods: List[Union[str, "CorsRuleAllowedMethodsItem"]], 983 max_age_in_seconds: int, 984 exposed_headers: List[str], 985 allowed_headers: List[str], 986 **kwargs 987 ): 988 super(CorsRule, self).__init__(**kwargs) 989 self.allowed_origins = allowed_origins 990 self.allowed_methods = allowed_methods 991 self.max_age_in_seconds = max_age_in_seconds 992 self.exposed_headers = exposed_headers 993 self.allowed_headers = allowed_headers 994 995 996class CorsRules(msrest.serialization.Model): 997 """Sets the CORS rules. You can include up to five CorsRule elements in the request. 998 999 :param cors_rules: The List of CORS rules. You can include up to five CorsRule elements in the 1000 request. 1001 :type cors_rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.CorsRule] 1002 """ 1003 1004 _attribute_map = { 1005 'cors_rules': {'key': 'corsRules', 'type': '[CorsRule]'}, 1006 } 1007 1008 def __init__( 1009 self, 1010 *, 1011 cors_rules: Optional[List["CorsRule"]] = None, 1012 **kwargs 1013 ): 1014 super(CorsRules, self).__init__(**kwargs) 1015 self.cors_rules = cors_rules 1016 1017 1018class CustomDomain(msrest.serialization.Model): 1019 """The custom domain assigned to this storage account. This can be set via Update. 1020 1021 All required parameters must be populated in order to send to Azure. 1022 1023 :param name: Required. Gets or sets the custom domain name assigned to the storage account. 1024 Name is the CNAME source. 1025 :type name: str 1026 :param use_sub_domain_name: Indicates whether indirect CName validation is enabled. Default 1027 value is false. This should only be set on updates. 1028 :type use_sub_domain_name: bool 1029 """ 1030 1031 _validation = { 1032 'name': {'required': True}, 1033 } 1034 1035 _attribute_map = { 1036 'name': {'key': 'name', 'type': 'str'}, 1037 'use_sub_domain_name': {'key': 'useSubDomainName', 'type': 'bool'}, 1038 } 1039 1040 def __init__( 1041 self, 1042 *, 1043 name: str, 1044 use_sub_domain_name: Optional[bool] = None, 1045 **kwargs 1046 ): 1047 super(CustomDomain, self).__init__(**kwargs) 1048 self.name = name 1049 self.use_sub_domain_name = use_sub_domain_name 1050 1051 1052class DateAfterCreation(msrest.serialization.Model): 1053 """Object to define the number of days after creation. 1054 1055 All required parameters must be populated in order to send to Azure. 1056 1057 :param days_after_creation_greater_than: Required. Value indicating the age in days after 1058 creation. 1059 :type days_after_creation_greater_than: float 1060 """ 1061 1062 _validation = { 1063 'days_after_creation_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, 1064 } 1065 1066 _attribute_map = { 1067 'days_after_creation_greater_than': {'key': 'daysAfterCreationGreaterThan', 'type': 'float'}, 1068 } 1069 1070 def __init__( 1071 self, 1072 *, 1073 days_after_creation_greater_than: float, 1074 **kwargs 1075 ): 1076 super(DateAfterCreation, self).__init__(**kwargs) 1077 self.days_after_creation_greater_than = days_after_creation_greater_than 1078 1079 1080class DateAfterModification(msrest.serialization.Model): 1081 """Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. 1082 1083 :param days_after_modification_greater_than: Value indicating the age in days after last 1084 modification. 1085 :type days_after_modification_greater_than: float 1086 :param days_after_last_access_time_greater_than: Value indicating the age in days after last 1087 blob access. This property can only be used in conjunction with last access time tracking 1088 policy. 1089 :type days_after_last_access_time_greater_than: float 1090 """ 1091 1092 _validation = { 1093 'days_after_modification_greater_than': {'minimum': 0, 'multiple': 1}, 1094 'days_after_last_access_time_greater_than': {'minimum': 0, 'multiple': 1}, 1095 } 1096 1097 _attribute_map = { 1098 'days_after_modification_greater_than': {'key': 'daysAfterModificationGreaterThan', 'type': 'float'}, 1099 'days_after_last_access_time_greater_than': {'key': 'daysAfterLastAccessTimeGreaterThan', 'type': 'float'}, 1100 } 1101 1102 def __init__( 1103 self, 1104 *, 1105 days_after_modification_greater_than: Optional[float] = None, 1106 days_after_last_access_time_greater_than: Optional[float] = None, 1107 **kwargs 1108 ): 1109 super(DateAfterModification, self).__init__(**kwargs) 1110 self.days_after_modification_greater_than = days_after_modification_greater_than 1111 self.days_after_last_access_time_greater_than = days_after_last_access_time_greater_than 1112 1113 1114class ProxyResource(Resource): 1115 """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. 1116 1117 Variables are only populated by the server, and will be ignored when sending a request. 1118 1119 :ivar id: Fully qualified resource ID for the resource. Ex - 1120 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1121 :vartype id: str 1122 :ivar name: The name of the resource. 1123 :vartype name: str 1124 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1125 "Microsoft.Storage/storageAccounts". 1126 :vartype type: str 1127 """ 1128 1129 _validation = { 1130 'id': {'readonly': True}, 1131 'name': {'readonly': True}, 1132 'type': {'readonly': True}, 1133 } 1134 1135 _attribute_map = { 1136 'id': {'key': 'id', 'type': 'str'}, 1137 'name': {'key': 'name', 'type': 'str'}, 1138 'type': {'key': 'type', 'type': 'str'}, 1139 } 1140 1141 def __init__( 1142 self, 1143 **kwargs 1144 ): 1145 super(ProxyResource, self).__init__(**kwargs) 1146 1147 1148class DeletedAccount(ProxyResource): 1149 """Deleted storage account. 1150 1151 Variables are only populated by the server, and will be ignored when sending a request. 1152 1153 :ivar id: Fully qualified resource ID for the resource. Ex - 1154 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1155 :vartype id: str 1156 :ivar name: The name of the resource. 1157 :vartype name: str 1158 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1159 "Microsoft.Storage/storageAccounts". 1160 :vartype type: str 1161 :ivar storage_account_resource_id: Full resource id of the original storage account. 1162 :vartype storage_account_resource_id: str 1163 :ivar location: Location of the deleted account. 1164 :vartype location: str 1165 :ivar restore_reference: Can be used to attempt recovering this deleted account via 1166 PutStorageAccount API. 1167 :vartype restore_reference: str 1168 :ivar creation_time: Creation time of the deleted account. 1169 :vartype creation_time: str 1170 :ivar deletion_time: Deletion time of the deleted account. 1171 :vartype deletion_time: str 1172 """ 1173 1174 _validation = { 1175 'id': {'readonly': True}, 1176 'name': {'readonly': True}, 1177 'type': {'readonly': True}, 1178 'storage_account_resource_id': {'readonly': True}, 1179 'location': {'readonly': True}, 1180 'restore_reference': {'readonly': True}, 1181 'creation_time': {'readonly': True}, 1182 'deletion_time': {'readonly': True}, 1183 } 1184 1185 _attribute_map = { 1186 'id': {'key': 'id', 'type': 'str'}, 1187 'name': {'key': 'name', 'type': 'str'}, 1188 'type': {'key': 'type', 'type': 'str'}, 1189 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, 1190 'location': {'key': 'properties.location', 'type': 'str'}, 1191 'restore_reference': {'key': 'properties.restoreReference', 'type': 'str'}, 1192 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, 1193 'deletion_time': {'key': 'properties.deletionTime', 'type': 'str'}, 1194 } 1195 1196 def __init__( 1197 self, 1198 **kwargs 1199 ): 1200 super(DeletedAccount, self).__init__(**kwargs) 1201 self.storage_account_resource_id = None 1202 self.location = None 1203 self.restore_reference = None 1204 self.creation_time = None 1205 self.deletion_time = None 1206 1207 1208class DeletedAccountListResult(msrest.serialization.Model): 1209 """The response from the List Deleted Accounts operation. 1210 1211 Variables are only populated by the server, and will be ignored when sending a request. 1212 1213 :ivar value: Gets the list of deleted accounts and their properties. 1214 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccount] 1215 :ivar next_link: Request URL that can be used to query next page of deleted accounts. Returned 1216 when total number of requested deleted accounts exceed maximum page size. 1217 :vartype next_link: str 1218 """ 1219 1220 _validation = { 1221 'value': {'readonly': True}, 1222 'next_link': {'readonly': True}, 1223 } 1224 1225 _attribute_map = { 1226 'value': {'key': 'value', 'type': '[DeletedAccount]'}, 1227 'next_link': {'key': 'nextLink', 'type': 'str'}, 1228 } 1229 1230 def __init__( 1231 self, 1232 **kwargs 1233 ): 1234 super(DeletedAccountListResult, self).__init__(**kwargs) 1235 self.value = None 1236 self.next_link = None 1237 1238 1239class DeletedShare(msrest.serialization.Model): 1240 """The deleted share to be restored. 1241 1242 All required parameters must be populated in order to send to Azure. 1243 1244 :param deleted_share_name: Required. Required. Identify the name of the deleted share that will 1245 be restored. 1246 :type deleted_share_name: str 1247 :param deleted_share_version: Required. Required. Identify the version of the deleted share 1248 that will be restored. 1249 :type deleted_share_version: str 1250 """ 1251 1252 _validation = { 1253 'deleted_share_name': {'required': True}, 1254 'deleted_share_version': {'required': True}, 1255 } 1256 1257 _attribute_map = { 1258 'deleted_share_name': {'key': 'deletedShareName', 'type': 'str'}, 1259 'deleted_share_version': {'key': 'deletedShareVersion', 'type': 'str'}, 1260 } 1261 1262 def __init__( 1263 self, 1264 *, 1265 deleted_share_name: str, 1266 deleted_share_version: str, 1267 **kwargs 1268 ): 1269 super(DeletedShare, self).__init__(**kwargs) 1270 self.deleted_share_name = deleted_share_name 1271 self.deleted_share_version = deleted_share_version 1272 1273 1274class DeleteRetentionPolicy(msrest.serialization.Model): 1275 """The service properties for soft delete. 1276 1277 :param enabled: Indicates whether DeleteRetentionPolicy is enabled. 1278 :type enabled: bool 1279 :param days: Indicates the number of days that the deleted item should be retained. The minimum 1280 specified value can be 1 and the maximum value can be 365. 1281 :type days: int 1282 """ 1283 1284 _validation = { 1285 'days': {'maximum': 365, 'minimum': 1}, 1286 } 1287 1288 _attribute_map = { 1289 'enabled': {'key': 'enabled', 'type': 'bool'}, 1290 'days': {'key': 'days', 'type': 'int'}, 1291 } 1292 1293 def __init__( 1294 self, 1295 *, 1296 enabled: Optional[bool] = None, 1297 days: Optional[int] = None, 1298 **kwargs 1299 ): 1300 super(DeleteRetentionPolicy, self).__init__(**kwargs) 1301 self.enabled = enabled 1302 self.days = days 1303 1304 1305class Dimension(msrest.serialization.Model): 1306 """Dimension of blobs, possibly be blob type or access tier. 1307 1308 :param name: Display name of dimension. 1309 :type name: str 1310 :param display_name: Display name of dimension. 1311 :type display_name: str 1312 """ 1313 1314 _attribute_map = { 1315 'name': {'key': 'name', 'type': 'str'}, 1316 'display_name': {'key': 'displayName', 'type': 'str'}, 1317 } 1318 1319 def __init__( 1320 self, 1321 *, 1322 name: Optional[str] = None, 1323 display_name: Optional[str] = None, 1324 **kwargs 1325 ): 1326 super(Dimension, self).__init__(**kwargs) 1327 self.name = name 1328 self.display_name = display_name 1329 1330 1331class Encryption(msrest.serialization.Model): 1332 """The encryption settings on the storage account. 1333 1334 All required parameters must be populated in order to send to Azure. 1335 1336 :param services: List of services which support encryption. 1337 :type services: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionServices 1338 :param key_source: Required. The encryption keySource (provider). Possible values 1339 (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible values include: 1340 "Microsoft.Storage", "Microsoft.Keyvault". Default value: "Microsoft.Storage". 1341 :type key_source: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeySource 1342 :param require_infrastructure_encryption: A boolean indicating whether or not the service 1343 applies a secondary layer of encryption with platform managed keys for data at rest. 1344 :type require_infrastructure_encryption: bool 1345 :param key_vault_properties: Properties provided by key vault. 1346 :type key_vault_properties: ~azure.mgmt.storage.v2020_08_01_preview.models.KeyVaultProperties 1347 """ 1348 1349 _validation = { 1350 'key_source': {'required': True}, 1351 } 1352 1353 _attribute_map = { 1354 'services': {'key': 'services', 'type': 'EncryptionServices'}, 1355 'key_source': {'key': 'keySource', 'type': 'str'}, 1356 'require_infrastructure_encryption': {'key': 'requireInfrastructureEncryption', 'type': 'bool'}, 1357 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, 1358 } 1359 1360 def __init__( 1361 self, 1362 *, 1363 key_source: Union[str, "KeySource"] = "Microsoft.Storage", 1364 services: Optional["EncryptionServices"] = None, 1365 require_infrastructure_encryption: Optional[bool] = None, 1366 key_vault_properties: Optional["KeyVaultProperties"] = None, 1367 **kwargs 1368 ): 1369 super(Encryption, self).__init__(**kwargs) 1370 self.services = services 1371 self.key_source = key_source 1372 self.require_infrastructure_encryption = require_infrastructure_encryption 1373 self.key_vault_properties = key_vault_properties 1374 1375 1376class EncryptionScope(Resource): 1377 """The Encryption Scope resource. 1378 1379 Variables are only populated by the server, and will be ignored when sending a request. 1380 1381 :ivar id: Fully qualified resource ID for the resource. Ex - 1382 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1383 :vartype id: str 1384 :ivar name: The name of the resource. 1385 :vartype name: str 1386 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1387 "Microsoft.Storage/storageAccounts". 1388 :vartype type: str 1389 :param source: The provider for the encryption scope. Possible values (case-insensitive): 1390 Microsoft.Storage, Microsoft.KeyVault. Possible values include: "Microsoft.Storage", 1391 "Microsoft.KeyVault". 1392 :type source: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeSource 1393 :param state: The state of the encryption scope. Possible values (case-insensitive): Enabled, 1394 Disabled. Possible values include: "Enabled", "Disabled". 1395 :type state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeState 1396 :ivar creation_time: Gets the creation date and time of the encryption scope in UTC. 1397 :vartype creation_time: ~datetime.datetime 1398 :ivar last_modified_time: Gets the last modification date and time of the encryption scope in 1399 UTC. 1400 :vartype last_modified_time: ~datetime.datetime 1401 :param key_vault_properties: The key vault properties for the encryption scope. This is a 1402 required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. 1403 :type key_vault_properties: 1404 ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeKeyVaultProperties 1405 """ 1406 1407 _validation = { 1408 'id': {'readonly': True}, 1409 'name': {'readonly': True}, 1410 'type': {'readonly': True}, 1411 'creation_time': {'readonly': True}, 1412 'last_modified_time': {'readonly': True}, 1413 } 1414 1415 _attribute_map = { 1416 'id': {'key': 'id', 'type': 'str'}, 1417 'name': {'key': 'name', 'type': 'str'}, 1418 'type': {'key': 'type', 'type': 'str'}, 1419 'source': {'key': 'properties.source', 'type': 'str'}, 1420 'state': {'key': 'properties.state', 'type': 'str'}, 1421 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 1422 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 1423 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'EncryptionScopeKeyVaultProperties'}, 1424 } 1425 1426 def __init__( 1427 self, 1428 *, 1429 source: Optional[Union[str, "EncryptionScopeSource"]] = None, 1430 state: Optional[Union[str, "EncryptionScopeState"]] = None, 1431 key_vault_properties: Optional["EncryptionScopeKeyVaultProperties"] = None, 1432 **kwargs 1433 ): 1434 super(EncryptionScope, self).__init__(**kwargs) 1435 self.source = source 1436 self.state = state 1437 self.creation_time = None 1438 self.last_modified_time = None 1439 self.key_vault_properties = key_vault_properties 1440 1441 1442class EncryptionScopeKeyVaultProperties(msrest.serialization.Model): 1443 """The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. 1444 1445 :param key_uri: The object identifier for a key vault key object. When applied, the encryption 1446 scope will use the key referenced by the identifier to enable customer-managed key support on 1447 this encryption scope. 1448 :type key_uri: str 1449 """ 1450 1451 _attribute_map = { 1452 'key_uri': {'key': 'keyUri', 'type': 'str'}, 1453 } 1454 1455 def __init__( 1456 self, 1457 *, 1458 key_uri: Optional[str] = None, 1459 **kwargs 1460 ): 1461 super(EncryptionScopeKeyVaultProperties, self).__init__(**kwargs) 1462 self.key_uri = key_uri 1463 1464 1465class EncryptionScopeListResult(msrest.serialization.Model): 1466 """List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes. 1467 1468 Variables are only populated by the server, and will be ignored when sending a request. 1469 1470 :ivar value: List of encryption scopes requested. 1471 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope] 1472 :ivar next_link: Request URL that can be used to query next page of encryption scopes. Returned 1473 when total number of requested encryption scopes exceeds the maximum page size. 1474 :vartype next_link: str 1475 """ 1476 1477 _validation = { 1478 'value': {'readonly': True}, 1479 'next_link': {'readonly': True}, 1480 } 1481 1482 _attribute_map = { 1483 'value': {'key': 'value', 'type': '[EncryptionScope]'}, 1484 'next_link': {'key': 'nextLink', 'type': 'str'}, 1485 } 1486 1487 def __init__( 1488 self, 1489 **kwargs 1490 ): 1491 super(EncryptionScopeListResult, self).__init__(**kwargs) 1492 self.value = None 1493 self.next_link = None 1494 1495 1496class EncryptionService(msrest.serialization.Model): 1497 """A service that allows server-side encryption to be used. 1498 1499 Variables are only populated by the server, and will be ignored when sending a request. 1500 1501 :param enabled: A boolean indicating whether or not the service encrypts the data as it is 1502 stored. 1503 :type enabled: bool 1504 :ivar last_enabled_time: Gets a rough estimate of the date/time when the encryption was last 1505 enabled by the user. Only returned when encryption is enabled. There might be some unencrypted 1506 blobs which were written after this time, as it is just a rough estimate. 1507 :vartype last_enabled_time: ~datetime.datetime 1508 :param key_type: Encryption key type to be used for the encryption service. 'Account' key type 1509 implies that an account-scoped encryption key will be used. 'Service' key type implies that a 1510 default service key is used. Possible values include: "Service", "Account". 1511 :type key_type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeyType 1512 """ 1513 1514 _validation = { 1515 'last_enabled_time': {'readonly': True}, 1516 } 1517 1518 _attribute_map = { 1519 'enabled': {'key': 'enabled', 'type': 'bool'}, 1520 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, 1521 'key_type': {'key': 'keyType', 'type': 'str'}, 1522 } 1523 1524 def __init__( 1525 self, 1526 *, 1527 enabled: Optional[bool] = None, 1528 key_type: Optional[Union[str, "KeyType"]] = None, 1529 **kwargs 1530 ): 1531 super(EncryptionService, self).__init__(**kwargs) 1532 self.enabled = enabled 1533 self.last_enabled_time = None 1534 self.key_type = key_type 1535 1536 1537class EncryptionServices(msrest.serialization.Model): 1538 """A list of services that support encryption. 1539 1540 :param blob: The encryption function of the blob storage service. 1541 :type blob: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService 1542 :param file: The encryption function of the file storage service. 1543 :type file: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService 1544 :param table: The encryption function of the table storage service. 1545 :type table: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService 1546 :param queue: The encryption function of the queue storage service. 1547 :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService 1548 """ 1549 1550 _attribute_map = { 1551 'blob': {'key': 'blob', 'type': 'EncryptionService'}, 1552 'file': {'key': 'file', 'type': 'EncryptionService'}, 1553 'table': {'key': 'table', 'type': 'EncryptionService'}, 1554 'queue': {'key': 'queue', 'type': 'EncryptionService'}, 1555 } 1556 1557 def __init__( 1558 self, 1559 *, 1560 blob: Optional["EncryptionService"] = None, 1561 file: Optional["EncryptionService"] = None, 1562 table: Optional["EncryptionService"] = None, 1563 queue: Optional["EncryptionService"] = None, 1564 **kwargs 1565 ): 1566 super(EncryptionServices, self).__init__(**kwargs) 1567 self.blob = blob 1568 self.file = file 1569 self.table = table 1570 self.queue = queue 1571 1572 1573class Endpoints(msrest.serialization.Model): 1574 """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. 1575 1576 Variables are only populated by the server, and will be ignored when sending a request. 1577 1578 :ivar blob: Gets the blob endpoint. 1579 :vartype blob: str 1580 :ivar queue: Gets the queue endpoint. 1581 :vartype queue: str 1582 :ivar table: Gets the table endpoint. 1583 :vartype table: str 1584 :ivar file: Gets the file endpoint. 1585 :vartype file: str 1586 :ivar web: Gets the web endpoint. 1587 :vartype web: str 1588 :ivar dfs: Gets the dfs endpoint. 1589 :vartype dfs: str 1590 :param microsoft_endpoints: Gets the microsoft routing storage endpoints. 1591 :type microsoft_endpoints: 1592 ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountMicrosoftEndpoints 1593 :param internet_endpoints: Gets the internet routing storage endpoints. 1594 :type internet_endpoints: 1595 ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountInternetEndpoints 1596 """ 1597 1598 _validation = { 1599 'blob': {'readonly': True}, 1600 'queue': {'readonly': True}, 1601 'table': {'readonly': True}, 1602 'file': {'readonly': True}, 1603 'web': {'readonly': True}, 1604 'dfs': {'readonly': True}, 1605 } 1606 1607 _attribute_map = { 1608 'blob': {'key': 'blob', 'type': 'str'}, 1609 'queue': {'key': 'queue', 'type': 'str'}, 1610 'table': {'key': 'table', 'type': 'str'}, 1611 'file': {'key': 'file', 'type': 'str'}, 1612 'web': {'key': 'web', 'type': 'str'}, 1613 'dfs': {'key': 'dfs', 'type': 'str'}, 1614 'microsoft_endpoints': {'key': 'microsoftEndpoints', 'type': 'StorageAccountMicrosoftEndpoints'}, 1615 'internet_endpoints': {'key': 'internetEndpoints', 'type': 'StorageAccountInternetEndpoints'}, 1616 } 1617 1618 def __init__( 1619 self, 1620 *, 1621 microsoft_endpoints: Optional["StorageAccountMicrosoftEndpoints"] = None, 1622 internet_endpoints: Optional["StorageAccountInternetEndpoints"] = None, 1623 **kwargs 1624 ): 1625 super(Endpoints, self).__init__(**kwargs) 1626 self.blob = None 1627 self.queue = None 1628 self.table = None 1629 self.file = None 1630 self.web = None 1631 self.dfs = None 1632 self.microsoft_endpoints = microsoft_endpoints 1633 self.internet_endpoints = internet_endpoints 1634 1635 1636class ErrorResponse(msrest.serialization.Model): 1637 """An error response from the storage resource provider. 1638 1639 :param error: Azure Storage Resource Provider error response body. 1640 :type error: ~azure.mgmt.storage.v2020_08_01_preview.models.ErrorResponseBody 1641 """ 1642 1643 _attribute_map = { 1644 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, 1645 } 1646 1647 def __init__( 1648 self, 1649 *, 1650 error: Optional["ErrorResponseBody"] = None, 1651 **kwargs 1652 ): 1653 super(ErrorResponse, self).__init__(**kwargs) 1654 self.error = error 1655 1656 1657class ErrorResponseBody(msrest.serialization.Model): 1658 """Error response body contract. 1659 1660 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 1661 programmatically. 1662 :type code: str 1663 :param message: A message describing the error, intended to be suitable for display in a user 1664 interface. 1665 :type message: str 1666 """ 1667 1668 _attribute_map = { 1669 'code': {'key': 'code', 'type': 'str'}, 1670 'message': {'key': 'message', 'type': 'str'}, 1671 } 1672 1673 def __init__( 1674 self, 1675 *, 1676 code: Optional[str] = None, 1677 message: Optional[str] = None, 1678 **kwargs 1679 ): 1680 super(ErrorResponseBody, self).__init__(**kwargs) 1681 self.code = code 1682 self.message = message 1683 1684 1685class ExtendedLocation(msrest.serialization.Model): 1686 """The complex type of the extended location. 1687 1688 :param name: The name of the extended location. 1689 :type name: str 1690 :param type: The type of the extended location. Possible values include: "EdgeZone". 1691 :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocationTypes 1692 """ 1693 1694 _attribute_map = { 1695 'name': {'key': 'name', 'type': 'str'}, 1696 'type': {'key': 'type', 'type': 'str'}, 1697 } 1698 1699 def __init__( 1700 self, 1701 *, 1702 name: Optional[str] = None, 1703 type: Optional[Union[str, "ExtendedLocationTypes"]] = None, 1704 **kwargs 1705 ): 1706 super(ExtendedLocation, self).__init__(**kwargs) 1707 self.name = name 1708 self.type = type 1709 1710 1711class FileServiceItems(msrest.serialization.Model): 1712 """FileServiceItems. 1713 1714 Variables are only populated by the server, and will be ignored when sending a request. 1715 1716 :ivar value: List of file services returned. 1717 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties] 1718 """ 1719 1720 _validation = { 1721 'value': {'readonly': True}, 1722 } 1723 1724 _attribute_map = { 1725 'value': {'key': 'value', 'type': '[FileServiceProperties]'}, 1726 } 1727 1728 def __init__( 1729 self, 1730 **kwargs 1731 ): 1732 super(FileServiceItems, self).__init__(**kwargs) 1733 self.value = None 1734 1735 1736class FileServiceProperties(Resource): 1737 """The properties of File services in storage account. 1738 1739 Variables are only populated by the server, and will be ignored when sending a request. 1740 1741 :ivar id: Fully qualified resource ID for the resource. Ex - 1742 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1743 :vartype id: str 1744 :ivar name: The name of the resource. 1745 :vartype name: str 1746 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1747 "Microsoft.Storage/storageAccounts". 1748 :vartype type: str 1749 :ivar sku: Sku name and tier. 1750 :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku 1751 :param cors: Specifies CORS rules for the File service. You can include up to five CorsRule 1752 elements in the request. If no CorsRule elements are included in the request body, all CORS 1753 rules will be deleted, and CORS will be disabled for the File service. 1754 :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules 1755 :param share_delete_retention_policy: The file service properties for share soft delete. 1756 :type share_delete_retention_policy: 1757 ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy 1758 :param protocol_settings: Protocol settings for file service. 1759 :type protocol_settings: ~azure.mgmt.storage.v2020_08_01_preview.models.ProtocolSettings 1760 """ 1761 1762 _validation = { 1763 'id': {'readonly': True}, 1764 'name': {'readonly': True}, 1765 'type': {'readonly': True}, 1766 'sku': {'readonly': True}, 1767 } 1768 1769 _attribute_map = { 1770 'id': {'key': 'id', 'type': 'str'}, 1771 'name': {'key': 'name', 'type': 'str'}, 1772 'type': {'key': 'type', 'type': 'str'}, 1773 'sku': {'key': 'sku', 'type': 'Sku'}, 1774 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, 1775 'share_delete_retention_policy': {'key': 'properties.shareDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, 1776 'protocol_settings': {'key': 'properties.protocolSettings', 'type': 'ProtocolSettings'}, 1777 } 1778 1779 def __init__( 1780 self, 1781 *, 1782 cors: Optional["CorsRules"] = None, 1783 share_delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, 1784 protocol_settings: Optional["ProtocolSettings"] = None, 1785 **kwargs 1786 ): 1787 super(FileServiceProperties, self).__init__(**kwargs) 1788 self.sku = None 1789 self.cors = cors 1790 self.share_delete_retention_policy = share_delete_retention_policy 1791 self.protocol_settings = protocol_settings 1792 1793 1794class FileShare(AzureEntityResource): 1795 """Properties of the file share, including Id, resource name, resource type, Etag. 1796 1797 Variables are only populated by the server, and will be ignored when sending a request. 1798 1799 :ivar id: Fully qualified resource ID for the resource. Ex - 1800 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1801 :vartype id: str 1802 :ivar name: The name of the resource. 1803 :vartype name: str 1804 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1805 "Microsoft.Storage/storageAccounts". 1806 :vartype type: str 1807 :ivar etag: Resource Etag. 1808 :vartype etag: str 1809 :ivar last_modified_time: Returns the date and time the share was last modified. 1810 :vartype last_modified_time: ~datetime.datetime 1811 :param metadata: A name-value pair to associate with the share as metadata. 1812 :type metadata: dict[str, str] 1813 :param share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and 1814 less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. 1815 :type share_quota: int 1816 :param enabled_protocols: The authentication protocol that is used for the file share. Can only 1817 be specified when creating a share. Possible values include: "SMB", "NFS". 1818 :type enabled_protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EnabledProtocols 1819 :param root_squash: The property is for NFS share only. The default is NoRootSquash. Possible 1820 values include: "NoRootSquash", "RootSquash", "AllSquash". 1821 :type root_squash: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RootSquashType 1822 :ivar version: The version of the share. 1823 :vartype version: str 1824 :ivar deleted: Indicates whether the share was deleted. 1825 :vartype deleted: bool 1826 :ivar deleted_time: The deleted time if the share was deleted. 1827 :vartype deleted_time: ~datetime.datetime 1828 :ivar remaining_retention_days: Remaining retention days for share that was soft deleted. 1829 :vartype remaining_retention_days: int 1830 :param access_tier: Access tier for specific share. GpV2 account can choose between 1831 TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible 1832 values include: "TransactionOptimized", "Hot", "Cool", "Premium". 1833 :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ShareAccessTier 1834 :ivar access_tier_change_time: Indicates the last modification time for share access tier. 1835 :vartype access_tier_change_time: ~datetime.datetime 1836 :ivar access_tier_status: Indicates if there is a pending transition for access tier. 1837 :vartype access_tier_status: str 1838 :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this 1839 value may not include all recently created or recently resized files. 1840 :vartype share_usage_bytes: long 1841 :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares 1842 with expand param "snapshots". 1843 :vartype snapshot_time: ~datetime.datetime 1844 """ 1845 1846 _validation = { 1847 'id': {'readonly': True}, 1848 'name': {'readonly': True}, 1849 'type': {'readonly': True}, 1850 'etag': {'readonly': True}, 1851 'last_modified_time': {'readonly': True}, 1852 'share_quota': {'maximum': 102400, 'minimum': 1}, 1853 'version': {'readonly': True}, 1854 'deleted': {'readonly': True}, 1855 'deleted_time': {'readonly': True}, 1856 'remaining_retention_days': {'readonly': True}, 1857 'access_tier_change_time': {'readonly': True}, 1858 'access_tier_status': {'readonly': True}, 1859 'share_usage_bytes': {'readonly': True}, 1860 'snapshot_time': {'readonly': True}, 1861 } 1862 1863 _attribute_map = { 1864 'id': {'key': 'id', 'type': 'str'}, 1865 'name': {'key': 'name', 'type': 'str'}, 1866 'type': {'key': 'type', 'type': 'str'}, 1867 'etag': {'key': 'etag', 'type': 'str'}, 1868 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 1869 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 1870 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, 1871 'enabled_protocols': {'key': 'properties.enabledProtocols', 'type': 'str'}, 1872 'root_squash': {'key': 'properties.rootSquash', 'type': 'str'}, 1873 'version': {'key': 'properties.version', 'type': 'str'}, 1874 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, 1875 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, 1876 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, 1877 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 1878 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, 1879 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, 1880 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, 1881 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, 1882 } 1883 1884 def __init__( 1885 self, 1886 *, 1887 metadata: Optional[Dict[str, str]] = None, 1888 share_quota: Optional[int] = None, 1889 enabled_protocols: Optional[Union[str, "EnabledProtocols"]] = None, 1890 root_squash: Optional[Union[str, "RootSquashType"]] = None, 1891 access_tier: Optional[Union[str, "ShareAccessTier"]] = None, 1892 **kwargs 1893 ): 1894 super(FileShare, self).__init__(**kwargs) 1895 self.last_modified_time = None 1896 self.metadata = metadata 1897 self.share_quota = share_quota 1898 self.enabled_protocols = enabled_protocols 1899 self.root_squash = root_squash 1900 self.version = None 1901 self.deleted = None 1902 self.deleted_time = None 1903 self.remaining_retention_days = None 1904 self.access_tier = access_tier 1905 self.access_tier_change_time = None 1906 self.access_tier_status = None 1907 self.share_usage_bytes = None 1908 self.snapshot_time = None 1909 1910 1911class FileShareItem(AzureEntityResource): 1912 """The file share properties be listed out. 1913 1914 Variables are only populated by the server, and will be ignored when sending a request. 1915 1916 :ivar id: Fully qualified resource ID for the resource. Ex - 1917 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 1918 :vartype id: str 1919 :ivar name: The name of the resource. 1920 :vartype name: str 1921 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 1922 "Microsoft.Storage/storageAccounts". 1923 :vartype type: str 1924 :ivar etag: Resource Etag. 1925 :vartype etag: str 1926 :ivar last_modified_time: Returns the date and time the share was last modified. 1927 :vartype last_modified_time: ~datetime.datetime 1928 :param metadata: A name-value pair to associate with the share as metadata. 1929 :type metadata: dict[str, str] 1930 :param share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and 1931 less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. 1932 :type share_quota: int 1933 :param enabled_protocols: The authentication protocol that is used for the file share. Can only 1934 be specified when creating a share. Possible values include: "SMB", "NFS". 1935 :type enabled_protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EnabledProtocols 1936 :param root_squash: The property is for NFS share only. The default is NoRootSquash. Possible 1937 values include: "NoRootSquash", "RootSquash", "AllSquash". 1938 :type root_squash: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RootSquashType 1939 :ivar version: The version of the share. 1940 :vartype version: str 1941 :ivar deleted: Indicates whether the share was deleted. 1942 :vartype deleted: bool 1943 :ivar deleted_time: The deleted time if the share was deleted. 1944 :vartype deleted_time: ~datetime.datetime 1945 :ivar remaining_retention_days: Remaining retention days for share that was soft deleted. 1946 :vartype remaining_retention_days: int 1947 :param access_tier: Access tier for specific share. GpV2 account can choose between 1948 TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible 1949 values include: "TransactionOptimized", "Hot", "Cool", "Premium". 1950 :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ShareAccessTier 1951 :ivar access_tier_change_time: Indicates the last modification time for share access tier. 1952 :vartype access_tier_change_time: ~datetime.datetime 1953 :ivar access_tier_status: Indicates if there is a pending transition for access tier. 1954 :vartype access_tier_status: str 1955 :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this 1956 value may not include all recently created or recently resized files. 1957 :vartype share_usage_bytes: long 1958 :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares 1959 with expand param "snapshots". 1960 :vartype snapshot_time: ~datetime.datetime 1961 """ 1962 1963 _validation = { 1964 'id': {'readonly': True}, 1965 'name': {'readonly': True}, 1966 'type': {'readonly': True}, 1967 'etag': {'readonly': True}, 1968 'last_modified_time': {'readonly': True}, 1969 'share_quota': {'maximum': 102400, 'minimum': 1}, 1970 'version': {'readonly': True}, 1971 'deleted': {'readonly': True}, 1972 'deleted_time': {'readonly': True}, 1973 'remaining_retention_days': {'readonly': True}, 1974 'access_tier_change_time': {'readonly': True}, 1975 'access_tier_status': {'readonly': True}, 1976 'share_usage_bytes': {'readonly': True}, 1977 'snapshot_time': {'readonly': True}, 1978 } 1979 1980 _attribute_map = { 1981 'id': {'key': 'id', 'type': 'str'}, 1982 'name': {'key': 'name', 'type': 'str'}, 1983 'type': {'key': 'type', 'type': 'str'}, 1984 'etag': {'key': 'etag', 'type': 'str'}, 1985 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 1986 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 1987 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, 1988 'enabled_protocols': {'key': 'properties.enabledProtocols', 'type': 'str'}, 1989 'root_squash': {'key': 'properties.rootSquash', 'type': 'str'}, 1990 'version': {'key': 'properties.version', 'type': 'str'}, 1991 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, 1992 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, 1993 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, 1994 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 1995 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, 1996 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, 1997 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, 1998 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, 1999 } 2000 2001 def __init__( 2002 self, 2003 *, 2004 metadata: Optional[Dict[str, str]] = None, 2005 share_quota: Optional[int] = None, 2006 enabled_protocols: Optional[Union[str, "EnabledProtocols"]] = None, 2007 root_squash: Optional[Union[str, "RootSquashType"]] = None, 2008 access_tier: Optional[Union[str, "ShareAccessTier"]] = None, 2009 **kwargs 2010 ): 2011 super(FileShareItem, self).__init__(**kwargs) 2012 self.last_modified_time = None 2013 self.metadata = metadata 2014 self.share_quota = share_quota 2015 self.enabled_protocols = enabled_protocols 2016 self.root_squash = root_squash 2017 self.version = None 2018 self.deleted = None 2019 self.deleted_time = None 2020 self.remaining_retention_days = None 2021 self.access_tier = access_tier 2022 self.access_tier_change_time = None 2023 self.access_tier_status = None 2024 self.share_usage_bytes = None 2025 self.snapshot_time = None 2026 2027 2028class FileShareItems(msrest.serialization.Model): 2029 """Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares. 2030 2031 Variables are only populated by the server, and will be ignored when sending a request. 2032 2033 :ivar value: List of file shares returned. 2034 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.FileShareItem] 2035 :ivar next_link: Request URL that can be used to query next page of shares. Returned when total 2036 number of requested shares exceed maximum page size. 2037 :vartype next_link: str 2038 """ 2039 2040 _validation = { 2041 'value': {'readonly': True}, 2042 'next_link': {'readonly': True}, 2043 } 2044 2045 _attribute_map = { 2046 'value': {'key': 'value', 'type': '[FileShareItem]'}, 2047 'next_link': {'key': 'nextLink', 'type': 'str'}, 2048 } 2049 2050 def __init__( 2051 self, 2052 **kwargs 2053 ): 2054 super(FileShareItems, self).__init__(**kwargs) 2055 self.value = None 2056 self.next_link = None 2057 2058 2059class GeoReplicationStats(msrest.serialization.Model): 2060 """Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account. 2061 2062 Variables are only populated by the server, and will be ignored when sending a request. 2063 2064 :ivar status: The status of the secondary location. Possible values are: - Live: Indicates that 2065 the secondary location is active and operational. - Bootstrap: Indicates initial 2066 synchronization from the primary location to the secondary location is in progress.This 2067 typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary 2068 location is temporarily unavailable. Possible values include: "Live", "Bootstrap", 2069 "Unavailable". 2070 :vartype status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.GeoReplicationStatus 2071 :ivar last_sync_time: All primary writes preceding this UTC date/time value are guaranteed to 2072 be available for read operations. Primary writes following this point in time may or may not be 2073 available for reads. Element may be default value if value of LastSyncTime is not available, 2074 this can happen if secondary is offline or we are in bootstrap. 2075 :vartype last_sync_time: ~datetime.datetime 2076 :ivar can_failover: A boolean flag which indicates whether or not account failover is supported 2077 for the account. 2078 :vartype can_failover: bool 2079 """ 2080 2081 _validation = { 2082 'status': {'readonly': True}, 2083 'last_sync_time': {'readonly': True}, 2084 'can_failover': {'readonly': True}, 2085 } 2086 2087 _attribute_map = { 2088 'status': {'key': 'status', 'type': 'str'}, 2089 'last_sync_time': {'key': 'lastSyncTime', 'type': 'iso-8601'}, 2090 'can_failover': {'key': 'canFailover', 'type': 'bool'}, 2091 } 2092 2093 def __init__( 2094 self, 2095 **kwargs 2096 ): 2097 super(GeoReplicationStats, self).__init__(**kwargs) 2098 self.status = None 2099 self.last_sync_time = None 2100 self.can_failover = None 2101 2102 2103class Identity(msrest.serialization.Model): 2104 """Identity for the resource. 2105 2106 Variables are only populated by the server, and will be ignored when sending a request. 2107 2108 All required parameters must be populated in order to send to Azure. 2109 2110 :ivar principal_id: The principal ID of resource identity. 2111 :vartype principal_id: str 2112 :ivar tenant_id: The tenant ID of resource. 2113 :vartype tenant_id: str 2114 :ivar type: The identity type. Has constant value: "SystemAssigned". 2115 :vartype type: str 2116 """ 2117 2118 _validation = { 2119 'principal_id': {'readonly': True}, 2120 'tenant_id': {'readonly': True}, 2121 'type': {'required': True, 'constant': True}, 2122 } 2123 2124 _attribute_map = { 2125 'principal_id': {'key': 'principalId', 'type': 'str'}, 2126 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 2127 'type': {'key': 'type', 'type': 'str'}, 2128 } 2129 2130 type = "SystemAssigned" 2131 2132 def __init__( 2133 self, 2134 **kwargs 2135 ): 2136 super(Identity, self).__init__(**kwargs) 2137 self.principal_id = None 2138 self.tenant_id = None 2139 2140 2141class ImmutabilityPolicy(AzureEntityResource): 2142 """The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag. 2143 2144 Variables are only populated by the server, and will be ignored when sending a request. 2145 2146 :ivar id: Fully qualified resource ID for the resource. Ex - 2147 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2148 :vartype id: str 2149 :ivar name: The name of the resource. 2150 :vartype name: str 2151 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2152 "Microsoft.Storage/storageAccounts". 2153 :vartype type: str 2154 :ivar etag: Resource Etag. 2155 :vartype etag: str 2156 :param immutability_period_since_creation_in_days: The immutability period for the blobs in the 2157 container since the policy creation, in days. 2158 :type immutability_period_since_creation_in_days: int 2159 :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked 2160 and Unlocked. Possible values include: "Locked", "Unlocked". 2161 :vartype state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyState 2162 :param allow_protected_append_writes: This property can only be changed for unlocked time-based 2163 retention policies. When enabled, new blocks can be written to an append blob while maintaining 2164 immutability protection and compliance. Only new blocks can be added and any existing blocks 2165 cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy 2166 API. 2167 :type allow_protected_append_writes: bool 2168 """ 2169 2170 _validation = { 2171 'id': {'readonly': True}, 2172 'name': {'readonly': True}, 2173 'type': {'readonly': True}, 2174 'etag': {'readonly': True}, 2175 'state': {'readonly': True}, 2176 } 2177 2178 _attribute_map = { 2179 'id': {'key': 'id', 'type': 'str'}, 2180 'name': {'key': 'name', 'type': 'str'}, 2181 'type': {'key': 'type', 'type': 'str'}, 2182 'etag': {'key': 'etag', 'type': 'str'}, 2183 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, 2184 'state': {'key': 'properties.state', 'type': 'str'}, 2185 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, 2186 } 2187 2188 def __init__( 2189 self, 2190 *, 2191 immutability_period_since_creation_in_days: Optional[int] = None, 2192 allow_protected_append_writes: Optional[bool] = None, 2193 **kwargs 2194 ): 2195 super(ImmutabilityPolicy, self).__init__(**kwargs) 2196 self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days 2197 self.state = None 2198 self.allow_protected_append_writes = allow_protected_append_writes 2199 2200 2201class ImmutabilityPolicyProperties(msrest.serialization.Model): 2202 """The properties of an ImmutabilityPolicy of a blob container. 2203 2204 Variables are only populated by the server, and will be ignored when sending a request. 2205 2206 :ivar etag: ImmutabilityPolicy Etag. 2207 :vartype etag: str 2208 :ivar update_history: The ImmutabilityPolicy update history of the blob container. 2209 :vartype update_history: 2210 list[~azure.mgmt.storage.v2020_08_01_preview.models.UpdateHistoryProperty] 2211 :param immutability_period_since_creation_in_days: The immutability period for the blobs in the 2212 container since the policy creation, in days. 2213 :type immutability_period_since_creation_in_days: int 2214 :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked 2215 and Unlocked. Possible values include: "Locked", "Unlocked". 2216 :vartype state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyState 2217 :param allow_protected_append_writes: This property can only be changed for unlocked time-based 2218 retention policies. When enabled, new blocks can be written to an append blob while maintaining 2219 immutability protection and compliance. Only new blocks can be added and any existing blocks 2220 cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy 2221 API. 2222 :type allow_protected_append_writes: bool 2223 """ 2224 2225 _validation = { 2226 'etag': {'readonly': True}, 2227 'update_history': {'readonly': True}, 2228 'state': {'readonly': True}, 2229 } 2230 2231 _attribute_map = { 2232 'etag': {'key': 'etag', 'type': 'str'}, 2233 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, 2234 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, 2235 'state': {'key': 'properties.state', 'type': 'str'}, 2236 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, 2237 } 2238 2239 def __init__( 2240 self, 2241 *, 2242 immutability_period_since_creation_in_days: Optional[int] = None, 2243 allow_protected_append_writes: Optional[bool] = None, 2244 **kwargs 2245 ): 2246 super(ImmutabilityPolicyProperties, self).__init__(**kwargs) 2247 self.etag = None 2248 self.update_history = None 2249 self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days 2250 self.state = None 2251 self.allow_protected_append_writes = allow_protected_append_writes 2252 2253 2254class IPRule(msrest.serialization.Model): 2255 """IP rule with specific IP or IP range in CIDR format. 2256 2257 All required parameters must be populated in order to send to Azure. 2258 2259 :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR format. Only IPV4 2260 address is allowed. 2261 :type ip_address_or_range: str 2262 :param action: The action of IP ACL rule. The only acceptable values to pass in are None and 2263 "Allow". The default value is None. 2264 :type action: str 2265 """ 2266 2267 _validation = { 2268 'ip_address_or_range': {'required': True}, 2269 } 2270 2271 _attribute_map = { 2272 'ip_address_or_range': {'key': 'value', 'type': 'str'}, 2273 'action': {'key': 'action', 'type': 'str'}, 2274 } 2275 2276 def __init__( 2277 self, 2278 *, 2279 ip_address_or_range: str, 2280 action: Optional[str] = None, 2281 **kwargs 2282 ): 2283 super(IPRule, self).__init__(**kwargs) 2284 self.ip_address_or_range = ip_address_or_range 2285 self.action = action 2286 2287 2288class KeyVaultProperties(msrest.serialization.Model): 2289 """Properties of key vault. 2290 2291 Variables are only populated by the server, and will be ignored when sending a request. 2292 2293 :param key_name: The name of KeyVault key. 2294 :type key_name: str 2295 :param key_version: The version of KeyVault key. 2296 :type key_version: str 2297 :param key_vault_uri: The Uri of KeyVault. 2298 :type key_vault_uri: str 2299 :ivar current_versioned_key_identifier: The object identifier of the current versioned Key 2300 Vault Key in use. 2301 :vartype current_versioned_key_identifier: str 2302 :ivar last_key_rotation_timestamp: Timestamp of last rotation of the Key Vault Key. 2303 :vartype last_key_rotation_timestamp: ~datetime.datetime 2304 """ 2305 2306 _validation = { 2307 'current_versioned_key_identifier': {'readonly': True}, 2308 'last_key_rotation_timestamp': {'readonly': True}, 2309 } 2310 2311 _attribute_map = { 2312 'key_name': {'key': 'keyname', 'type': 'str'}, 2313 'key_version': {'key': 'keyversion', 'type': 'str'}, 2314 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, 2315 'current_versioned_key_identifier': {'key': 'currentVersionedKeyIdentifier', 'type': 'str'}, 2316 'last_key_rotation_timestamp': {'key': 'lastKeyRotationTimestamp', 'type': 'iso-8601'}, 2317 } 2318 2319 def __init__( 2320 self, 2321 *, 2322 key_name: Optional[str] = None, 2323 key_version: Optional[str] = None, 2324 key_vault_uri: Optional[str] = None, 2325 **kwargs 2326 ): 2327 super(KeyVaultProperties, self).__init__(**kwargs) 2328 self.key_name = key_name 2329 self.key_version = key_version 2330 self.key_vault_uri = key_vault_uri 2331 self.current_versioned_key_identifier = None 2332 self.last_key_rotation_timestamp = None 2333 2334 2335class LastAccessTimeTrackingPolicy(msrest.serialization.Model): 2336 """The blob service properties for Last access time based tracking policy. 2337 2338 All required parameters must be populated in order to send to Azure. 2339 2340 :param enable: Required. When set to true last access time based tracking is enabled. 2341 :type enable: bool 2342 :param name: Name of the policy. The valid value is AccessTimeTracking. This field is currently 2343 read only. Possible values include: "AccessTimeTracking". 2344 :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Name 2345 :param tracking_granularity_in_days: The field specifies blob object tracking granularity in 2346 days, typically how often the blob object should be tracked.This field is currently read only 2347 with value as 1. 2348 :type tracking_granularity_in_days: int 2349 :param blob_type: An array of predefined supported blob types. Only blockBlob is the supported 2350 value. This field is currently read only. 2351 :type blob_type: list[str] 2352 """ 2353 2354 _validation = { 2355 'enable': {'required': True}, 2356 } 2357 2358 _attribute_map = { 2359 'enable': {'key': 'enable', 'type': 'bool'}, 2360 'name': {'key': 'name', 'type': 'str'}, 2361 'tracking_granularity_in_days': {'key': 'trackingGranularityInDays', 'type': 'int'}, 2362 'blob_type': {'key': 'blobType', 'type': '[str]'}, 2363 } 2364 2365 def __init__( 2366 self, 2367 *, 2368 enable: bool, 2369 name: Optional[Union[str, "Name"]] = None, 2370 tracking_granularity_in_days: Optional[int] = None, 2371 blob_type: Optional[List[str]] = None, 2372 **kwargs 2373 ): 2374 super(LastAccessTimeTrackingPolicy, self).__init__(**kwargs) 2375 self.enable = enable 2376 self.name = name 2377 self.tracking_granularity_in_days = tracking_granularity_in_days 2378 self.blob_type = blob_type 2379 2380 2381class LeaseContainerRequest(msrest.serialization.Model): 2382 """Lease Container request schema. 2383 2384 All required parameters must be populated in order to send to Azure. 2385 2386 :param action: Required. Specifies the lease action. Can be one of the available actions. 2387 Possible values include: "Acquire", "Renew", "Change", "Release", "Break". 2388 :type action: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerRequestAction 2389 :param lease_id: Identifies the lease. Can be specified in any valid GUID string format. 2390 :type lease_id: str 2391 :param break_period: Optional. For a break action, proposed duration the lease should continue 2392 before it is broken, in seconds, between 0 and 60. 2393 :type break_period: int 2394 :param lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, 2395 or negative one (-1) for a lease that never expires. 2396 :type lease_duration: int 2397 :param proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a 2398 GUID string format. 2399 :type proposed_lease_id: str 2400 """ 2401 2402 _validation = { 2403 'action': {'required': True}, 2404 } 2405 2406 _attribute_map = { 2407 'action': {'key': 'action', 'type': 'str'}, 2408 'lease_id': {'key': 'leaseId', 'type': 'str'}, 2409 'break_period': {'key': 'breakPeriod', 'type': 'int'}, 2410 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, 2411 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, 2412 } 2413 2414 def __init__( 2415 self, 2416 *, 2417 action: Union[str, "LeaseContainerRequestAction"], 2418 lease_id: Optional[str] = None, 2419 break_period: Optional[int] = None, 2420 lease_duration: Optional[int] = None, 2421 proposed_lease_id: Optional[str] = None, 2422 **kwargs 2423 ): 2424 super(LeaseContainerRequest, self).__init__(**kwargs) 2425 self.action = action 2426 self.lease_id = lease_id 2427 self.break_period = break_period 2428 self.lease_duration = lease_duration 2429 self.proposed_lease_id = proposed_lease_id 2430 2431 2432class LeaseContainerResponse(msrest.serialization.Model): 2433 """Lease Container response schema. 2434 2435 :param lease_id: Returned unique lease ID that must be included with any request to delete the 2436 container, or to renew, change, or release the lease. 2437 :type lease_id: str 2438 :param lease_time_seconds: Approximate time remaining in the lease period, in seconds. 2439 :type lease_time_seconds: str 2440 """ 2441 2442 _attribute_map = { 2443 'lease_id': {'key': 'leaseId', 'type': 'str'}, 2444 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, 2445 } 2446 2447 def __init__( 2448 self, 2449 *, 2450 lease_id: Optional[str] = None, 2451 lease_time_seconds: Optional[str] = None, 2452 **kwargs 2453 ): 2454 super(LeaseContainerResponse, self).__init__(**kwargs) 2455 self.lease_id = lease_id 2456 self.lease_time_seconds = lease_time_seconds 2457 2458 2459class LegalHold(msrest.serialization.Model): 2460 """The LegalHold property of a blob container. 2461 2462 Variables are only populated by the server, and will be ignored when sending a request. 2463 2464 All required parameters must be populated in order to send to Azure. 2465 2466 :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at 2467 least one existing tag. The hasLegalHold public property is set to false by SRP if all existing 2468 legal hold tags are cleared out. There can be a maximum of 1000 blob containers with 2469 hasLegalHold=true for a given account. 2470 :vartype has_legal_hold: bool 2471 :param tags: Required. A set of tags. Each tag should be 3 to 23 alphanumeric characters and is 2472 normalized to lower case at SRP. 2473 :type tags: list[str] 2474 """ 2475 2476 _validation = { 2477 'has_legal_hold': {'readonly': True}, 2478 'tags': {'required': True}, 2479 } 2480 2481 _attribute_map = { 2482 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, 2483 'tags': {'key': 'tags', 'type': '[str]'}, 2484 } 2485 2486 def __init__( 2487 self, 2488 *, 2489 tags: List[str], 2490 **kwargs 2491 ): 2492 super(LegalHold, self).__init__(**kwargs) 2493 self.has_legal_hold = None 2494 self.tags = tags 2495 2496 2497class LegalHoldProperties(msrest.serialization.Model): 2498 """The LegalHold property of a blob container. 2499 2500 Variables are only populated by the server, and will be ignored when sending a request. 2501 2502 :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at 2503 least one existing tag. The hasLegalHold public property is set to false by SRP if all existing 2504 legal hold tags are cleared out. There can be a maximum of 1000 blob containers with 2505 hasLegalHold=true for a given account. 2506 :vartype has_legal_hold: bool 2507 :param tags: A set of tags. The list of LegalHold tags of a blob container. 2508 :type tags: list[~azure.mgmt.storage.v2020_08_01_preview.models.TagProperty] 2509 """ 2510 2511 _validation = { 2512 'has_legal_hold': {'readonly': True}, 2513 } 2514 2515 _attribute_map = { 2516 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, 2517 'tags': {'key': 'tags', 'type': '[TagProperty]'}, 2518 } 2519 2520 def __init__( 2521 self, 2522 *, 2523 tags: Optional[List["TagProperty"]] = None, 2524 **kwargs 2525 ): 2526 super(LegalHoldProperties, self).__init__(**kwargs) 2527 self.has_legal_hold = None 2528 self.tags = tags 2529 2530 2531class ListAccountSasResponse(msrest.serialization.Model): 2532 """The List SAS credentials operation response. 2533 2534 Variables are only populated by the server, and will be ignored when sending a request. 2535 2536 :ivar account_sas_token: List SAS credentials of storage account. 2537 :vartype account_sas_token: str 2538 """ 2539 2540 _validation = { 2541 'account_sas_token': {'readonly': True}, 2542 } 2543 2544 _attribute_map = { 2545 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, 2546 } 2547 2548 def __init__( 2549 self, 2550 **kwargs 2551 ): 2552 super(ListAccountSasResponse, self).__init__(**kwargs) 2553 self.account_sas_token = None 2554 2555 2556class ListBlobInventoryPolicy(msrest.serialization.Model): 2557 """List of blob inventory policies returned. 2558 2559 Variables are only populated by the server, and will be ignored when sending a request. 2560 2561 :ivar value: List of blob inventory policies. 2562 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy] 2563 """ 2564 2565 _validation = { 2566 'value': {'readonly': True}, 2567 } 2568 2569 _attribute_map = { 2570 'value': {'key': 'value', 'type': '[BlobInventoryPolicy]'}, 2571 } 2572 2573 def __init__( 2574 self, 2575 **kwargs 2576 ): 2577 super(ListBlobInventoryPolicy, self).__init__(**kwargs) 2578 self.value = None 2579 2580 2581class ListContainerItem(AzureEntityResource): 2582 """The blob container properties be listed out. 2583 2584 Variables are only populated by the server, and will be ignored when sending a request. 2585 2586 :ivar id: Fully qualified resource ID for the resource. Ex - 2587 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2588 :vartype id: str 2589 :ivar name: The name of the resource. 2590 :vartype name: str 2591 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2592 "Microsoft.Storage/storageAccounts". 2593 :vartype type: str 2594 :ivar etag: Resource Etag. 2595 :vartype etag: str 2596 :ivar version: The version of the deleted blob container. 2597 :vartype version: str 2598 :ivar deleted: Indicates whether the blob container was deleted. 2599 :vartype deleted: bool 2600 :ivar deleted_time: Blob container deletion time. 2601 :vartype deleted_time: ~datetime.datetime 2602 :ivar remaining_retention_days: Remaining retention days for soft deleted blob container. 2603 :vartype remaining_retention_days: int 2604 :param default_encryption_scope: Default the container to use specified encryption scope for 2605 all writes. 2606 :type default_encryption_scope: str 2607 :param deny_encryption_scope_override: Block override of encryption scope from the container 2608 default. 2609 :type deny_encryption_scope_override: bool 2610 :param public_access: Specifies whether data in the container may be accessed publicly and the 2611 level of access. Possible values include: "Container", "Blob", "None". 2612 :type public_access: str or ~azure.mgmt.storage.v2020_08_01_preview.models.PublicAccess 2613 :ivar last_modified_time: Returns the date and time the container was last modified. 2614 :vartype last_modified_time: ~datetime.datetime 2615 :ivar lease_status: The lease status of the container. Possible values include: "Locked", 2616 "Unlocked". 2617 :vartype lease_status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseStatus 2618 :ivar lease_state: Lease state of the container. Possible values include: "Available", 2619 "Leased", "Expired", "Breaking", "Broken". 2620 :vartype lease_state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseState 2621 :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed 2622 duration, only when the container is leased. Possible values include: "Infinite", "Fixed". 2623 :vartype lease_duration: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseDuration 2624 :param metadata: A name-value pair to associate with the container as metadata. 2625 :type metadata: dict[str, str] 2626 :ivar immutability_policy: The ImmutabilityPolicy property of the container. 2627 :vartype immutability_policy: 2628 ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyProperties 2629 :ivar legal_hold: The LegalHold property of the container. 2630 :vartype legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHoldProperties 2631 :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at 2632 least one existing tag. The hasLegalHold public property is set to false by SRP if all existing 2633 legal hold tags are cleared out. There can be a maximum of 1000 blob containers with 2634 hasLegalHold=true for a given account. 2635 :vartype has_legal_hold: bool 2636 :ivar has_immutability_policy: The hasImmutabilityPolicy public property is set to true by SRP 2637 if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public 2638 property is set to false by SRP if ImmutabilityPolicy has not been created for this container. 2639 :vartype has_immutability_policy: bool 2640 """ 2641 2642 _validation = { 2643 'id': {'readonly': True}, 2644 'name': {'readonly': True}, 2645 'type': {'readonly': True}, 2646 'etag': {'readonly': True}, 2647 'version': {'readonly': True}, 2648 'deleted': {'readonly': True}, 2649 'deleted_time': {'readonly': True}, 2650 'remaining_retention_days': {'readonly': True}, 2651 'last_modified_time': {'readonly': True}, 2652 'lease_status': {'readonly': True}, 2653 'lease_state': {'readonly': True}, 2654 'lease_duration': {'readonly': True}, 2655 'immutability_policy': {'readonly': True}, 2656 'legal_hold': {'readonly': True}, 2657 'has_legal_hold': {'readonly': True}, 2658 'has_immutability_policy': {'readonly': True}, 2659 } 2660 2661 _attribute_map = { 2662 'id': {'key': 'id', 'type': 'str'}, 2663 'name': {'key': 'name', 'type': 'str'}, 2664 'type': {'key': 'type', 'type': 'str'}, 2665 'etag': {'key': 'etag', 'type': 'str'}, 2666 'version': {'key': 'properties.version', 'type': 'str'}, 2667 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, 2668 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, 2669 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, 2670 'default_encryption_scope': {'key': 'properties.defaultEncryptionScope', 'type': 'str'}, 2671 'deny_encryption_scope_override': {'key': 'properties.denyEncryptionScopeOverride', 'type': 'bool'}, 2672 'public_access': {'key': 'properties.publicAccess', 'type': 'str'}, 2673 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 2674 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, 2675 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, 2676 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, 2677 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 2678 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, 2679 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, 2680 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, 2681 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, 2682 } 2683 2684 def __init__( 2685 self, 2686 *, 2687 default_encryption_scope: Optional[str] = None, 2688 deny_encryption_scope_override: Optional[bool] = None, 2689 public_access: Optional[Union[str, "PublicAccess"]] = None, 2690 metadata: Optional[Dict[str, str]] = None, 2691 **kwargs 2692 ): 2693 super(ListContainerItem, self).__init__(**kwargs) 2694 self.version = None 2695 self.deleted = None 2696 self.deleted_time = None 2697 self.remaining_retention_days = None 2698 self.default_encryption_scope = default_encryption_scope 2699 self.deny_encryption_scope_override = deny_encryption_scope_override 2700 self.public_access = public_access 2701 self.last_modified_time = None 2702 self.lease_status = None 2703 self.lease_state = None 2704 self.lease_duration = None 2705 self.metadata = metadata 2706 self.immutability_policy = None 2707 self.legal_hold = None 2708 self.has_legal_hold = None 2709 self.has_immutability_policy = None 2710 2711 2712class ListContainerItems(msrest.serialization.Model): 2713 """Response schema. Contains list of blobs returned, and if paging is requested or required, a URL to next page of containers. 2714 2715 Variables are only populated by the server, and will be ignored when sending a request. 2716 2717 :ivar value: List of blobs containers returned. 2718 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ListContainerItem] 2719 :ivar next_link: Request URL that can be used to query next page of containers. Returned when 2720 total number of requested containers exceed maximum page size. 2721 :vartype next_link: str 2722 """ 2723 2724 _validation = { 2725 'value': {'readonly': True}, 2726 'next_link': {'readonly': True}, 2727 } 2728 2729 _attribute_map = { 2730 'value': {'key': 'value', 'type': '[ListContainerItem]'}, 2731 'next_link': {'key': 'nextLink', 'type': 'str'}, 2732 } 2733 2734 def __init__( 2735 self, 2736 **kwargs 2737 ): 2738 super(ListContainerItems, self).__init__(**kwargs) 2739 self.value = None 2740 self.next_link = None 2741 2742 2743class ListQueue(Resource): 2744 """ListQueue. 2745 2746 Variables are only populated by the server, and will be ignored when sending a request. 2747 2748 :ivar id: Fully qualified resource ID for the resource. Ex - 2749 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2750 :vartype id: str 2751 :ivar name: The name of the resource. 2752 :vartype name: str 2753 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2754 "Microsoft.Storage/storageAccounts". 2755 :vartype type: str 2756 :param metadata: A name-value pair that represents queue metadata. 2757 :type metadata: dict[str, str] 2758 """ 2759 2760 _validation = { 2761 'id': {'readonly': True}, 2762 'name': {'readonly': True}, 2763 'type': {'readonly': True}, 2764 } 2765 2766 _attribute_map = { 2767 'id': {'key': 'id', 'type': 'str'}, 2768 'name': {'key': 'name', 'type': 'str'}, 2769 'type': {'key': 'type', 'type': 'str'}, 2770 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 2771 } 2772 2773 def __init__( 2774 self, 2775 *, 2776 metadata: Optional[Dict[str, str]] = None, 2777 **kwargs 2778 ): 2779 super(ListQueue, self).__init__(**kwargs) 2780 self.metadata = metadata 2781 2782 2783class ListQueueResource(msrest.serialization.Model): 2784 """Response schema. Contains list of queues returned. 2785 2786 Variables are only populated by the server, and will be ignored when sending a request. 2787 2788 :ivar value: List of queues returned. 2789 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ListQueue] 2790 :ivar next_link: Request URL that can be used to list next page of queues. 2791 :vartype next_link: str 2792 """ 2793 2794 _validation = { 2795 'value': {'readonly': True}, 2796 'next_link': {'readonly': True}, 2797 } 2798 2799 _attribute_map = { 2800 'value': {'key': 'value', 'type': '[ListQueue]'}, 2801 'next_link': {'key': 'nextLink', 'type': 'str'}, 2802 } 2803 2804 def __init__( 2805 self, 2806 **kwargs 2807 ): 2808 super(ListQueueResource, self).__init__(**kwargs) 2809 self.value = None 2810 self.next_link = None 2811 2812 2813class ListQueueServices(msrest.serialization.Model): 2814 """ListQueueServices. 2815 2816 Variables are only populated by the server, and will be ignored when sending a request. 2817 2818 :ivar value: List of queue services returned. 2819 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties] 2820 """ 2821 2822 _validation = { 2823 'value': {'readonly': True}, 2824 } 2825 2826 _attribute_map = { 2827 'value': {'key': 'value', 'type': '[QueueServiceProperties]'}, 2828 } 2829 2830 def __init__( 2831 self, 2832 **kwargs 2833 ): 2834 super(ListQueueServices, self).__init__(**kwargs) 2835 self.value = None 2836 2837 2838class ListServiceSasResponse(msrest.serialization.Model): 2839 """The List service SAS credentials operation response. 2840 2841 Variables are only populated by the server, and will be ignored when sending a request. 2842 2843 :ivar service_sas_token: List service SAS credentials of specific resource. 2844 :vartype service_sas_token: str 2845 """ 2846 2847 _validation = { 2848 'service_sas_token': {'readonly': True}, 2849 } 2850 2851 _attribute_map = { 2852 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, 2853 } 2854 2855 def __init__( 2856 self, 2857 **kwargs 2858 ): 2859 super(ListServiceSasResponse, self).__init__(**kwargs) 2860 self.service_sas_token = None 2861 2862 2863class ListTableResource(msrest.serialization.Model): 2864 """Response schema. Contains list of tables returned. 2865 2866 Variables are only populated by the server, and will be ignored when sending a request. 2867 2868 :ivar value: List of tables returned. 2869 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Table] 2870 :ivar next_link: Request URL that can be used to query next page of tables. 2871 :vartype next_link: str 2872 """ 2873 2874 _validation = { 2875 'value': {'readonly': True}, 2876 'next_link': {'readonly': True}, 2877 } 2878 2879 _attribute_map = { 2880 'value': {'key': 'value', 'type': '[Table]'}, 2881 'next_link': {'key': 'nextLink', 'type': 'str'}, 2882 } 2883 2884 def __init__( 2885 self, 2886 **kwargs 2887 ): 2888 super(ListTableResource, self).__init__(**kwargs) 2889 self.value = None 2890 self.next_link = None 2891 2892 2893class ListTableServices(msrest.serialization.Model): 2894 """ListTableServices. 2895 2896 Variables are only populated by the server, and will be ignored when sending a request. 2897 2898 :ivar value: List of table services returned. 2899 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties] 2900 """ 2901 2902 _validation = { 2903 'value': {'readonly': True}, 2904 } 2905 2906 _attribute_map = { 2907 'value': {'key': 'value', 'type': '[TableServiceProperties]'}, 2908 } 2909 2910 def __init__( 2911 self, 2912 **kwargs 2913 ): 2914 super(ListTableServices, self).__init__(**kwargs) 2915 self.value = None 2916 2917 2918class ManagementPolicy(Resource): 2919 """The Get Storage Account ManagementPolicies operation response. 2920 2921 Variables are only populated by the server, and will be ignored when sending a request. 2922 2923 :ivar id: Fully qualified resource ID for the resource. Ex - 2924 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 2925 :vartype id: str 2926 :ivar name: The name of the resource. 2927 :vartype name: str 2928 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 2929 "Microsoft.Storage/storageAccounts". 2930 :vartype type: str 2931 :ivar last_modified_time: Returns the date and time the ManagementPolicies was last modified. 2932 :vartype last_modified_time: ~datetime.datetime 2933 :param policy: The Storage Account ManagementPolicy, in JSON format. See more details in: 2934 https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. 2935 :type policy: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicySchema 2936 """ 2937 2938 _validation = { 2939 'id': {'readonly': True}, 2940 'name': {'readonly': True}, 2941 'type': {'readonly': True}, 2942 'last_modified_time': {'readonly': True}, 2943 } 2944 2945 _attribute_map = { 2946 'id': {'key': 'id', 'type': 'str'}, 2947 'name': {'key': 'name', 'type': 'str'}, 2948 'type': {'key': 'type', 'type': 'str'}, 2949 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 2950 'policy': {'key': 'properties.policy', 'type': 'ManagementPolicySchema'}, 2951 } 2952 2953 def __init__( 2954 self, 2955 *, 2956 policy: Optional["ManagementPolicySchema"] = None, 2957 **kwargs 2958 ): 2959 super(ManagementPolicy, self).__init__(**kwargs) 2960 self.last_modified_time = None 2961 self.policy = policy 2962 2963 2964class ManagementPolicyAction(msrest.serialization.Model): 2965 """Actions are applied to the filtered blobs when the execution condition is met. 2966 2967 :param base_blob: The management policy action for base blob. 2968 :type base_blob: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyBaseBlob 2969 :param snapshot: The management policy action for snapshot. 2970 :type snapshot: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicySnapShot 2971 :param version: The management policy action for version. 2972 :type version: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyVersion 2973 """ 2974 2975 _attribute_map = { 2976 'base_blob': {'key': 'baseBlob', 'type': 'ManagementPolicyBaseBlob'}, 2977 'snapshot': {'key': 'snapshot', 'type': 'ManagementPolicySnapShot'}, 2978 'version': {'key': 'version', 'type': 'ManagementPolicyVersion'}, 2979 } 2980 2981 def __init__( 2982 self, 2983 *, 2984 base_blob: Optional["ManagementPolicyBaseBlob"] = None, 2985 snapshot: Optional["ManagementPolicySnapShot"] = None, 2986 version: Optional["ManagementPolicyVersion"] = None, 2987 **kwargs 2988 ): 2989 super(ManagementPolicyAction, self).__init__(**kwargs) 2990 self.base_blob = base_blob 2991 self.snapshot = snapshot 2992 self.version = version 2993 2994 2995class ManagementPolicyBaseBlob(msrest.serialization.Model): 2996 """Management policy action for base blob. 2997 2998 :param tier_to_cool: The function to tier blobs to cool storage. Support blobs currently at Hot 2999 tier. 3000 :type tier_to_cool: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification 3001 :param tier_to_archive: The function to tier blobs to archive storage. Support blobs currently 3002 at Hot or Cool tier. 3003 :type tier_to_archive: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification 3004 :param delete: The function to delete the blob. 3005 :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification 3006 :param enable_auto_tier_to_hot_from_cool: This property enables auto tiering of a blob from 3007 cool to hot on a blob access. This property requires 3008 tierToCool.daysAfterLastAccessTimeGreaterThan. 3009 :type enable_auto_tier_to_hot_from_cool: bool 3010 """ 3011 3012 _attribute_map = { 3013 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterModification'}, 3014 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterModification'}, 3015 'delete': {'key': 'delete', 'type': 'DateAfterModification'}, 3016 'enable_auto_tier_to_hot_from_cool': {'key': 'enableAutoTierToHotFromCool', 'type': 'bool'}, 3017 } 3018 3019 def __init__( 3020 self, 3021 *, 3022 tier_to_cool: Optional["DateAfterModification"] = None, 3023 tier_to_archive: Optional["DateAfterModification"] = None, 3024 delete: Optional["DateAfterModification"] = None, 3025 enable_auto_tier_to_hot_from_cool: Optional[bool] = None, 3026 **kwargs 3027 ): 3028 super(ManagementPolicyBaseBlob, self).__init__(**kwargs) 3029 self.tier_to_cool = tier_to_cool 3030 self.tier_to_archive = tier_to_archive 3031 self.delete = delete 3032 self.enable_auto_tier_to_hot_from_cool = enable_auto_tier_to_hot_from_cool 3033 3034 3035class ManagementPolicyDefinition(msrest.serialization.Model): 3036 """An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. 3037 3038 All required parameters must be populated in order to send to Azure. 3039 3040 :param actions: Required. An object that defines the action set. 3041 :type actions: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyAction 3042 :param filters: An object that defines the filter set. 3043 :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyFilter 3044 """ 3045 3046 _validation = { 3047 'actions': {'required': True}, 3048 } 3049 3050 _attribute_map = { 3051 'actions': {'key': 'actions', 'type': 'ManagementPolicyAction'}, 3052 'filters': {'key': 'filters', 'type': 'ManagementPolicyFilter'}, 3053 } 3054 3055 def __init__( 3056 self, 3057 *, 3058 actions: "ManagementPolicyAction", 3059 filters: Optional["ManagementPolicyFilter"] = None, 3060 **kwargs 3061 ): 3062 super(ManagementPolicyDefinition, self).__init__(**kwargs) 3063 self.actions = actions 3064 self.filters = filters 3065 3066 3067class ManagementPolicyFilter(msrest.serialization.Model): 3068 """Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. 3069 3070 All required parameters must be populated in order to send to Azure. 3071 3072 :param prefix_match: An array of strings for prefixes to be match. 3073 :type prefix_match: list[str] 3074 :param blob_types: Required. An array of predefined enum values. Currently blockBlob supports 3075 all tiering and delete actions. Only delete actions are supported for appendBlob. 3076 :type blob_types: list[str] 3077 :param blob_index_match: An array of blob index tag based filters, there can be at most 10 tag 3078 filters. 3079 :type blob_index_match: list[~azure.mgmt.storage.v2020_08_01_preview.models.TagFilter] 3080 """ 3081 3082 _validation = { 3083 'blob_types': {'required': True}, 3084 } 3085 3086 _attribute_map = { 3087 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, 3088 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, 3089 'blob_index_match': {'key': 'blobIndexMatch', 'type': '[TagFilter]'}, 3090 } 3091 3092 def __init__( 3093 self, 3094 *, 3095 blob_types: List[str], 3096 prefix_match: Optional[List[str]] = None, 3097 blob_index_match: Optional[List["TagFilter"]] = None, 3098 **kwargs 3099 ): 3100 super(ManagementPolicyFilter, self).__init__(**kwargs) 3101 self.prefix_match = prefix_match 3102 self.blob_types = blob_types 3103 self.blob_index_match = blob_index_match 3104 3105 3106class ManagementPolicyRule(msrest.serialization.Model): 3107 """An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. 3108 3109 All required parameters must be populated in order to send to Azure. 3110 3111 :param enabled: Rule is enabled if set to true. 3112 :type enabled: bool 3113 :param name: Required. A rule name can contain any combination of alpha numeric characters. 3114 Rule name is case-sensitive. It must be unique within a policy. 3115 :type name: str 3116 :param type: Required. The valid value is Lifecycle. Possible values include: "Lifecycle". 3117 :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RuleType 3118 :param definition: Required. An object that defines the Lifecycle rule. 3119 :type definition: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyDefinition 3120 """ 3121 3122 _validation = { 3123 'name': {'required': True}, 3124 'type': {'required': True}, 3125 'definition': {'required': True}, 3126 } 3127 3128 _attribute_map = { 3129 'enabled': {'key': 'enabled', 'type': 'bool'}, 3130 'name': {'key': 'name', 'type': 'str'}, 3131 'type': {'key': 'type', 'type': 'str'}, 3132 'definition': {'key': 'definition', 'type': 'ManagementPolicyDefinition'}, 3133 } 3134 3135 def __init__( 3136 self, 3137 *, 3138 name: str, 3139 type: Union[str, "RuleType"], 3140 definition: "ManagementPolicyDefinition", 3141 enabled: Optional[bool] = None, 3142 **kwargs 3143 ): 3144 super(ManagementPolicyRule, self).__init__(**kwargs) 3145 self.enabled = enabled 3146 self.name = name 3147 self.type = type 3148 self.definition = definition 3149 3150 3151class ManagementPolicySchema(msrest.serialization.Model): 3152 """The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. 3153 3154 All required parameters must be populated in order to send to Azure. 3155 3156 :param rules: Required. The Storage Account ManagementPolicies Rules. See more details in: 3157 https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. 3158 :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyRule] 3159 """ 3160 3161 _validation = { 3162 'rules': {'required': True}, 3163 } 3164 3165 _attribute_map = { 3166 'rules': {'key': 'rules', 'type': '[ManagementPolicyRule]'}, 3167 } 3168 3169 def __init__( 3170 self, 3171 *, 3172 rules: List["ManagementPolicyRule"], 3173 **kwargs 3174 ): 3175 super(ManagementPolicySchema, self).__init__(**kwargs) 3176 self.rules = rules 3177 3178 3179class ManagementPolicySnapShot(msrest.serialization.Model): 3180 """Management policy action for snapshot. 3181 3182 :param tier_to_cool: The function to tier blob snapshot to cool storage. Support blob snapshot 3183 currently at Hot tier. 3184 :type tier_to_cool: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation 3185 :param tier_to_archive: The function to tier blob snapshot to archive storage. Support blob 3186 snapshot currently at Hot or Cool tier. 3187 :type tier_to_archive: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation 3188 :param delete: The function to delete the blob snapshot. 3189 :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation 3190 """ 3191 3192 _attribute_map = { 3193 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterCreation'}, 3194 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterCreation'}, 3195 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, 3196 } 3197 3198 def __init__( 3199 self, 3200 *, 3201 tier_to_cool: Optional["DateAfterCreation"] = None, 3202 tier_to_archive: Optional["DateAfterCreation"] = None, 3203 delete: Optional["DateAfterCreation"] = None, 3204 **kwargs 3205 ): 3206 super(ManagementPolicySnapShot, self).__init__(**kwargs) 3207 self.tier_to_cool = tier_to_cool 3208 self.tier_to_archive = tier_to_archive 3209 self.delete = delete 3210 3211 3212class ManagementPolicyVersion(msrest.serialization.Model): 3213 """Management policy action for blob version. 3214 3215 :param tier_to_cool: The function to tier blob version to cool storage. Support blob version 3216 currently at Hot tier. 3217 :type tier_to_cool: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation 3218 :param tier_to_archive: The function to tier blob version to archive storage. Support blob 3219 version currently at Hot or Cool tier. 3220 :type tier_to_archive: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation 3221 :param delete: The function to delete the blob version. 3222 :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation 3223 """ 3224 3225 _attribute_map = { 3226 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterCreation'}, 3227 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterCreation'}, 3228 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, 3229 } 3230 3231 def __init__( 3232 self, 3233 *, 3234 tier_to_cool: Optional["DateAfterCreation"] = None, 3235 tier_to_archive: Optional["DateAfterCreation"] = None, 3236 delete: Optional["DateAfterCreation"] = None, 3237 **kwargs 3238 ): 3239 super(ManagementPolicyVersion, self).__init__(**kwargs) 3240 self.tier_to_cool = tier_to_cool 3241 self.tier_to_archive = tier_to_archive 3242 self.delete = delete 3243 3244 3245class MetricSpecification(msrest.serialization.Model): 3246 """Metric specification of operation. 3247 3248 :param name: Name of metric specification. 3249 :type name: str 3250 :param display_name: Display name of metric specification. 3251 :type display_name: str 3252 :param display_description: Display description of metric specification. 3253 :type display_description: str 3254 :param unit: Unit could be Bytes or Count. 3255 :type unit: str 3256 :param dimensions: Dimensions of blobs, including blob type and access tier. 3257 :type dimensions: list[~azure.mgmt.storage.v2020_08_01_preview.models.Dimension] 3258 :param aggregation_type: Aggregation type could be Average. 3259 :type aggregation_type: str 3260 :param fill_gap_with_zero: The property to decide fill gap with zero or not. 3261 :type fill_gap_with_zero: bool 3262 :param category: The category this metric specification belong to, could be Capacity. 3263 :type category: str 3264 :param resource_id_dimension_name_override: Account Resource Id. 3265 :type resource_id_dimension_name_override: str 3266 """ 3267 3268 _attribute_map = { 3269 'name': {'key': 'name', 'type': 'str'}, 3270 'display_name': {'key': 'displayName', 'type': 'str'}, 3271 'display_description': {'key': 'displayDescription', 'type': 'str'}, 3272 'unit': {'key': 'unit', 'type': 'str'}, 3273 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 3274 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 3275 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 3276 'category': {'key': 'category', 'type': 'str'}, 3277 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 3278 } 3279 3280 def __init__( 3281 self, 3282 *, 3283 name: Optional[str] = None, 3284 display_name: Optional[str] = None, 3285 display_description: Optional[str] = None, 3286 unit: Optional[str] = None, 3287 dimensions: Optional[List["Dimension"]] = None, 3288 aggregation_type: Optional[str] = None, 3289 fill_gap_with_zero: Optional[bool] = None, 3290 category: Optional[str] = None, 3291 resource_id_dimension_name_override: Optional[str] = None, 3292 **kwargs 3293 ): 3294 super(MetricSpecification, self).__init__(**kwargs) 3295 self.name = name 3296 self.display_name = display_name 3297 self.display_description = display_description 3298 self.unit = unit 3299 self.dimensions = dimensions 3300 self.aggregation_type = aggregation_type 3301 self.fill_gap_with_zero = fill_gap_with_zero 3302 self.category = category 3303 self.resource_id_dimension_name_override = resource_id_dimension_name_override 3304 3305 3306class Multichannel(msrest.serialization.Model): 3307 """Multichannel setting. Applies to Premium FileStorage only. 3308 3309 :param enabled: Indicates whether multichannel is enabled. 3310 :type enabled: bool 3311 """ 3312 3313 _attribute_map = { 3314 'enabled': {'key': 'enabled', 'type': 'bool'}, 3315 } 3316 3317 def __init__( 3318 self, 3319 *, 3320 enabled: Optional[bool] = None, 3321 **kwargs 3322 ): 3323 super(Multichannel, self).__init__(**kwargs) 3324 self.enabled = enabled 3325 3326 3327class NetworkRuleSet(msrest.serialization.Model): 3328 """Network rule set. 3329 3330 All required parameters must be populated in order to send to Azure. 3331 3332 :param bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. 3333 Possible values are any combination of Logging|Metrics|AzureServices (For example, "Logging, 3334 Metrics"), or None to bypass none of those traffics. Possible values include: "None", 3335 "Logging", "Metrics", "AzureServices". Default value: "AzureServices". 3336 :type bypass: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Bypass 3337 :param resource_access_rules: 3338 :type resource_access_rules: 3339 list[~azure.mgmt.storage.v2020_08_01_preview.models.ResourceAccessRule] 3340 :param virtual_network_rules: Sets the virtual network rules. 3341 :type virtual_network_rules: 3342 list[~azure.mgmt.storage.v2020_08_01_preview.models.VirtualNetworkRule] 3343 :param ip_rules: Sets the IP ACL rules. 3344 :type ip_rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.IPRule] 3345 :param default_action: Required. Specifies the default action of allow or deny when no other 3346 rules match. Possible values include: "Allow", "Deny". Default value: "Allow". 3347 :type default_action: str or ~azure.mgmt.storage.v2020_08_01_preview.models.DefaultAction 3348 """ 3349 3350 _validation = { 3351 'default_action': {'required': True}, 3352 } 3353 3354 _attribute_map = { 3355 'bypass': {'key': 'bypass', 'type': 'str'}, 3356 'resource_access_rules': {'key': 'resourceAccessRules', 'type': '[ResourceAccessRule]'}, 3357 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, 3358 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, 3359 'default_action': {'key': 'defaultAction', 'type': 'str'}, 3360 } 3361 3362 def __init__( 3363 self, 3364 *, 3365 default_action: Union[str, "DefaultAction"] = "Allow", 3366 bypass: Optional[Union[str, "Bypass"]] = "AzureServices", 3367 resource_access_rules: Optional[List["ResourceAccessRule"]] = None, 3368 virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, 3369 ip_rules: Optional[List["IPRule"]] = None, 3370 **kwargs 3371 ): 3372 super(NetworkRuleSet, self).__init__(**kwargs) 3373 self.bypass = bypass 3374 self.resource_access_rules = resource_access_rules 3375 self.virtual_network_rules = virtual_network_rules 3376 self.ip_rules = ip_rules 3377 self.default_action = default_action 3378 3379 3380class ObjectReplicationPolicies(msrest.serialization.Model): 3381 """List storage account object replication policies. 3382 3383 :param value: The replication policy between two storage accounts. 3384 :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy] 3385 """ 3386 3387 _attribute_map = { 3388 'value': {'key': 'value', 'type': '[ObjectReplicationPolicy]'}, 3389 } 3390 3391 def __init__( 3392 self, 3393 *, 3394 value: Optional[List["ObjectReplicationPolicy"]] = None, 3395 **kwargs 3396 ): 3397 super(ObjectReplicationPolicies, self).__init__(**kwargs) 3398 self.value = value 3399 3400 3401class ObjectReplicationPolicy(Resource): 3402 """The replication policy between two storage accounts. Multiple rules can be defined in one policy. 3403 3404 Variables are only populated by the server, and will be ignored when sending a request. 3405 3406 :ivar id: Fully qualified resource ID for the resource. Ex - 3407 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 3408 :vartype id: str 3409 :ivar name: The name of the resource. 3410 :vartype name: str 3411 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 3412 "Microsoft.Storage/storageAccounts". 3413 :vartype type: str 3414 :ivar policy_id: A unique id for object replication policy. 3415 :vartype policy_id: str 3416 :ivar enabled_time: Indicates when the policy is enabled on the source account. 3417 :vartype enabled_time: ~datetime.datetime 3418 :param source_account: Required. Source account name. 3419 :type source_account: str 3420 :param destination_account: Required. Destination account name. 3421 :type destination_account: str 3422 :param rules: The storage account object replication rules. 3423 :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicyRule] 3424 """ 3425 3426 _validation = { 3427 'id': {'readonly': True}, 3428 'name': {'readonly': True}, 3429 'type': {'readonly': True}, 3430 'policy_id': {'readonly': True}, 3431 'enabled_time': {'readonly': True}, 3432 } 3433 3434 _attribute_map = { 3435 'id': {'key': 'id', 'type': 'str'}, 3436 'name': {'key': 'name', 'type': 'str'}, 3437 'type': {'key': 'type', 'type': 'str'}, 3438 'policy_id': {'key': 'properties.policyId', 'type': 'str'}, 3439 'enabled_time': {'key': 'properties.enabledTime', 'type': 'iso-8601'}, 3440 'source_account': {'key': 'properties.sourceAccount', 'type': 'str'}, 3441 'destination_account': {'key': 'properties.destinationAccount', 'type': 'str'}, 3442 'rules': {'key': 'properties.rules', 'type': '[ObjectReplicationPolicyRule]'}, 3443 } 3444 3445 def __init__( 3446 self, 3447 *, 3448 source_account: Optional[str] = None, 3449 destination_account: Optional[str] = None, 3450 rules: Optional[List["ObjectReplicationPolicyRule"]] = None, 3451 **kwargs 3452 ): 3453 super(ObjectReplicationPolicy, self).__init__(**kwargs) 3454 self.policy_id = None 3455 self.enabled_time = None 3456 self.source_account = source_account 3457 self.destination_account = destination_account 3458 self.rules = rules 3459 3460 3461class ObjectReplicationPolicyFilter(msrest.serialization.Model): 3462 """Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters. 3463 3464 :param prefix_match: Optional. Filters the results to replicate only blobs whose names begin 3465 with the specified prefix. 3466 :type prefix_match: list[str] 3467 :param min_creation_time: Blobs created after the time will be replicated to the destination. 3468 It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z. 3469 :type min_creation_time: str 3470 """ 3471 3472 _attribute_map = { 3473 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, 3474 'min_creation_time': {'key': 'minCreationTime', 'type': 'str'}, 3475 } 3476 3477 def __init__( 3478 self, 3479 *, 3480 prefix_match: Optional[List[str]] = None, 3481 min_creation_time: Optional[str] = None, 3482 **kwargs 3483 ): 3484 super(ObjectReplicationPolicyFilter, self).__init__(**kwargs) 3485 self.prefix_match = prefix_match 3486 self.min_creation_time = min_creation_time 3487 3488 3489class ObjectReplicationPolicyRule(msrest.serialization.Model): 3490 """The replication policy rule between two containers. 3491 3492 All required parameters must be populated in order to send to Azure. 3493 3494 :param rule_id: Rule Id is auto-generated for each new rule on destination account. It is 3495 required for put policy on source account. 3496 :type rule_id: str 3497 :param source_container: Required. Required. Source container name. 3498 :type source_container: str 3499 :param destination_container: Required. Required. Destination container name. 3500 :type destination_container: str 3501 :param filters: Optional. An object that defines the filter set. 3502 :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicyFilter 3503 """ 3504 3505 _validation = { 3506 'source_container': {'required': True}, 3507 'destination_container': {'required': True}, 3508 } 3509 3510 _attribute_map = { 3511 'rule_id': {'key': 'ruleId', 'type': 'str'}, 3512 'source_container': {'key': 'sourceContainer', 'type': 'str'}, 3513 'destination_container': {'key': 'destinationContainer', 'type': 'str'}, 3514 'filters': {'key': 'filters', 'type': 'ObjectReplicationPolicyFilter'}, 3515 } 3516 3517 def __init__( 3518 self, 3519 *, 3520 source_container: str, 3521 destination_container: str, 3522 rule_id: Optional[str] = None, 3523 filters: Optional["ObjectReplicationPolicyFilter"] = None, 3524 **kwargs 3525 ): 3526 super(ObjectReplicationPolicyRule, self).__init__(**kwargs) 3527 self.rule_id = rule_id 3528 self.source_container = source_container 3529 self.destination_container = destination_container 3530 self.filters = filters 3531 3532 3533class Operation(msrest.serialization.Model): 3534 """Storage REST API operation definition. 3535 3536 :param name: Operation name: {provider}/{resource}/{operation}. 3537 :type name: str 3538 :param display: Display metadata associated with the operation. 3539 :type display: ~azure.mgmt.storage.v2020_08_01_preview.models.OperationDisplay 3540 :param origin: The origin of operations. 3541 :type origin: str 3542 :param service_specification: One property of operation, include metric specifications. 3543 :type service_specification: 3544 ~azure.mgmt.storage.v2020_08_01_preview.models.ServiceSpecification 3545 """ 3546 3547 _attribute_map = { 3548 'name': {'key': 'name', 'type': 'str'}, 3549 'display': {'key': 'display', 'type': 'OperationDisplay'}, 3550 'origin': {'key': 'origin', 'type': 'str'}, 3551 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, 3552 } 3553 3554 def __init__( 3555 self, 3556 *, 3557 name: Optional[str] = None, 3558 display: Optional["OperationDisplay"] = None, 3559 origin: Optional[str] = None, 3560 service_specification: Optional["ServiceSpecification"] = None, 3561 **kwargs 3562 ): 3563 super(Operation, self).__init__(**kwargs) 3564 self.name = name 3565 self.display = display 3566 self.origin = origin 3567 self.service_specification = service_specification 3568 3569 3570class OperationDisplay(msrest.serialization.Model): 3571 """Display metadata associated with the operation. 3572 3573 :param provider: Service provider: Microsoft Storage. 3574 :type provider: str 3575 :param resource: Resource on which the operation is performed etc. 3576 :type resource: str 3577 :param operation: Type of operation: get, read, delete, etc. 3578 :type operation: str 3579 :param description: Description of the operation. 3580 :type description: str 3581 """ 3582 3583 _attribute_map = { 3584 'provider': {'key': 'provider', 'type': 'str'}, 3585 'resource': {'key': 'resource', 'type': 'str'}, 3586 'operation': {'key': 'operation', 'type': 'str'}, 3587 'description': {'key': 'description', 'type': 'str'}, 3588 } 3589 3590 def __init__( 3591 self, 3592 *, 3593 provider: Optional[str] = None, 3594 resource: Optional[str] = None, 3595 operation: Optional[str] = None, 3596 description: Optional[str] = None, 3597 **kwargs 3598 ): 3599 super(OperationDisplay, self).__init__(**kwargs) 3600 self.provider = provider 3601 self.resource = resource 3602 self.operation = operation 3603 self.description = description 3604 3605 3606class OperationListResult(msrest.serialization.Model): 3607 """Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. 3608 3609 :param value: List of Storage operations supported by the Storage resource provider. 3610 :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Operation] 3611 """ 3612 3613 _attribute_map = { 3614 'value': {'key': 'value', 'type': '[Operation]'}, 3615 } 3616 3617 def __init__( 3618 self, 3619 *, 3620 value: Optional[List["Operation"]] = None, 3621 **kwargs 3622 ): 3623 super(OperationListResult, self).__init__(**kwargs) 3624 self.value = value 3625 3626 3627class PrivateEndpoint(msrest.serialization.Model): 3628 """The Private Endpoint resource. 3629 3630 Variables are only populated by the server, and will be ignored when sending a request. 3631 3632 :ivar id: The ARM identifier for Private Endpoint. 3633 :vartype id: str 3634 """ 3635 3636 _validation = { 3637 'id': {'readonly': True}, 3638 } 3639 3640 _attribute_map = { 3641 'id': {'key': 'id', 'type': 'str'}, 3642 } 3643 3644 def __init__( 3645 self, 3646 **kwargs 3647 ): 3648 super(PrivateEndpoint, self).__init__(**kwargs) 3649 self.id = None 3650 3651 3652class PrivateEndpointConnection(Resource): 3653 """The Private Endpoint Connection resource. 3654 3655 Variables are only populated by the server, and will be ignored when sending a request. 3656 3657 :ivar id: Fully qualified resource ID for the resource. Ex - 3658 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 3659 :vartype id: str 3660 :ivar name: The name of the resource. 3661 :vartype name: str 3662 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 3663 "Microsoft.Storage/storageAccounts". 3664 :vartype type: str 3665 :param private_endpoint: The resource of private end point. 3666 :type private_endpoint: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpoint 3667 :param private_link_service_connection_state: A collection of information about the state of 3668 the connection between service consumer and provider. 3669 :type private_link_service_connection_state: 3670 ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateLinkServiceConnectionState 3671 :ivar provisioning_state: The provisioning state of the private endpoint connection resource. 3672 Possible values include: "Succeeded", "Creating", "Deleting", "Failed". 3673 :vartype provisioning_state: str or 3674 ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnectionProvisioningState 3675 """ 3676 3677 _validation = { 3678 'id': {'readonly': True}, 3679 'name': {'readonly': True}, 3680 'type': {'readonly': True}, 3681 'provisioning_state': {'readonly': True}, 3682 } 3683 3684 _attribute_map = { 3685 'id': {'key': 'id', 'type': 'str'}, 3686 'name': {'key': 'name', 'type': 'str'}, 3687 'type': {'key': 'type', 'type': 'str'}, 3688 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 3689 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 3690 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3691 } 3692 3693 def __init__( 3694 self, 3695 *, 3696 private_endpoint: Optional["PrivateEndpoint"] = None, 3697 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 3698 **kwargs 3699 ): 3700 super(PrivateEndpointConnection, self).__init__(**kwargs) 3701 self.private_endpoint = private_endpoint 3702 self.private_link_service_connection_state = private_link_service_connection_state 3703 self.provisioning_state = None 3704 3705 3706class PrivateEndpointConnectionListResult(msrest.serialization.Model): 3707 """List of private endpoint connection associated with the specified storage account. 3708 3709 :param value: Array of private endpoint connections. 3710 :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection] 3711 """ 3712 3713 _attribute_map = { 3714 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 3715 } 3716 3717 def __init__( 3718 self, 3719 *, 3720 value: Optional[List["PrivateEndpointConnection"]] = None, 3721 **kwargs 3722 ): 3723 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 3724 self.value = value 3725 3726 3727class PrivateLinkResource(Resource): 3728 """A private link resource. 3729 3730 Variables are only populated by the server, and will be ignored when sending a request. 3731 3732 :ivar id: Fully qualified resource ID for the resource. Ex - 3733 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 3734 :vartype id: str 3735 :ivar name: The name of the resource. 3736 :vartype name: str 3737 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 3738 "Microsoft.Storage/storageAccounts". 3739 :vartype type: str 3740 :ivar group_id: The private link resource group id. 3741 :vartype group_id: str 3742 :ivar required_members: The private link resource required member names. 3743 :vartype required_members: list[str] 3744 :param required_zone_names: The private link resource Private link DNS zone name. 3745 :type required_zone_names: list[str] 3746 """ 3747 3748 _validation = { 3749 'id': {'readonly': True}, 3750 'name': {'readonly': True}, 3751 'type': {'readonly': True}, 3752 'group_id': {'readonly': True}, 3753 'required_members': {'readonly': True}, 3754 } 3755 3756 _attribute_map = { 3757 'id': {'key': 'id', 'type': 'str'}, 3758 'name': {'key': 'name', 'type': 'str'}, 3759 'type': {'key': 'type', 'type': 'str'}, 3760 'group_id': {'key': 'properties.groupId', 'type': 'str'}, 3761 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, 3762 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, 3763 } 3764 3765 def __init__( 3766 self, 3767 *, 3768 required_zone_names: Optional[List[str]] = None, 3769 **kwargs 3770 ): 3771 super(PrivateLinkResource, self).__init__(**kwargs) 3772 self.group_id = None 3773 self.required_members = None 3774 self.required_zone_names = required_zone_names 3775 3776 3777class PrivateLinkResourceListResult(msrest.serialization.Model): 3778 """A list of private link resources. 3779 3780 :param value: Array of private link resources. 3781 :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateLinkResource] 3782 """ 3783 3784 _attribute_map = { 3785 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, 3786 } 3787 3788 def __init__( 3789 self, 3790 *, 3791 value: Optional[List["PrivateLinkResource"]] = None, 3792 **kwargs 3793 ): 3794 super(PrivateLinkResourceListResult, self).__init__(**kwargs) 3795 self.value = value 3796 3797 3798class PrivateLinkServiceConnectionState(msrest.serialization.Model): 3799 """A collection of information about the state of the connection between service consumer and provider. 3800 3801 :param status: Indicates whether the connection has been Approved/Rejected/Removed by the owner 3802 of the service. Possible values include: "Pending", "Approved", "Rejected". 3803 :type status: str or 3804 ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointServiceConnectionStatus 3805 :param description: The reason for approval/rejection of the connection. 3806 :type description: str 3807 :param action_required: A message indicating if changes on the service provider require any 3808 updates on the consumer. 3809 :type action_required: str 3810 """ 3811 3812 _attribute_map = { 3813 'status': {'key': 'status', 'type': 'str'}, 3814 'description': {'key': 'description', 'type': 'str'}, 3815 'action_required': {'key': 'actionRequired', 'type': 'str'}, 3816 } 3817 3818 def __init__( 3819 self, 3820 *, 3821 status: Optional[Union[str, "PrivateEndpointServiceConnectionStatus"]] = None, 3822 description: Optional[str] = None, 3823 action_required: Optional[str] = None, 3824 **kwargs 3825 ): 3826 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 3827 self.status = status 3828 self.description = description 3829 self.action_required = action_required 3830 3831 3832class ProtocolSettings(msrest.serialization.Model): 3833 """Protocol settings for file service. 3834 3835 :param smb: Setting for SMB protocol. 3836 :type smb: ~azure.mgmt.storage.v2020_08_01_preview.models.SmbSetting 3837 """ 3838 3839 _attribute_map = { 3840 'smb': {'key': 'smb', 'type': 'SmbSetting'}, 3841 } 3842 3843 def __init__( 3844 self, 3845 *, 3846 smb: Optional["SmbSetting"] = None, 3847 **kwargs 3848 ): 3849 super(ProtocolSettings, self).__init__(**kwargs) 3850 self.smb = smb 3851 3852 3853class QueueServiceProperties(Resource): 3854 """The properties of a storage account’s Queue service. 3855 3856 Variables are only populated by the server, and will be ignored when sending a request. 3857 3858 :ivar id: Fully qualified resource ID for the resource. Ex - 3859 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 3860 :vartype id: str 3861 :ivar name: The name of the resource. 3862 :vartype name: str 3863 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 3864 "Microsoft.Storage/storageAccounts". 3865 :vartype type: str 3866 :param cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule 3867 elements in the request. If no CorsRule elements are included in the request body, all CORS 3868 rules will be deleted, and CORS will be disabled for the Queue service. 3869 :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules 3870 """ 3871 3872 _validation = { 3873 'id': {'readonly': True}, 3874 'name': {'readonly': True}, 3875 'type': {'readonly': True}, 3876 } 3877 3878 _attribute_map = { 3879 'id': {'key': 'id', 'type': 'str'}, 3880 'name': {'key': 'name', 'type': 'str'}, 3881 'type': {'key': 'type', 'type': 'str'}, 3882 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, 3883 } 3884 3885 def __init__( 3886 self, 3887 *, 3888 cors: Optional["CorsRules"] = None, 3889 **kwargs 3890 ): 3891 super(QueueServiceProperties, self).__init__(**kwargs) 3892 self.cors = cors 3893 3894 3895class ResourceAccessRule(msrest.serialization.Model): 3896 """Resource Access Rule. 3897 3898 :param tenant_id: Tenant Id. 3899 :type tenant_id: str 3900 :param resource_id: Resource Id. 3901 :type resource_id: str 3902 """ 3903 3904 _attribute_map = { 3905 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 3906 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3907 } 3908 3909 def __init__( 3910 self, 3911 *, 3912 tenant_id: Optional[str] = None, 3913 resource_id: Optional[str] = None, 3914 **kwargs 3915 ): 3916 super(ResourceAccessRule, self).__init__(**kwargs) 3917 self.tenant_id = tenant_id 3918 self.resource_id = resource_id 3919 3920 3921class RestorePolicyProperties(msrest.serialization.Model): 3922 """The blob service properties for blob restore policy. 3923 3924 Variables are only populated by the server, and will be ignored when sending a request. 3925 3926 All required parameters must be populated in order to send to Azure. 3927 3928 :param enabled: Required. Blob restore is enabled if set to true. 3929 :type enabled: bool 3930 :param days: how long this blob can be restored. It should be great than zero and less than 3931 DeleteRetentionPolicy.days. 3932 :type days: int 3933 :ivar last_enabled_time: Deprecated in favor of minRestoreTime property. 3934 :vartype last_enabled_time: ~datetime.datetime 3935 :ivar min_restore_time: Returns the minimum date and time that the restore can be started. 3936 :vartype min_restore_time: ~datetime.datetime 3937 """ 3938 3939 _validation = { 3940 'enabled': {'required': True}, 3941 'days': {'maximum': 365, 'minimum': 1}, 3942 'last_enabled_time': {'readonly': True}, 3943 'min_restore_time': {'readonly': True}, 3944 } 3945 3946 _attribute_map = { 3947 'enabled': {'key': 'enabled', 'type': 'bool'}, 3948 'days': {'key': 'days', 'type': 'int'}, 3949 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, 3950 'min_restore_time': {'key': 'minRestoreTime', 'type': 'iso-8601'}, 3951 } 3952 3953 def __init__( 3954 self, 3955 *, 3956 enabled: bool, 3957 days: Optional[int] = None, 3958 **kwargs 3959 ): 3960 super(RestorePolicyProperties, self).__init__(**kwargs) 3961 self.enabled = enabled 3962 self.days = days 3963 self.last_enabled_time = None 3964 self.min_restore_time = None 3965 3966 3967class Restriction(msrest.serialization.Model): 3968 """The restriction because of which SKU cannot be used. 3969 3970 Variables are only populated by the server, and will be ignored when sending a request. 3971 3972 :ivar type: The type of restrictions. As of now only possible value for this is location. 3973 :vartype type: str 3974 :ivar values: The value of restrictions. If the restriction type is set to location. This would 3975 be different locations where the SKU is restricted. 3976 :vartype values: list[str] 3977 :param reason_code: The reason for the restriction. As of now this can be "QuotaId" or 3978 "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the 3979 subscription does not belong to that quota. The "NotAvailableForSubscription" is related to 3980 capacity at DC. Possible values include: "QuotaId", "NotAvailableForSubscription". 3981 :type reason_code: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ReasonCode 3982 """ 3983 3984 _validation = { 3985 'type': {'readonly': True}, 3986 'values': {'readonly': True}, 3987 } 3988 3989 _attribute_map = { 3990 'type': {'key': 'type', 'type': 'str'}, 3991 'values': {'key': 'values', 'type': '[str]'}, 3992 'reason_code': {'key': 'reasonCode', 'type': 'str'}, 3993 } 3994 3995 def __init__( 3996 self, 3997 *, 3998 reason_code: Optional[Union[str, "ReasonCode"]] = None, 3999 **kwargs 4000 ): 4001 super(Restriction, self).__init__(**kwargs) 4002 self.type = None 4003 self.values = None 4004 self.reason_code = reason_code 4005 4006 4007class RoutingPreference(msrest.serialization.Model): 4008 """Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing. 4009 4010 :param routing_choice: Routing Choice defines the kind of network routing opted by the user. 4011 Possible values include: "MicrosoftRouting", "InternetRouting". 4012 :type routing_choice: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingChoice 4013 :param publish_microsoft_endpoints: A boolean flag which indicates whether microsoft routing 4014 storage endpoints are to be published. 4015 :type publish_microsoft_endpoints: bool 4016 :param publish_internet_endpoints: A boolean flag which indicates whether internet routing 4017 storage endpoints are to be published. 4018 :type publish_internet_endpoints: bool 4019 """ 4020 4021 _attribute_map = { 4022 'routing_choice': {'key': 'routingChoice', 'type': 'str'}, 4023 'publish_microsoft_endpoints': {'key': 'publishMicrosoftEndpoints', 'type': 'bool'}, 4024 'publish_internet_endpoints': {'key': 'publishInternetEndpoints', 'type': 'bool'}, 4025 } 4026 4027 def __init__( 4028 self, 4029 *, 4030 routing_choice: Optional[Union[str, "RoutingChoice"]] = None, 4031 publish_microsoft_endpoints: Optional[bool] = None, 4032 publish_internet_endpoints: Optional[bool] = None, 4033 **kwargs 4034 ): 4035 super(RoutingPreference, self).__init__(**kwargs) 4036 self.routing_choice = routing_choice 4037 self.publish_microsoft_endpoints = publish_microsoft_endpoints 4038 self.publish_internet_endpoints = publish_internet_endpoints 4039 4040 4041class ServiceSasParameters(msrest.serialization.Model): 4042 """The parameters to list service SAS credentials of a specific resource. 4043 4044 All required parameters must be populated in order to send to Azure. 4045 4046 :param canonicalized_resource: Required. The canonical path to the signed resource. 4047 :type canonicalized_resource: str 4048 :param resource: The signed services accessible with the service SAS. Possible values include: 4049 Blob (b), Container (c), File (f), Share (s). Possible values include: "b", "c", "f", "s". 4050 :type resource: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SignedResource 4051 :param permissions: The signed permissions for the service SAS. Possible values include: Read 4052 (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible 4053 values include: "r", "d", "w", "l", "a", "c", "u", "p". 4054 :type permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Permissions 4055 :param ip_address_or_range: An IP address or a range of IP addresses from which to accept 4056 requests. 4057 :type ip_address_or_range: str 4058 :param protocols: The protocol permitted for a request made with the account SAS. Possible 4059 values include: "https,http", "https". 4060 :type protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.HttpProtocol 4061 :param shared_access_start_time: The time at which the SAS becomes valid. 4062 :type shared_access_start_time: ~datetime.datetime 4063 :param shared_access_expiry_time: The time at which the shared access signature becomes 4064 invalid. 4065 :type shared_access_expiry_time: ~datetime.datetime 4066 :param identifier: A unique value up to 64 characters in length that correlates to an access 4067 policy specified for the container, queue, or table. 4068 :type identifier: str 4069 :param partition_key_start: The start of partition key. 4070 :type partition_key_start: str 4071 :param partition_key_end: The end of partition key. 4072 :type partition_key_end: str 4073 :param row_key_start: The start of row key. 4074 :type row_key_start: str 4075 :param row_key_end: The end of row key. 4076 :type row_key_end: str 4077 :param key_to_sign: The key to sign the account SAS token with. 4078 :type key_to_sign: str 4079 :param cache_control: The response header override for cache control. 4080 :type cache_control: str 4081 :param content_disposition: The response header override for content disposition. 4082 :type content_disposition: str 4083 :param content_encoding: The response header override for content encoding. 4084 :type content_encoding: str 4085 :param content_language: The response header override for content language. 4086 :type content_language: str 4087 :param content_type: The response header override for content type. 4088 :type content_type: str 4089 """ 4090 4091 _validation = { 4092 'canonicalized_resource': {'required': True}, 4093 'identifier': {'max_length': 64, 'min_length': 0}, 4094 } 4095 4096 _attribute_map = { 4097 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, 4098 'resource': {'key': 'signedResource', 'type': 'str'}, 4099 'permissions': {'key': 'signedPermission', 'type': 'str'}, 4100 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, 4101 'protocols': {'key': 'signedProtocol', 'type': 'str'}, 4102 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, 4103 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, 4104 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, 4105 'partition_key_start': {'key': 'startPk', 'type': 'str'}, 4106 'partition_key_end': {'key': 'endPk', 'type': 'str'}, 4107 'row_key_start': {'key': 'startRk', 'type': 'str'}, 4108 'row_key_end': {'key': 'endRk', 'type': 'str'}, 4109 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, 4110 'cache_control': {'key': 'rscc', 'type': 'str'}, 4111 'content_disposition': {'key': 'rscd', 'type': 'str'}, 4112 'content_encoding': {'key': 'rsce', 'type': 'str'}, 4113 'content_language': {'key': 'rscl', 'type': 'str'}, 4114 'content_type': {'key': 'rsct', 'type': 'str'}, 4115 } 4116 4117 def __init__( 4118 self, 4119 *, 4120 canonicalized_resource: str, 4121 resource: Optional[Union[str, "SignedResource"]] = None, 4122 permissions: Optional[Union[str, "Permissions"]] = None, 4123 ip_address_or_range: Optional[str] = None, 4124 protocols: Optional[Union[str, "HttpProtocol"]] = None, 4125 shared_access_start_time: Optional[datetime.datetime] = None, 4126 shared_access_expiry_time: Optional[datetime.datetime] = None, 4127 identifier: Optional[str] = None, 4128 partition_key_start: Optional[str] = None, 4129 partition_key_end: Optional[str] = None, 4130 row_key_start: Optional[str] = None, 4131 row_key_end: Optional[str] = None, 4132 key_to_sign: Optional[str] = None, 4133 cache_control: Optional[str] = None, 4134 content_disposition: Optional[str] = None, 4135 content_encoding: Optional[str] = None, 4136 content_language: Optional[str] = None, 4137 content_type: Optional[str] = None, 4138 **kwargs 4139 ): 4140 super(ServiceSasParameters, self).__init__(**kwargs) 4141 self.canonicalized_resource = canonicalized_resource 4142 self.resource = resource 4143 self.permissions = permissions 4144 self.ip_address_or_range = ip_address_or_range 4145 self.protocols = protocols 4146 self.shared_access_start_time = shared_access_start_time 4147 self.shared_access_expiry_time = shared_access_expiry_time 4148 self.identifier = identifier 4149 self.partition_key_start = partition_key_start 4150 self.partition_key_end = partition_key_end 4151 self.row_key_start = row_key_start 4152 self.row_key_end = row_key_end 4153 self.key_to_sign = key_to_sign 4154 self.cache_control = cache_control 4155 self.content_disposition = content_disposition 4156 self.content_encoding = content_encoding 4157 self.content_language = content_language 4158 self.content_type = content_type 4159 4160 4161class ServiceSpecification(msrest.serialization.Model): 4162 """One property of operation, include metric specifications. 4163 4164 :param metric_specifications: Metric specifications of operation. 4165 :type metric_specifications: 4166 list[~azure.mgmt.storage.v2020_08_01_preview.models.MetricSpecification] 4167 """ 4168 4169 _attribute_map = { 4170 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, 4171 } 4172 4173 def __init__( 4174 self, 4175 *, 4176 metric_specifications: Optional[List["MetricSpecification"]] = None, 4177 **kwargs 4178 ): 4179 super(ServiceSpecification, self).__init__(**kwargs) 4180 self.metric_specifications = metric_specifications 4181 4182 4183class Sku(msrest.serialization.Model): 4184 """The SKU of the storage account. 4185 4186 Variables are only populated by the server, and will be ignored when sending a request. 4187 4188 All required parameters must be populated in order to send to Azure. 4189 4190 :param name: Required. The SKU name. Required for account creation; optional for update. Note 4191 that in older versions, SKU name was called accountType. Possible values include: 4192 "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", 4193 "Standard_GZRS", "Standard_RAGZRS". 4194 :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuName 4195 :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", 4196 "Premium". 4197 :vartype tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuTier 4198 """ 4199 4200 _validation = { 4201 'name': {'required': True}, 4202 'tier': {'readonly': True}, 4203 } 4204 4205 _attribute_map = { 4206 'name': {'key': 'name', 'type': 'str'}, 4207 'tier': {'key': 'tier', 'type': 'str'}, 4208 } 4209 4210 def __init__( 4211 self, 4212 *, 4213 name: Union[str, "SkuName"], 4214 **kwargs 4215 ): 4216 super(Sku, self).__init__(**kwargs) 4217 self.name = name 4218 self.tier = None 4219 4220 4221class SKUCapability(msrest.serialization.Model): 4222 """The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc. 4223 4224 Variables are only populated by the server, and will be ignored when sending a request. 4225 4226 :ivar name: The name of capability, The capability information in the specified SKU, including 4227 file encryption, network ACLs, change notification, etc. 4228 :vartype name: str 4229 :ivar value: A string value to indicate states of given capability. Possibly 'true' or 'false'. 4230 :vartype value: str 4231 """ 4232 4233 _validation = { 4234 'name': {'readonly': True}, 4235 'value': {'readonly': True}, 4236 } 4237 4238 _attribute_map = { 4239 'name': {'key': 'name', 'type': 'str'}, 4240 'value': {'key': 'value', 'type': 'str'}, 4241 } 4242 4243 def __init__( 4244 self, 4245 **kwargs 4246 ): 4247 super(SKUCapability, self).__init__(**kwargs) 4248 self.name = None 4249 self.value = None 4250 4251 4252class SkuInformation(msrest.serialization.Model): 4253 """Storage SKU and its properties. 4254 4255 Variables are only populated by the server, and will be ignored when sending a request. 4256 4257 All required parameters must be populated in order to send to Azure. 4258 4259 :param name: Required. The SKU name. Required for account creation; optional for update. Note 4260 that in older versions, SKU name was called accountType. Possible values include: 4261 "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", 4262 "Standard_GZRS", "Standard_RAGZRS". 4263 :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuName 4264 :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", 4265 "Premium". 4266 :vartype tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuTier 4267 :ivar resource_type: The type of the resource, usually it is 'storageAccounts'. 4268 :vartype resource_type: str 4269 :ivar kind: Indicates the type of storage account. Possible values include: "Storage", 4270 "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". 4271 :vartype kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind 4272 :ivar locations: The set of locations that the SKU is available. This will be supported and 4273 registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). 4274 :vartype locations: list[str] 4275 :ivar capabilities: The capability information in the specified SKU, including file encryption, 4276 network ACLs, change notification, etc. 4277 :vartype capabilities: list[~azure.mgmt.storage.v2020_08_01_preview.models.SKUCapability] 4278 :param restrictions: The restrictions because of which SKU cannot be used. This is empty if 4279 there are no restrictions. 4280 :type restrictions: list[~azure.mgmt.storage.v2020_08_01_preview.models.Restriction] 4281 """ 4282 4283 _validation = { 4284 'name': {'required': True}, 4285 'tier': {'readonly': True}, 4286 'resource_type': {'readonly': True}, 4287 'kind': {'readonly': True}, 4288 'locations': {'readonly': True}, 4289 'capabilities': {'readonly': True}, 4290 } 4291 4292 _attribute_map = { 4293 'name': {'key': 'name', 'type': 'str'}, 4294 'tier': {'key': 'tier', 'type': 'str'}, 4295 'resource_type': {'key': 'resourceType', 'type': 'str'}, 4296 'kind': {'key': 'kind', 'type': 'str'}, 4297 'locations': {'key': 'locations', 'type': '[str]'}, 4298 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, 4299 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, 4300 } 4301 4302 def __init__( 4303 self, 4304 *, 4305 name: Union[str, "SkuName"], 4306 restrictions: Optional[List["Restriction"]] = None, 4307 **kwargs 4308 ): 4309 super(SkuInformation, self).__init__(**kwargs) 4310 self.name = name 4311 self.tier = None 4312 self.resource_type = None 4313 self.kind = None 4314 self.locations = None 4315 self.capabilities = None 4316 self.restrictions = restrictions 4317 4318 4319class SmbSetting(msrest.serialization.Model): 4320 """Setting for SMB protocol. 4321 4322 :param multichannel: Multichannel setting. Applies to Premium FileStorage only. 4323 :type multichannel: ~azure.mgmt.storage.v2020_08_01_preview.models.Multichannel 4324 """ 4325 4326 _attribute_map = { 4327 'multichannel': {'key': 'multichannel', 'type': 'Multichannel'}, 4328 } 4329 4330 def __init__( 4331 self, 4332 *, 4333 multichannel: Optional["Multichannel"] = None, 4334 **kwargs 4335 ): 4336 super(SmbSetting, self).__init__(**kwargs) 4337 self.multichannel = multichannel 4338 4339 4340class TrackedResource(Resource): 4341 """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. 4342 4343 Variables are only populated by the server, and will be ignored when sending a request. 4344 4345 All required parameters must be populated in order to send to Azure. 4346 4347 :ivar id: Fully qualified resource ID for the resource. Ex - 4348 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 4349 :vartype id: str 4350 :ivar name: The name of the resource. 4351 :vartype name: str 4352 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 4353 "Microsoft.Storage/storageAccounts". 4354 :vartype type: str 4355 :param tags: A set of tags. Resource tags. 4356 :type tags: dict[str, str] 4357 :param location: Required. The geo-location where the resource lives. 4358 :type location: str 4359 """ 4360 4361 _validation = { 4362 'id': {'readonly': True}, 4363 'name': {'readonly': True}, 4364 'type': {'readonly': True}, 4365 'location': {'required': True}, 4366 } 4367 4368 _attribute_map = { 4369 'id': {'key': 'id', 'type': 'str'}, 4370 'name': {'key': 'name', 'type': 'str'}, 4371 'type': {'key': 'type', 'type': 'str'}, 4372 'tags': {'key': 'tags', 'type': '{str}'}, 4373 'location': {'key': 'location', 'type': 'str'}, 4374 } 4375 4376 def __init__( 4377 self, 4378 *, 4379 location: str, 4380 tags: Optional[Dict[str, str]] = None, 4381 **kwargs 4382 ): 4383 super(TrackedResource, self).__init__(**kwargs) 4384 self.tags = tags 4385 self.location = location 4386 4387 4388class StorageAccount(TrackedResource): 4389 """The storage account. 4390 4391 Variables are only populated by the server, and will be ignored when sending a request. 4392 4393 All required parameters must be populated in order to send to Azure. 4394 4395 :ivar id: Fully qualified resource ID for the resource. Ex - 4396 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 4397 :vartype id: str 4398 :ivar name: The name of the resource. 4399 :vartype name: str 4400 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 4401 "Microsoft.Storage/storageAccounts". 4402 :vartype type: str 4403 :param tags: A set of tags. Resource tags. 4404 :type tags: dict[str, str] 4405 :param location: Required. The geo-location where the resource lives. 4406 :type location: str 4407 :ivar sku: Gets the SKU. 4408 :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku 4409 :ivar kind: Gets the Kind. Possible values include: "Storage", "StorageV2", "BlobStorage", 4410 "FileStorage", "BlockBlobStorage". 4411 :vartype kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind 4412 :param identity: The identity of the resource. 4413 :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity 4414 :param extended_location: The extendedLocation of the resource. 4415 :type extended_location: ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocation 4416 :ivar provisioning_state: Gets the status of the storage account at the time the operation was 4417 called. Possible values include: "Creating", "ResolvingDNS", "Succeeded". 4418 :vartype provisioning_state: str or 4419 ~azure.mgmt.storage.v2020_08_01_preview.models.ProvisioningState 4420 :ivar primary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, 4421 queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob 4422 endpoint. 4423 :vartype primary_endpoints: ~azure.mgmt.storage.v2020_08_01_preview.models.Endpoints 4424 :ivar primary_location: Gets the location of the primary data center for the storage account. 4425 :vartype primary_location: str 4426 :ivar status_of_primary: Gets the status indicating whether the primary location of the storage 4427 account is available or unavailable. Possible values include: "available", "unavailable". 4428 :vartype status_of_primary: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccountStatus 4429 :ivar last_geo_failover_time: Gets the timestamp of the most recent instance of a failover to 4430 the secondary location. Only the most recent timestamp is retained. This element is not 4431 returned if there has never been a failover instance. Only available if the accountType is 4432 Standard_GRS or Standard_RAGRS. 4433 :vartype last_geo_failover_time: ~datetime.datetime 4434 :ivar secondary_location: Gets the location of the geo-replicated secondary for the storage 4435 account. Only available if the accountType is Standard_GRS or Standard_RAGRS. 4436 :vartype secondary_location: str 4437 :ivar status_of_secondary: Gets the status indicating whether the secondary location of the 4438 storage account is available or unavailable. Only available if the SKU name is Standard_GRS or 4439 Standard_RAGRS. Possible values include: "available", "unavailable". 4440 :vartype status_of_secondary: str or 4441 ~azure.mgmt.storage.v2020_08_01_preview.models.AccountStatus 4442 :ivar creation_time: Gets the creation date and time of the storage account in UTC. 4443 :vartype creation_time: ~datetime.datetime 4444 :ivar custom_domain: Gets the custom domain the user assigned to this storage account. 4445 :vartype custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain 4446 :ivar secondary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, 4447 queue, or table object from the secondary location of the storage account. Only available if 4448 the SKU name is Standard_RAGRS. 4449 :vartype secondary_endpoints: ~azure.mgmt.storage.v2020_08_01_preview.models.Endpoints 4450 :ivar encryption: Gets the encryption settings on the account. If unspecified, the account is 4451 unencrypted. 4452 :vartype encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption 4453 :ivar access_tier: Required for storage accounts where kind = BlobStorage. The access tier used 4454 for billing. Possible values include: "Hot", "Cool". 4455 :vartype access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier 4456 :param azure_files_identity_based_authentication: Provides the identity based authentication 4457 settings for Azure Files. 4458 :type azure_files_identity_based_authentication: 4459 ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication 4460 :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. 4461 :type enable_https_traffic_only: bool 4462 :ivar network_rule_set: Network rule set. 4463 :vartype network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet 4464 :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. 4465 :type is_hns_enabled: bool 4466 :ivar geo_replication_stats: Geo Replication Stats. 4467 :vartype geo_replication_stats: 4468 ~azure.mgmt.storage.v2020_08_01_preview.models.GeoReplicationStats 4469 :ivar failover_in_progress: If the failover is in progress, the value will be true, otherwise, 4470 it will be null. 4471 :vartype failover_in_progress: bool 4472 :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be 4473 disabled once it is enabled. Possible values include: "Disabled", "Enabled". 4474 :type large_file_shares_state: str or 4475 ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState 4476 :ivar private_endpoint_connections: List of private endpoint connection associated with the 4477 specified storage account. 4478 :vartype private_endpoint_connections: 4479 list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection] 4480 :param routing_preference: Maintains information about the network routing choice opted by the 4481 user for data transfer. 4482 :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference 4483 :ivar blob_restore_status: Blob restore status. 4484 :vartype blob_restore_status: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreStatus 4485 :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in 4486 the storage account. The default interpretation is true for this property. 4487 :type allow_blob_public_access: bool 4488 :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. 4489 The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", 4490 "TLS1_1", "TLS1_2". 4491 :type minimum_tls_version: str or 4492 ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion 4493 :param allow_shared_key_access: Indicates whether the storage account permits requests to be 4494 authorized with the account access key via Shared Key. If false, then all requests, including 4495 shared access signatures, must be authorized with Azure Active Directory (Azure AD). The 4496 default value is null, which is equivalent to true. 4497 :type allow_shared_key_access: bool 4498 """ 4499 4500 _validation = { 4501 'id': {'readonly': True}, 4502 'name': {'readonly': True}, 4503 'type': {'readonly': True}, 4504 'location': {'required': True}, 4505 'sku': {'readonly': True}, 4506 'kind': {'readonly': True}, 4507 'provisioning_state': {'readonly': True}, 4508 'primary_endpoints': {'readonly': True}, 4509 'primary_location': {'readonly': True}, 4510 'status_of_primary': {'readonly': True}, 4511 'last_geo_failover_time': {'readonly': True}, 4512 'secondary_location': {'readonly': True}, 4513 'status_of_secondary': {'readonly': True}, 4514 'creation_time': {'readonly': True}, 4515 'custom_domain': {'readonly': True}, 4516 'secondary_endpoints': {'readonly': True}, 4517 'encryption': {'readonly': True}, 4518 'access_tier': {'readonly': True}, 4519 'network_rule_set': {'readonly': True}, 4520 'geo_replication_stats': {'readonly': True}, 4521 'failover_in_progress': {'readonly': True}, 4522 'private_endpoint_connections': {'readonly': True}, 4523 'blob_restore_status': {'readonly': True}, 4524 } 4525 4526 _attribute_map = { 4527 'id': {'key': 'id', 'type': 'str'}, 4528 'name': {'key': 'name', 'type': 'str'}, 4529 'type': {'key': 'type', 'type': 'str'}, 4530 'tags': {'key': 'tags', 'type': '{str}'}, 4531 'location': {'key': 'location', 'type': 'str'}, 4532 'sku': {'key': 'sku', 'type': 'Sku'}, 4533 'kind': {'key': 'kind', 'type': 'str'}, 4534 'identity': {'key': 'identity', 'type': 'Identity'}, 4535 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, 4536 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4537 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, 4538 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, 4539 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'str'}, 4540 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, 4541 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, 4542 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'str'}, 4543 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 4544 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, 4545 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, 4546 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 4547 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 4548 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, 4549 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, 4550 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, 4551 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, 4552 'geo_replication_stats': {'key': 'properties.geoReplicationStats', 'type': 'GeoReplicationStats'}, 4553 'failover_in_progress': {'key': 'properties.failoverInProgress', 'type': 'bool'}, 4554 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, 4555 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, 4556 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, 4557 'blob_restore_status': {'key': 'properties.blobRestoreStatus', 'type': 'BlobRestoreStatus'}, 4558 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, 4559 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, 4560 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, 4561 } 4562 4563 def __init__( 4564 self, 4565 *, 4566 location: str, 4567 tags: Optional[Dict[str, str]] = None, 4568 identity: Optional["Identity"] = None, 4569 extended_location: Optional["ExtendedLocation"] = None, 4570 azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, 4571 enable_https_traffic_only: Optional[bool] = None, 4572 is_hns_enabled: Optional[bool] = None, 4573 large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, 4574 routing_preference: Optional["RoutingPreference"] = None, 4575 allow_blob_public_access: Optional[bool] = None, 4576 minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, 4577 allow_shared_key_access: Optional[bool] = None, 4578 **kwargs 4579 ): 4580 super(StorageAccount, self).__init__(tags=tags, location=location, **kwargs) 4581 self.sku = None 4582 self.kind = None 4583 self.identity = identity 4584 self.extended_location = extended_location 4585 self.provisioning_state = None 4586 self.primary_endpoints = None 4587 self.primary_location = None 4588 self.status_of_primary = None 4589 self.last_geo_failover_time = None 4590 self.secondary_location = None 4591 self.status_of_secondary = None 4592 self.creation_time = None 4593 self.custom_domain = None 4594 self.secondary_endpoints = None 4595 self.encryption = None 4596 self.access_tier = None 4597 self.azure_files_identity_based_authentication = azure_files_identity_based_authentication 4598 self.enable_https_traffic_only = enable_https_traffic_only 4599 self.network_rule_set = None 4600 self.is_hns_enabled = is_hns_enabled 4601 self.geo_replication_stats = None 4602 self.failover_in_progress = None 4603 self.large_file_shares_state = large_file_shares_state 4604 self.private_endpoint_connections = None 4605 self.routing_preference = routing_preference 4606 self.blob_restore_status = None 4607 self.allow_blob_public_access = allow_blob_public_access 4608 self.minimum_tls_version = minimum_tls_version 4609 self.allow_shared_key_access = allow_shared_key_access 4610 4611 4612class StorageAccountCheckNameAvailabilityParameters(msrest.serialization.Model): 4613 """The parameters used to check the availability of the storage account name. 4614 4615 Variables are only populated by the server, and will be ignored when sending a request. 4616 4617 All required parameters must be populated in order to send to Azure. 4618 4619 :param name: Required. The storage account name. 4620 :type name: str 4621 :ivar type: The type of resource, Microsoft.Storage/storageAccounts. Has constant value: 4622 "Microsoft.Storage/storageAccounts". 4623 :vartype type: str 4624 """ 4625 4626 _validation = { 4627 'name': {'required': True}, 4628 'type': {'required': True, 'constant': True}, 4629 } 4630 4631 _attribute_map = { 4632 'name': {'key': 'name', 'type': 'str'}, 4633 'type': {'key': 'type', 'type': 'str'}, 4634 } 4635 4636 type = "Microsoft.Storage/storageAccounts" 4637 4638 def __init__( 4639 self, 4640 *, 4641 name: str, 4642 **kwargs 4643 ): 4644 super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) 4645 self.name = name 4646 4647 4648class StorageAccountCreateParameters(msrest.serialization.Model): 4649 """The parameters used when creating a storage account. 4650 4651 All required parameters must be populated in order to send to Azure. 4652 4653 :param sku: Required. Required. Gets or sets the SKU name. 4654 :type sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku 4655 :param kind: Required. Required. Indicates the type of storage account. Possible values 4656 include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". 4657 :type kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind 4658 :param location: Required. Required. Gets or sets the location of the resource. This will be 4659 one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, 4660 etc.). The geo region of a resource cannot be changed once it is created, but if an identical 4661 geo region is specified on update, the request will succeed. 4662 :type location: str 4663 :param extended_location: Optional. Set the extended location of the resource. If not set, the 4664 storage account will be created in Azure main region. Otherwise it will be created in the 4665 specified extended location. 4666 :type extended_location: ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocation 4667 :param tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. 4668 These tags can be used for viewing and grouping this resource (across resource groups). A 4669 maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no 4670 greater than 128 characters and a value with a length no greater than 256 characters. 4671 :type tags: dict[str, str] 4672 :param identity: The identity of the resource. 4673 :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity 4674 :param custom_domain: User domain assigned to the storage account. Name is the CNAME source. 4675 Only one custom domain is supported per storage account at this time. To clear the existing 4676 custom domain, use an empty string for the custom domain name property. 4677 :type custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain 4678 :param encryption: Not applicable. Azure Storage encryption is enabled for all storage accounts 4679 and cannot be disabled. 4680 :type encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption 4681 :param network_rule_set: Network rule set. 4682 :type network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet 4683 :param access_tier: Required for storage accounts where kind = BlobStorage. The access tier 4684 used for billing. Possible values include: "Hot", "Cool". 4685 :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier 4686 :param azure_files_identity_based_authentication: Provides the identity based authentication 4687 settings for Azure Files. 4688 :type azure_files_identity_based_authentication: 4689 ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication 4690 :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. 4691 The default value is true since API version 2019-04-01. 4692 :type enable_https_traffic_only: bool 4693 :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. 4694 :type is_hns_enabled: bool 4695 :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be 4696 disabled once it is enabled. Possible values include: "Disabled", "Enabled". 4697 :type large_file_shares_state: str or 4698 ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState 4699 :param routing_preference: Maintains information about the network routing choice opted by the 4700 user for data transfer. 4701 :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference 4702 :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in 4703 the storage account. The default interpretation is true for this property. 4704 :type allow_blob_public_access: bool 4705 :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. 4706 The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", 4707 "TLS1_1", "TLS1_2". 4708 :type minimum_tls_version: str or 4709 ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion 4710 :param allow_shared_key_access: Indicates whether the storage account permits requests to be 4711 authorized with the account access key via Shared Key. If false, then all requests, including 4712 shared access signatures, must be authorized with Azure Active Directory (Azure AD). The 4713 default value is null, which is equivalent to true. 4714 :type allow_shared_key_access: bool 4715 """ 4716 4717 _validation = { 4718 'sku': {'required': True}, 4719 'kind': {'required': True}, 4720 'location': {'required': True}, 4721 } 4722 4723 _attribute_map = { 4724 'sku': {'key': 'sku', 'type': 'Sku'}, 4725 'kind': {'key': 'kind', 'type': 'str'}, 4726 'location': {'key': 'location', 'type': 'str'}, 4727 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, 4728 'tags': {'key': 'tags', 'type': '{str}'}, 4729 'identity': {'key': 'identity', 'type': 'Identity'}, 4730 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, 4731 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 4732 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, 4733 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 4734 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, 4735 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, 4736 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, 4737 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, 4738 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, 4739 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, 4740 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, 4741 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, 4742 } 4743 4744 def __init__( 4745 self, 4746 *, 4747 sku: "Sku", 4748 kind: Union[str, "Kind"], 4749 location: str, 4750 extended_location: Optional["ExtendedLocation"] = None, 4751 tags: Optional[Dict[str, str]] = None, 4752 identity: Optional["Identity"] = None, 4753 custom_domain: Optional["CustomDomain"] = None, 4754 encryption: Optional["Encryption"] = None, 4755 network_rule_set: Optional["NetworkRuleSet"] = None, 4756 access_tier: Optional[Union[str, "AccessTier"]] = None, 4757 azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, 4758 enable_https_traffic_only: Optional[bool] = None, 4759 is_hns_enabled: Optional[bool] = None, 4760 large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, 4761 routing_preference: Optional["RoutingPreference"] = None, 4762 allow_blob_public_access: Optional[bool] = None, 4763 minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, 4764 allow_shared_key_access: Optional[bool] = None, 4765 **kwargs 4766 ): 4767 super(StorageAccountCreateParameters, self).__init__(**kwargs) 4768 self.sku = sku 4769 self.kind = kind 4770 self.location = location 4771 self.extended_location = extended_location 4772 self.tags = tags 4773 self.identity = identity 4774 self.custom_domain = custom_domain 4775 self.encryption = encryption 4776 self.network_rule_set = network_rule_set 4777 self.access_tier = access_tier 4778 self.azure_files_identity_based_authentication = azure_files_identity_based_authentication 4779 self.enable_https_traffic_only = enable_https_traffic_only 4780 self.is_hns_enabled = is_hns_enabled 4781 self.large_file_shares_state = large_file_shares_state 4782 self.routing_preference = routing_preference 4783 self.allow_blob_public_access = allow_blob_public_access 4784 self.minimum_tls_version = minimum_tls_version 4785 self.allow_shared_key_access = allow_shared_key_access 4786 4787 4788class StorageAccountInternetEndpoints(msrest.serialization.Model): 4789 """The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. 4790 4791 Variables are only populated by the server, and will be ignored when sending a request. 4792 4793 :ivar blob: Gets the blob endpoint. 4794 :vartype blob: str 4795 :ivar file: Gets the file endpoint. 4796 :vartype file: str 4797 :ivar web: Gets the web endpoint. 4798 :vartype web: str 4799 :ivar dfs: Gets the dfs endpoint. 4800 :vartype dfs: str 4801 """ 4802 4803 _validation = { 4804 'blob': {'readonly': True}, 4805 'file': {'readonly': True}, 4806 'web': {'readonly': True}, 4807 'dfs': {'readonly': True}, 4808 } 4809 4810 _attribute_map = { 4811 'blob': {'key': 'blob', 'type': 'str'}, 4812 'file': {'key': 'file', 'type': 'str'}, 4813 'web': {'key': 'web', 'type': 'str'}, 4814 'dfs': {'key': 'dfs', 'type': 'str'}, 4815 } 4816 4817 def __init__( 4818 self, 4819 **kwargs 4820 ): 4821 super(StorageAccountInternetEndpoints, self).__init__(**kwargs) 4822 self.blob = None 4823 self.file = None 4824 self.web = None 4825 self.dfs = None 4826 4827 4828class StorageAccountKey(msrest.serialization.Model): 4829 """An access key for the storage account. 4830 4831 Variables are only populated by the server, and will be ignored when sending a request. 4832 4833 :ivar key_name: Name of the key. 4834 :vartype key_name: str 4835 :ivar value: Base 64-encoded value of the key. 4836 :vartype value: str 4837 :ivar permissions: Permissions for the key -- read-only or full permissions. Possible values 4838 include: "Read", "Full". 4839 :vartype permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeyPermission 4840 """ 4841 4842 _validation = { 4843 'key_name': {'readonly': True}, 4844 'value': {'readonly': True}, 4845 'permissions': {'readonly': True}, 4846 } 4847 4848 _attribute_map = { 4849 'key_name': {'key': 'keyName', 'type': 'str'}, 4850 'value': {'key': 'value', 'type': 'str'}, 4851 'permissions': {'key': 'permissions', 'type': 'str'}, 4852 } 4853 4854 def __init__( 4855 self, 4856 **kwargs 4857 ): 4858 super(StorageAccountKey, self).__init__(**kwargs) 4859 self.key_name = None 4860 self.value = None 4861 self.permissions = None 4862 4863 4864class StorageAccountListKeysResult(msrest.serialization.Model): 4865 """The response from the ListKeys operation. 4866 4867 Variables are only populated by the server, and will be ignored when sending a request. 4868 4869 :ivar keys: Gets the list of storage account keys and their properties for the specified 4870 storage account. 4871 :vartype keys: list[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountKey] 4872 """ 4873 4874 _validation = { 4875 'keys': {'readonly': True}, 4876 } 4877 4878 _attribute_map = { 4879 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, 4880 } 4881 4882 def __init__( 4883 self, 4884 **kwargs 4885 ): 4886 super(StorageAccountListKeysResult, self).__init__(**kwargs) 4887 self.keys = None 4888 4889 4890class StorageAccountListResult(msrest.serialization.Model): 4891 """The response from the List Storage Accounts operation. 4892 4893 Variables are only populated by the server, and will be ignored when sending a request. 4894 4895 :ivar value: Gets the list of storage accounts and their properties. 4896 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount] 4897 :ivar next_link: Request URL that can be used to query next page of storage accounts. Returned 4898 when total number of requested storage accounts exceed maximum page size. 4899 :vartype next_link: str 4900 """ 4901 4902 _validation = { 4903 'value': {'readonly': True}, 4904 'next_link': {'readonly': True}, 4905 } 4906 4907 _attribute_map = { 4908 'value': {'key': 'value', 'type': '[StorageAccount]'}, 4909 'next_link': {'key': 'nextLink', 'type': 'str'}, 4910 } 4911 4912 def __init__( 4913 self, 4914 **kwargs 4915 ): 4916 super(StorageAccountListResult, self).__init__(**kwargs) 4917 self.value = None 4918 self.next_link = None 4919 4920 4921class StorageAccountMicrosoftEndpoints(msrest.serialization.Model): 4922 """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint. 4923 4924 Variables are only populated by the server, and will be ignored when sending a request. 4925 4926 :ivar blob: Gets the blob endpoint. 4927 :vartype blob: str 4928 :ivar queue: Gets the queue endpoint. 4929 :vartype queue: str 4930 :ivar table: Gets the table endpoint. 4931 :vartype table: str 4932 :ivar file: Gets the file endpoint. 4933 :vartype file: str 4934 :ivar web: Gets the web endpoint. 4935 :vartype web: str 4936 :ivar dfs: Gets the dfs endpoint. 4937 :vartype dfs: str 4938 """ 4939 4940 _validation = { 4941 'blob': {'readonly': True}, 4942 'queue': {'readonly': True}, 4943 'table': {'readonly': True}, 4944 'file': {'readonly': True}, 4945 'web': {'readonly': True}, 4946 'dfs': {'readonly': True}, 4947 } 4948 4949 _attribute_map = { 4950 'blob': {'key': 'blob', 'type': 'str'}, 4951 'queue': {'key': 'queue', 'type': 'str'}, 4952 'table': {'key': 'table', 'type': 'str'}, 4953 'file': {'key': 'file', 'type': 'str'}, 4954 'web': {'key': 'web', 'type': 'str'}, 4955 'dfs': {'key': 'dfs', 'type': 'str'}, 4956 } 4957 4958 def __init__( 4959 self, 4960 **kwargs 4961 ): 4962 super(StorageAccountMicrosoftEndpoints, self).__init__(**kwargs) 4963 self.blob = None 4964 self.queue = None 4965 self.table = None 4966 self.file = None 4967 self.web = None 4968 self.dfs = None 4969 4970 4971class StorageAccountRegenerateKeyParameters(msrest.serialization.Model): 4972 """The parameters used to regenerate the storage account key. 4973 4974 All required parameters must be populated in order to send to Azure. 4975 4976 :param key_name: Required. The name of storage keys that want to be regenerated, possible 4977 values are key1, key2, kerb1, kerb2. 4978 :type key_name: str 4979 """ 4980 4981 _validation = { 4982 'key_name': {'required': True}, 4983 } 4984 4985 _attribute_map = { 4986 'key_name': {'key': 'keyName', 'type': 'str'}, 4987 } 4988 4989 def __init__( 4990 self, 4991 *, 4992 key_name: str, 4993 **kwargs 4994 ): 4995 super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) 4996 self.key_name = key_name 4997 4998 4999class StorageAccountUpdateParameters(msrest.serialization.Model): 5000 """The parameters that can be provided when updating the storage account properties. 5001 5002 :param sku: Gets or sets the SKU name. Note that the SKU name cannot be updated to 5003 Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any 5004 other value. 5005 :type sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku 5006 :param tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. 5007 These tags can be used in viewing and grouping this resource (across resource groups). A 5008 maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in 5009 length than 128 characters and a value no greater in length than 256 characters. 5010 :type tags: dict[str, str] 5011 :param identity: The identity of the resource. 5012 :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity 5013 :param kind: Optional. Indicates the type of storage account. Currently only StorageV2 value 5014 supported by server. Possible values include: "Storage", "StorageV2", "BlobStorage", 5015 "FileStorage", "BlockBlobStorage". 5016 :type kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind 5017 :param custom_domain: Custom domain assigned to the storage account by the user. Name is the 5018 CNAME source. Only one custom domain is supported per storage account at this time. To clear 5019 the existing custom domain, use an empty string for the custom domain name property. 5020 :type custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain 5021 :param encryption: Provides the encryption settings on the account. The default setting is 5022 unencrypted. 5023 :type encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption 5024 :param access_tier: Required for storage accounts where kind = BlobStorage. The access tier 5025 used for billing. Possible values include: "Hot", "Cool". 5026 :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier 5027 :param azure_files_identity_based_authentication: Provides the identity based authentication 5028 settings for Azure Files. 5029 :type azure_files_identity_based_authentication: 5030 ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication 5031 :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. 5032 :type enable_https_traffic_only: bool 5033 :param network_rule_set: Network rule set. 5034 :type network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet 5035 :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be 5036 disabled once it is enabled. Possible values include: "Disabled", "Enabled". 5037 :type large_file_shares_state: str or 5038 ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState 5039 :param routing_preference: Maintains information about the network routing choice opted by the 5040 user for data transfer. 5041 :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference 5042 :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in 5043 the storage account. The default interpretation is true for this property. 5044 :type allow_blob_public_access: bool 5045 :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. 5046 The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", 5047 "TLS1_1", "TLS1_2". 5048 :type minimum_tls_version: str or 5049 ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion 5050 :param allow_shared_key_access: Indicates whether the storage account permits requests to be 5051 authorized with the account access key via Shared Key. If false, then all requests, including 5052 shared access signatures, must be authorized with Azure Active Directory (Azure AD). The 5053 default value is null, which is equivalent to true. 5054 :type allow_shared_key_access: bool 5055 """ 5056 5057 _attribute_map = { 5058 'sku': {'key': 'sku', 'type': 'Sku'}, 5059 'tags': {'key': 'tags', 'type': '{str}'}, 5060 'identity': {'key': 'identity', 'type': 'Identity'}, 5061 'kind': {'key': 'kind', 'type': 'str'}, 5062 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, 5063 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 5064 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 5065 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, 5066 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, 5067 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, 5068 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, 5069 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, 5070 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, 5071 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, 5072 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, 5073 } 5074 5075 def __init__( 5076 self, 5077 *, 5078 sku: Optional["Sku"] = None, 5079 tags: Optional[Dict[str, str]] = None, 5080 identity: Optional["Identity"] = None, 5081 kind: Optional[Union[str, "Kind"]] = None, 5082 custom_domain: Optional["CustomDomain"] = None, 5083 encryption: Optional["Encryption"] = None, 5084 access_tier: Optional[Union[str, "AccessTier"]] = None, 5085 azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, 5086 enable_https_traffic_only: Optional[bool] = None, 5087 network_rule_set: Optional["NetworkRuleSet"] = None, 5088 large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, 5089 routing_preference: Optional["RoutingPreference"] = None, 5090 allow_blob_public_access: Optional[bool] = None, 5091 minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, 5092 allow_shared_key_access: Optional[bool] = None, 5093 **kwargs 5094 ): 5095 super(StorageAccountUpdateParameters, self).__init__(**kwargs) 5096 self.sku = sku 5097 self.tags = tags 5098 self.identity = identity 5099 self.kind = kind 5100 self.custom_domain = custom_domain 5101 self.encryption = encryption 5102 self.access_tier = access_tier 5103 self.azure_files_identity_based_authentication = azure_files_identity_based_authentication 5104 self.enable_https_traffic_only = enable_https_traffic_only 5105 self.network_rule_set = network_rule_set 5106 self.large_file_shares_state = large_file_shares_state 5107 self.routing_preference = routing_preference 5108 self.allow_blob_public_access = allow_blob_public_access 5109 self.minimum_tls_version = minimum_tls_version 5110 self.allow_shared_key_access = allow_shared_key_access 5111 5112 5113class StorageQueue(Resource): 5114 """StorageQueue. 5115 5116 Variables are only populated by the server, and will be ignored when sending a request. 5117 5118 :ivar id: Fully qualified resource ID for the resource. Ex - 5119 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 5120 :vartype id: str 5121 :ivar name: The name of the resource. 5122 :vartype name: str 5123 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 5124 "Microsoft.Storage/storageAccounts". 5125 :vartype type: str 5126 :param metadata: A name-value pair that represents queue metadata. 5127 :type metadata: dict[str, str] 5128 :ivar approximate_message_count: Integer indicating an approximate number of messages in the 5129 queue. This number is not lower than the actual number of messages in the queue, but could be 5130 higher. 5131 :vartype approximate_message_count: int 5132 """ 5133 5134 _validation = { 5135 'id': {'readonly': True}, 5136 'name': {'readonly': True}, 5137 'type': {'readonly': True}, 5138 'approximate_message_count': {'readonly': True}, 5139 } 5140 5141 _attribute_map = { 5142 'id': {'key': 'id', 'type': 'str'}, 5143 'name': {'key': 'name', 'type': 'str'}, 5144 'type': {'key': 'type', 'type': 'str'}, 5145 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 5146 'approximate_message_count': {'key': 'properties.approximateMessageCount', 'type': 'int'}, 5147 } 5148 5149 def __init__( 5150 self, 5151 *, 5152 metadata: Optional[Dict[str, str]] = None, 5153 **kwargs 5154 ): 5155 super(StorageQueue, self).__init__(**kwargs) 5156 self.metadata = metadata 5157 self.approximate_message_count = None 5158 5159 5160class StorageSkuListResult(msrest.serialization.Model): 5161 """The response from the List Storage SKUs operation. 5162 5163 Variables are only populated by the server, and will be ignored when sending a request. 5164 5165 :ivar value: Get the list result of storage SKUs and their properties. 5166 :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.SkuInformation] 5167 """ 5168 5169 _validation = { 5170 'value': {'readonly': True}, 5171 } 5172 5173 _attribute_map = { 5174 'value': {'key': 'value', 'type': '[SkuInformation]'}, 5175 } 5176 5177 def __init__( 5178 self, 5179 **kwargs 5180 ): 5181 super(StorageSkuListResult, self).__init__(**kwargs) 5182 self.value = None 5183 5184 5185class SystemData(msrest.serialization.Model): 5186 """Metadata pertaining to creation and last modification of the resource. 5187 5188 :param created_by: The identity that created the resource. 5189 :type created_by: str 5190 :param created_by_type: The type of identity that created the resource. Possible values 5191 include: "User", "Application", "ManagedIdentity", "Key". 5192 :type created_by_type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.CreatedByType 5193 :param created_at: The timestamp of resource creation (UTC). 5194 :type created_at: ~datetime.datetime 5195 :param last_modified_by: The identity that last modified the resource. 5196 :type last_modified_by: str 5197 :param last_modified_by_type: The type of identity that last modified the resource. Possible 5198 values include: "User", "Application", "ManagedIdentity", "Key". 5199 :type last_modified_by_type: str or 5200 ~azure.mgmt.storage.v2020_08_01_preview.models.CreatedByType 5201 :param last_modified_at: The timestamp of resource last modification (UTC). 5202 :type last_modified_at: ~datetime.datetime 5203 """ 5204 5205 _attribute_map = { 5206 'created_by': {'key': 'createdBy', 'type': 'str'}, 5207 'created_by_type': {'key': 'createdByType', 'type': 'str'}, 5208 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, 5209 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, 5210 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, 5211 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, 5212 } 5213 5214 def __init__( 5215 self, 5216 *, 5217 created_by: Optional[str] = None, 5218 created_by_type: Optional[Union[str, "CreatedByType"]] = None, 5219 created_at: Optional[datetime.datetime] = None, 5220 last_modified_by: Optional[str] = None, 5221 last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, 5222 last_modified_at: Optional[datetime.datetime] = None, 5223 **kwargs 5224 ): 5225 super(SystemData, self).__init__(**kwargs) 5226 self.created_by = created_by 5227 self.created_by_type = created_by_type 5228 self.created_at = created_at 5229 self.last_modified_by = last_modified_by 5230 self.last_modified_by_type = last_modified_by_type 5231 self.last_modified_at = last_modified_at 5232 5233 5234class Table(Resource): 5235 """Properties of the table, including Id, resource name, resource type. 5236 5237 Variables are only populated by the server, and will be ignored when sending a request. 5238 5239 :ivar id: Fully qualified resource ID for the resource. Ex - 5240 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 5241 :vartype id: str 5242 :ivar name: The name of the resource. 5243 :vartype name: str 5244 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 5245 "Microsoft.Storage/storageAccounts". 5246 :vartype type: str 5247 :ivar table_name: Table name under the specified account. 5248 :vartype table_name: str 5249 """ 5250 5251 _validation = { 5252 'id': {'readonly': True}, 5253 'name': {'readonly': True}, 5254 'type': {'readonly': True}, 5255 'table_name': {'readonly': True}, 5256 } 5257 5258 _attribute_map = { 5259 'id': {'key': 'id', 'type': 'str'}, 5260 'name': {'key': 'name', 'type': 'str'}, 5261 'type': {'key': 'type', 'type': 'str'}, 5262 'table_name': {'key': 'properties.tableName', 'type': 'str'}, 5263 } 5264 5265 def __init__( 5266 self, 5267 **kwargs 5268 ): 5269 super(Table, self).__init__(**kwargs) 5270 self.table_name = None 5271 5272 5273class TableServiceProperties(Resource): 5274 """The properties of a storage account’s Table service. 5275 5276 Variables are only populated by the server, and will be ignored when sending a request. 5277 5278 :ivar id: Fully qualified resource ID for the resource. Ex - 5279 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. 5280 :vartype id: str 5281 :ivar name: The name of the resource. 5282 :vartype name: str 5283 :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or 5284 "Microsoft.Storage/storageAccounts". 5285 :vartype type: str 5286 :param cors: Specifies CORS rules for the Table service. You can include up to five CorsRule 5287 elements in the request. If no CorsRule elements are included in the request body, all CORS 5288 rules will be deleted, and CORS will be disabled for the Table service. 5289 :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules 5290 """ 5291 5292 _validation = { 5293 'id': {'readonly': True}, 5294 'name': {'readonly': True}, 5295 'type': {'readonly': True}, 5296 } 5297 5298 _attribute_map = { 5299 'id': {'key': 'id', 'type': 'str'}, 5300 'name': {'key': 'name', 'type': 'str'}, 5301 'type': {'key': 'type', 'type': 'str'}, 5302 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, 5303 } 5304 5305 def __init__( 5306 self, 5307 *, 5308 cors: Optional["CorsRules"] = None, 5309 **kwargs 5310 ): 5311 super(TableServiceProperties, self).__init__(**kwargs) 5312 self.cors = cors 5313 5314 5315class TagFilter(msrest.serialization.Model): 5316 """Blob index tag based filtering for blob objects. 5317 5318 All required parameters must be populated in order to send to Azure. 5319 5320 :param name: Required. This is the filter tag name, it can have 1 - 128 characters. 5321 :type name: str 5322 :param op: Required. This is the comparison operator which is used for object comparison and 5323 filtering. Only == (equality operator) is currently supported. 5324 :type op: str 5325 :param value: Required. This is the filter tag value field used for tag based filtering, it can 5326 have 0 - 256 characters. 5327 :type value: str 5328 """ 5329 5330 _validation = { 5331 'name': {'required': True, 'max_length': 128, 'min_length': 1}, 5332 'op': {'required': True}, 5333 'value': {'required': True, 'max_length': 256, 'min_length': 0}, 5334 } 5335 5336 _attribute_map = { 5337 'name': {'key': 'name', 'type': 'str'}, 5338 'op': {'key': 'op', 'type': 'str'}, 5339 'value': {'key': 'value', 'type': 'str'}, 5340 } 5341 5342 def __init__( 5343 self, 5344 *, 5345 name: str, 5346 op: str, 5347 value: str, 5348 **kwargs 5349 ): 5350 super(TagFilter, self).__init__(**kwargs) 5351 self.name = name 5352 self.op = op 5353 self.value = value 5354 5355 5356class TagProperty(msrest.serialization.Model): 5357 """A tag of the LegalHold of a blob container. 5358 5359 Variables are only populated by the server, and will be ignored when sending a request. 5360 5361 :ivar tag: The tag value. 5362 :vartype tag: str 5363 :ivar timestamp: Returns the date and time the tag was added. 5364 :vartype timestamp: ~datetime.datetime 5365 :ivar object_identifier: Returns the Object ID of the user who added the tag. 5366 :vartype object_identifier: str 5367 :ivar tenant_id: Returns the Tenant ID that issued the token for the user who added the tag. 5368 :vartype tenant_id: str 5369 :ivar upn: Returns the User Principal Name of the user who added the tag. 5370 :vartype upn: str 5371 """ 5372 5373 _validation = { 5374 'tag': {'readonly': True}, 5375 'timestamp': {'readonly': True}, 5376 'object_identifier': {'readonly': True}, 5377 'tenant_id': {'readonly': True}, 5378 'upn': {'readonly': True}, 5379 } 5380 5381 _attribute_map = { 5382 'tag': {'key': 'tag', 'type': 'str'}, 5383 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 5384 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, 5385 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 5386 'upn': {'key': 'upn', 'type': 'str'}, 5387 } 5388 5389 def __init__( 5390 self, 5391 **kwargs 5392 ): 5393 super(TagProperty, self).__init__(**kwargs) 5394 self.tag = None 5395 self.timestamp = None 5396 self.object_identifier = None 5397 self.tenant_id = None 5398 self.upn = None 5399 5400 5401class UpdateHistoryProperty(msrest.serialization.Model): 5402 """An update history of the ImmutabilityPolicy of a blob container. 5403 5404 Variables are only populated by the server, and will be ignored when sending a request. 5405 5406 :ivar update: The ImmutabilityPolicy update type of a blob container, possible values include: 5407 put, lock and extend. Possible values include: "put", "lock", "extend". 5408 :vartype update: str or 5409 ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyUpdateType 5410 :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the 5411 container since the policy creation, in days. 5412 :vartype immutability_period_since_creation_in_days: int 5413 :ivar timestamp: Returns the date and time the ImmutabilityPolicy was updated. 5414 :vartype timestamp: ~datetime.datetime 5415 :ivar object_identifier: Returns the Object ID of the user who updated the ImmutabilityPolicy. 5416 :vartype object_identifier: str 5417 :ivar tenant_id: Returns the Tenant ID that issued the token for the user who updated the 5418 ImmutabilityPolicy. 5419 :vartype tenant_id: str 5420 :ivar upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy. 5421 :vartype upn: str 5422 """ 5423 5424 _validation = { 5425 'update': {'readonly': True}, 5426 'immutability_period_since_creation_in_days': {'readonly': True}, 5427 'timestamp': {'readonly': True}, 5428 'object_identifier': {'readonly': True}, 5429 'tenant_id': {'readonly': True}, 5430 'upn': {'readonly': True}, 5431 } 5432 5433 _attribute_map = { 5434 'update': {'key': 'update', 'type': 'str'}, 5435 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, 5436 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 5437 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, 5438 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 5439 'upn': {'key': 'upn', 'type': 'str'}, 5440 } 5441 5442 def __init__( 5443 self, 5444 **kwargs 5445 ): 5446 super(UpdateHistoryProperty, self).__init__(**kwargs) 5447 self.update = None 5448 self.immutability_period_since_creation_in_days = None 5449 self.timestamp = None 5450 self.object_identifier = None 5451 self.tenant_id = None 5452 self.upn = None 5453 5454 5455class Usage(msrest.serialization.Model): 5456 """Describes Storage Resource Usage. 5457 5458 Variables are only populated by the server, and will be ignored when sending a request. 5459 5460 :ivar unit: Gets the unit of measurement. Possible values include: "Count", "Bytes", "Seconds", 5461 "Percent", "CountsPerSecond", "BytesPerSecond". 5462 :vartype unit: str or ~azure.mgmt.storage.v2020_08_01_preview.models.UsageUnit 5463 :ivar current_value: Gets the current count of the allocated resources in the subscription. 5464 :vartype current_value: int 5465 :ivar limit: Gets the maximum count of the resources that can be allocated in the subscription. 5466 :vartype limit: int 5467 :ivar name: Gets the name of the type of usage. 5468 :vartype name: ~azure.mgmt.storage.v2020_08_01_preview.models.UsageName 5469 """ 5470 5471 _validation = { 5472 'unit': {'readonly': True}, 5473 'current_value': {'readonly': True}, 5474 'limit': {'readonly': True}, 5475 'name': {'readonly': True}, 5476 } 5477 5478 _attribute_map = { 5479 'unit': {'key': 'unit', 'type': 'str'}, 5480 'current_value': {'key': 'currentValue', 'type': 'int'}, 5481 'limit': {'key': 'limit', 'type': 'int'}, 5482 'name': {'key': 'name', 'type': 'UsageName'}, 5483 } 5484 5485 def __init__( 5486 self, 5487 **kwargs 5488 ): 5489 super(Usage, self).__init__(**kwargs) 5490 self.unit = None 5491 self.current_value = None 5492 self.limit = None 5493 self.name = None 5494 5495 5496class UsageListResult(msrest.serialization.Model): 5497 """The response from the List Usages operation. 5498 5499 :param value: Gets or sets the list of Storage Resource Usages. 5500 :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Usage] 5501 """ 5502 5503 _attribute_map = { 5504 'value': {'key': 'value', 'type': '[Usage]'}, 5505 } 5506 5507 def __init__( 5508 self, 5509 *, 5510 value: Optional[List["Usage"]] = None, 5511 **kwargs 5512 ): 5513 super(UsageListResult, self).__init__(**kwargs) 5514 self.value = value 5515 5516 5517class UsageName(msrest.serialization.Model): 5518 """The usage names that can be used; currently limited to StorageAccount. 5519 5520 Variables are only populated by the server, and will be ignored when sending a request. 5521 5522 :ivar value: Gets a string describing the resource name. 5523 :vartype value: str 5524 :ivar localized_value: Gets a localized string describing the resource name. 5525 :vartype localized_value: str 5526 """ 5527 5528 _validation = { 5529 'value': {'readonly': True}, 5530 'localized_value': {'readonly': True}, 5531 } 5532 5533 _attribute_map = { 5534 'value': {'key': 'value', 'type': 'str'}, 5535 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 5536 } 5537 5538 def __init__( 5539 self, 5540 **kwargs 5541 ): 5542 super(UsageName, self).__init__(**kwargs) 5543 self.value = None 5544 self.localized_value = None 5545 5546 5547class VirtualNetworkRule(msrest.serialization.Model): 5548 """Virtual Network rule. 5549 5550 All required parameters must be populated in order to send to Azure. 5551 5552 :param virtual_network_resource_id: Required. Resource ID of a subnet, for example: 5553 /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. 5554 :type virtual_network_resource_id: str 5555 :param action: The action of virtual network rule. The only acceptable values to pass in are 5556 None and "Allow". The default value is None. 5557 :type action: str 5558 :param state: Gets the state of virtual network rule. Possible values include: "provisioning", 5559 "deprovisioning", "succeeded", "failed", "networkSourceDeleted". 5560 :type state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.State 5561 """ 5562 5563 _validation = { 5564 'virtual_network_resource_id': {'required': True}, 5565 } 5566 5567 _attribute_map = { 5568 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, 5569 'action': {'key': 'action', 'type': 'str'}, 5570 'state': {'key': 'state', 'type': 'str'}, 5571 } 5572 5573 def __init__( 5574 self, 5575 *, 5576 virtual_network_resource_id: str, 5577 action: Optional[str] = None, 5578 state: Optional[Union[str, "State"]] = None, 5579 **kwargs 5580 ): 5581 super(VirtualNetworkRule, self).__init__(**kwargs) 5582 self.virtual_network_resource_id = virtual_network_resource_id 5583 self.action = action 5584 self.state = state 5585