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 9from azure.core.exceptions import HttpResponseError 10import msrest.serialization 11 12 13class AccessPolicy(msrest.serialization.Model): 14 """An Access policy. 15 16 :param start: the date-time the policy is active. 17 :type start: str 18 :param expiry: the date-time the policy expires. 19 :type expiry: str 20 :param permission: the permissions for the acl policy. 21 :type permission: str 22 """ 23 24 _attribute_map = { 25 'start': {'key': 'Start', 'type': 'str'}, 26 'expiry': {'key': 'Expiry', 'type': 'str'}, 27 'permission': {'key': 'Permission', 'type': 'str'}, 28 } 29 30 def __init__( 31 self, 32 **kwargs 33 ): 34 super(AccessPolicy, self).__init__(**kwargs) 35 self.start = kwargs.get('start', None) 36 self.expiry = kwargs.get('expiry', None) 37 self.permission = kwargs.get('permission', None) 38 39 40class AppendPositionAccessConditions(msrest.serialization.Model): 41 """Parameter group. 42 43 :param max_size: Optional conditional header. The max length in bytes permitted for the append 44 blob. If the Append Block operation would cause the blob to exceed that limit or if the blob 45 size is already greater than the value specified in this header, the request will fail with 46 MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). 47 :type max_size: long 48 :param append_position: Optional conditional header, used only for the Append Block operation. 49 A number indicating the byte offset to compare. Append Block will succeed only if the append 50 position is equal to this number. If it is not, the request will fail with the 51 AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed). 52 :type append_position: long 53 """ 54 55 _attribute_map = { 56 'max_size': {'key': 'maxSize', 'type': 'long'}, 57 'append_position': {'key': 'appendPosition', 'type': 'long'}, 58 } 59 60 def __init__( 61 self, 62 **kwargs 63 ): 64 super(AppendPositionAccessConditions, self).__init__(**kwargs) 65 self.max_size = kwargs.get('max_size', None) 66 self.append_position = kwargs.get('append_position', None) 67 68 69class ArrowConfiguration(msrest.serialization.Model): 70 """arrow configuration. 71 72 All required parameters must be populated in order to send to Azure. 73 74 :param schema: Required. 75 :type schema: list[~azure.storage.blob.models.ArrowField] 76 """ 77 78 _validation = { 79 'schema': {'required': True}, 80 } 81 82 _attribute_map = { 83 'schema': {'key': 'Schema', 'type': '[ArrowField]', 'xml': {'name': 'Schema', 'wrapped': True, 'itemsName': 'Field'}}, 84 } 85 _xml_map = { 86 'name': 'ArrowConfiguration' 87 } 88 89 def __init__( 90 self, 91 **kwargs 92 ): 93 super(ArrowConfiguration, self).__init__(**kwargs) 94 self.schema = kwargs['schema'] 95 96 97class ArrowField(msrest.serialization.Model): 98 """field of an arrow schema. 99 100 All required parameters must be populated in order to send to Azure. 101 102 :param type: Required. 103 :type type: str 104 :param name: 105 :type name: str 106 :param precision: 107 :type precision: int 108 :param scale: 109 :type scale: int 110 """ 111 112 _validation = { 113 'type': {'required': True}, 114 } 115 116 _attribute_map = { 117 'type': {'key': 'Type', 'type': 'str'}, 118 'name': {'key': 'Name', 'type': 'str'}, 119 'precision': {'key': 'Precision', 'type': 'int'}, 120 'scale': {'key': 'Scale', 'type': 'int'}, 121 } 122 _xml_map = { 123 'name': 'Field' 124 } 125 126 def __init__( 127 self, 128 **kwargs 129 ): 130 super(ArrowField, self).__init__(**kwargs) 131 self.type = kwargs['type'] 132 self.name = kwargs.get('name', None) 133 self.precision = kwargs.get('precision', None) 134 self.scale = kwargs.get('scale', None) 135 136 137class BlobFlatListSegment(msrest.serialization.Model): 138 """BlobFlatListSegment. 139 140 All required parameters must be populated in order to send to Azure. 141 142 :param blob_items: Required. 143 :type blob_items: list[~azure.storage.blob.models.BlobItemInternal] 144 """ 145 146 _validation = { 147 'blob_items': {'required': True}, 148 } 149 150 _attribute_map = { 151 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]'}, 152 } 153 _xml_map = { 154 'name': 'Blobs' 155 } 156 157 def __init__( 158 self, 159 **kwargs 160 ): 161 super(BlobFlatListSegment, self).__init__(**kwargs) 162 self.blob_items = kwargs['blob_items'] 163 164 165class BlobHierarchyListSegment(msrest.serialization.Model): 166 """BlobHierarchyListSegment. 167 168 All required parameters must be populated in order to send to Azure. 169 170 :param blob_prefixes: 171 :type blob_prefixes: list[~azure.storage.blob.models.BlobPrefix] 172 :param blob_items: Required. 173 :type blob_items: list[~azure.storage.blob.models.BlobItemInternal] 174 """ 175 176 _validation = { 177 'blob_items': {'required': True}, 178 } 179 180 _attribute_map = { 181 'blob_prefixes': {'key': 'BlobPrefixes', 'type': '[BlobPrefix]', 'xml': {'name': 'BlobPrefix'}}, 182 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]', 'xml': {'name': 'Blob', 'itemsName': 'Blob'}}, 183 } 184 _xml_map = { 185 'name': 'Blobs' 186 } 187 188 def __init__( 189 self, 190 **kwargs 191 ): 192 super(BlobHierarchyListSegment, self).__init__(**kwargs) 193 self.blob_prefixes = kwargs.get('blob_prefixes', None) 194 self.blob_items = kwargs['blob_items'] 195 196 197class BlobHTTPHeaders(msrest.serialization.Model): 198 """Parameter group. 199 200 :param blob_cache_control: Optional. Sets the blob's cache control. If specified, this property 201 is stored with the blob and returned with a read request. 202 :type blob_cache_control: str 203 :param blob_content_type: Optional. Sets the blob's content type. If specified, this property 204 is stored with the blob and returned with a read request. 205 :type blob_content_type: str 206 :param blob_content_md5: Optional. An MD5 hash of the blob content. Note that this hash is not 207 validated, as the hashes for the individual blocks were validated when each was uploaded. 208 :type blob_content_md5: bytearray 209 :param blob_content_encoding: Optional. Sets the blob's content encoding. If specified, this 210 property is stored with the blob and returned with a read request. 211 :type blob_content_encoding: str 212 :param blob_content_language: Optional. Set the blob's content language. If specified, this 213 property is stored with the blob and returned with a read request. 214 :type blob_content_language: str 215 :param blob_content_disposition: Optional. Sets the blob's Content-Disposition header. 216 :type blob_content_disposition: str 217 """ 218 219 _attribute_map = { 220 'blob_cache_control': {'key': 'blobCacheControl', 'type': 'str'}, 221 'blob_content_type': {'key': 'blobContentType', 'type': 'str'}, 222 'blob_content_md5': {'key': 'blobContentMD5', 'type': 'bytearray'}, 223 'blob_content_encoding': {'key': 'blobContentEncoding', 'type': 'str'}, 224 'blob_content_language': {'key': 'blobContentLanguage', 'type': 'str'}, 225 'blob_content_disposition': {'key': 'blobContentDisposition', 'type': 'str'}, 226 } 227 228 def __init__( 229 self, 230 **kwargs 231 ): 232 super(BlobHTTPHeaders, self).__init__(**kwargs) 233 self.blob_cache_control = kwargs.get('blob_cache_control', None) 234 self.blob_content_type = kwargs.get('blob_content_type', None) 235 self.blob_content_md5 = kwargs.get('blob_content_md5', None) 236 self.blob_content_encoding = kwargs.get('blob_content_encoding', None) 237 self.blob_content_language = kwargs.get('blob_content_language', None) 238 self.blob_content_disposition = kwargs.get('blob_content_disposition', None) 239 240 241class BlobItemInternal(msrest.serialization.Model): 242 """An Azure Storage blob. 243 244 All required parameters must be populated in order to send to Azure. 245 246 :param name: Required. 247 :type name: str 248 :param deleted: Required. 249 :type deleted: bool 250 :param snapshot: Required. 251 :type snapshot: str 252 :param version_id: 253 :type version_id: str 254 :param is_current_version: 255 :type is_current_version: bool 256 :param properties: Required. Properties of a blob. 257 :type properties: ~azure.storage.blob.models.BlobPropertiesInternal 258 :param metadata: 259 :type metadata: ~azure.storage.blob.models.BlobMetadata 260 :param blob_tags: Blob tags. 261 :type blob_tags: ~azure.storage.blob.models.BlobTags 262 :param object_replication_metadata: Dictionary of :code:`<string>`. 263 :type object_replication_metadata: dict[str, str] 264 """ 265 266 _validation = { 267 'name': {'required': True}, 268 'deleted': {'required': True}, 269 'snapshot': {'required': True}, 270 'properties': {'required': True}, 271 } 272 273 _attribute_map = { 274 'name': {'key': 'Name', 'type': 'str'}, 275 'deleted': {'key': 'Deleted', 'type': 'bool'}, 276 'snapshot': {'key': 'Snapshot', 'type': 'str'}, 277 'version_id': {'key': 'VersionId', 'type': 'str'}, 278 'is_current_version': {'key': 'IsCurrentVersion', 'type': 'bool'}, 279 'properties': {'key': 'Properties', 'type': 'BlobPropertiesInternal'}, 280 'metadata': {'key': 'Metadata', 'type': 'BlobMetadata'}, 281 'blob_tags': {'key': 'BlobTags', 'type': 'BlobTags'}, 282 'object_replication_metadata': {'key': 'OrMetadata', 'type': '{str}'}, 283 } 284 _xml_map = { 285 'name': 'Blob' 286 } 287 288 def __init__( 289 self, 290 **kwargs 291 ): 292 super(BlobItemInternal, self).__init__(**kwargs) 293 self.name = kwargs['name'] 294 self.deleted = kwargs['deleted'] 295 self.snapshot = kwargs['snapshot'] 296 self.version_id = kwargs.get('version_id', None) 297 self.is_current_version = kwargs.get('is_current_version', None) 298 self.properties = kwargs['properties'] 299 self.metadata = kwargs.get('metadata', None) 300 self.blob_tags = kwargs.get('blob_tags', None) 301 self.object_replication_metadata = kwargs.get('object_replication_metadata', None) 302 303 304class BlobMetadata(msrest.serialization.Model): 305 """BlobMetadata. 306 307 :param additional_properties: Unmatched properties from the message are deserialized to this 308 collection. 309 :type additional_properties: dict[str, str] 310 :param encrypted: 311 :type encrypted: str 312 """ 313 314 _attribute_map = { 315 'additional_properties': {'key': '', 'type': '{str}'}, 316 'encrypted': {'key': 'Encrypted', 'type': 'str', 'xml': {'attr': True}}, 317 } 318 _xml_map = { 319 'name': 'Metadata' 320 } 321 322 def __init__( 323 self, 324 **kwargs 325 ): 326 super(BlobMetadata, self).__init__(**kwargs) 327 self.additional_properties = kwargs.get('additional_properties', None) 328 self.encrypted = kwargs.get('encrypted', None) 329 330 331class BlobPrefix(msrest.serialization.Model): 332 """BlobPrefix. 333 334 All required parameters must be populated in order to send to Azure. 335 336 :param name: Required. 337 :type name: str 338 """ 339 340 _validation = { 341 'name': {'required': True}, 342 } 343 344 _attribute_map = { 345 'name': {'key': 'Name', 'type': 'str'}, 346 } 347 348 def __init__( 349 self, 350 **kwargs 351 ): 352 super(BlobPrefix, self).__init__(**kwargs) 353 self.name = kwargs['name'] 354 355 356class BlobPropertiesInternal(msrest.serialization.Model): 357 """Properties of a blob. 358 359 All required parameters must be populated in order to send to Azure. 360 361 :param creation_time: 362 :type creation_time: ~datetime.datetime 363 :param last_modified: Required. 364 :type last_modified: ~datetime.datetime 365 :param etag: Required. 366 :type etag: str 367 :param content_length: Size in bytes. 368 :type content_length: long 369 :param content_type: 370 :type content_type: str 371 :param content_encoding: 372 :type content_encoding: str 373 :param content_language: 374 :type content_language: str 375 :param content_md5: 376 :type content_md5: bytearray 377 :param content_disposition: 378 :type content_disposition: str 379 :param cache_control: 380 :type cache_control: str 381 :param blob_sequence_number: 382 :type blob_sequence_number: long 383 :param blob_type: Possible values include: "BlockBlob", "PageBlob", "AppendBlob". 384 :type blob_type: str or ~azure.storage.blob.models.BlobType 385 :param lease_status: Possible values include: "locked", "unlocked". 386 :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType 387 :param lease_state: Possible values include: "available", "leased", "expired", "breaking", 388 "broken". 389 :type lease_state: str or ~azure.storage.blob.models.LeaseStateType 390 :param lease_duration: Possible values include: "infinite", "fixed". 391 :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType 392 :param copy_id: 393 :type copy_id: str 394 :param copy_status: Possible values include: "pending", "success", "aborted", "failed". 395 :type copy_status: str or ~azure.storage.blob.models.CopyStatusType 396 :param copy_source: 397 :type copy_source: str 398 :param copy_progress: 399 :type copy_progress: str 400 :param copy_completion_time: 401 :type copy_completion_time: ~datetime.datetime 402 :param copy_status_description: 403 :type copy_status_description: str 404 :param server_encrypted: 405 :type server_encrypted: bool 406 :param incremental_copy: 407 :type incremental_copy: bool 408 :param destination_snapshot: 409 :type destination_snapshot: str 410 :param deleted_time: 411 :type deleted_time: ~datetime.datetime 412 :param remaining_retention_days: 413 :type remaining_retention_days: int 414 :param access_tier: Possible values include: "P4", "P6", "P10", "P15", "P20", "P30", "P40", 415 "P50", "P60", "P70", "P80", "Hot", "Cool", "Archive". 416 :type access_tier: str or ~azure.storage.blob.models.AccessTier 417 :param access_tier_inferred: 418 :type access_tier_inferred: bool 419 :param archive_status: Possible values include: "rehydrate-pending-to-hot", "rehydrate- 420 pending-to-cool". 421 :type archive_status: str or ~azure.storage.blob.models.ArchiveStatus 422 :param customer_provided_key_sha256: 423 :type customer_provided_key_sha256: str 424 :param encryption_scope: The name of the encryption scope under which the blob is encrypted. 425 :type encryption_scope: str 426 :param access_tier_change_time: 427 :type access_tier_change_time: ~datetime.datetime 428 :param tag_count: 429 :type tag_count: int 430 :param expires_on: 431 :type expires_on: ~datetime.datetime 432 :param is_sealed: 433 :type is_sealed: bool 434 :param rehydrate_priority: If an object is in rehydrate pending state then this header is 435 returned with priority of rehydrate. Valid values are High and Standard. Possible values 436 include: "High", "Standard". 437 :type rehydrate_priority: str or ~azure.storage.blob.models.RehydratePriority 438 :param last_accessed_on: 439 :type last_accessed_on: ~datetime.datetime 440 """ 441 442 _validation = { 443 'last_modified': {'required': True}, 444 'etag': {'required': True}, 445 } 446 447 _attribute_map = { 448 'creation_time': {'key': 'Creation-Time', 'type': 'rfc-1123'}, 449 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123'}, 450 'etag': {'key': 'Etag', 'type': 'str'}, 451 'content_length': {'key': 'Content-Length', 'type': 'long'}, 452 'content_type': {'key': 'Content-Type', 'type': 'str'}, 453 'content_encoding': {'key': 'Content-Encoding', 'type': 'str'}, 454 'content_language': {'key': 'Content-Language', 'type': 'str'}, 455 'content_md5': {'key': 'Content-MD5', 'type': 'bytearray'}, 456 'content_disposition': {'key': 'Content-Disposition', 'type': 'str'}, 457 'cache_control': {'key': 'Cache-Control', 'type': 'str'}, 458 'blob_sequence_number': {'key': 'x-ms-blob-sequence-number', 'type': 'long'}, 459 'blob_type': {'key': 'BlobType', 'type': 'str'}, 460 'lease_status': {'key': 'LeaseStatus', 'type': 'str'}, 461 'lease_state': {'key': 'LeaseState', 'type': 'str'}, 462 'lease_duration': {'key': 'LeaseDuration', 'type': 'str'}, 463 'copy_id': {'key': 'CopyId', 'type': 'str'}, 464 'copy_status': {'key': 'CopyStatus', 'type': 'str'}, 465 'copy_source': {'key': 'CopySource', 'type': 'str'}, 466 'copy_progress': {'key': 'CopyProgress', 'type': 'str'}, 467 'copy_completion_time': {'key': 'CopyCompletionTime', 'type': 'rfc-1123'}, 468 'copy_status_description': {'key': 'CopyStatusDescription', 'type': 'str'}, 469 'server_encrypted': {'key': 'ServerEncrypted', 'type': 'bool'}, 470 'incremental_copy': {'key': 'IncrementalCopy', 'type': 'bool'}, 471 'destination_snapshot': {'key': 'DestinationSnapshot', 'type': 'str'}, 472 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123'}, 473 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int'}, 474 'access_tier': {'key': 'AccessTier', 'type': 'str'}, 475 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool'}, 476 'archive_status': {'key': 'ArchiveStatus', 'type': 'str'}, 477 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str'}, 478 'encryption_scope': {'key': 'EncryptionScope', 'type': 'str'}, 479 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123'}, 480 'tag_count': {'key': 'TagCount', 'type': 'int'}, 481 'expires_on': {'key': 'Expiry-Time', 'type': 'rfc-1123'}, 482 'is_sealed': {'key': 'Sealed', 'type': 'bool'}, 483 'rehydrate_priority': {'key': 'RehydratePriority', 'type': 'str'}, 484 'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123'}, 485 } 486 _xml_map = { 487 'name': 'Properties' 488 } 489 490 def __init__( 491 self, 492 **kwargs 493 ): 494 super(BlobPropertiesInternal, self).__init__(**kwargs) 495 self.creation_time = kwargs.get('creation_time', None) 496 self.last_modified = kwargs['last_modified'] 497 self.etag = kwargs['etag'] 498 self.content_length = kwargs.get('content_length', None) 499 self.content_type = kwargs.get('content_type', None) 500 self.content_encoding = kwargs.get('content_encoding', None) 501 self.content_language = kwargs.get('content_language', None) 502 self.content_md5 = kwargs.get('content_md5', None) 503 self.content_disposition = kwargs.get('content_disposition', None) 504 self.cache_control = kwargs.get('cache_control', None) 505 self.blob_sequence_number = kwargs.get('blob_sequence_number', None) 506 self.blob_type = kwargs.get('blob_type', None) 507 self.lease_status = kwargs.get('lease_status', None) 508 self.lease_state = kwargs.get('lease_state', None) 509 self.lease_duration = kwargs.get('lease_duration', None) 510 self.copy_id = kwargs.get('copy_id', None) 511 self.copy_status = kwargs.get('copy_status', None) 512 self.copy_source = kwargs.get('copy_source', None) 513 self.copy_progress = kwargs.get('copy_progress', None) 514 self.copy_completion_time = kwargs.get('copy_completion_time', None) 515 self.copy_status_description = kwargs.get('copy_status_description', None) 516 self.server_encrypted = kwargs.get('server_encrypted', None) 517 self.incremental_copy = kwargs.get('incremental_copy', None) 518 self.destination_snapshot = kwargs.get('destination_snapshot', None) 519 self.deleted_time = kwargs.get('deleted_time', None) 520 self.remaining_retention_days = kwargs.get('remaining_retention_days', None) 521 self.access_tier = kwargs.get('access_tier', None) 522 self.access_tier_inferred = kwargs.get('access_tier_inferred', None) 523 self.archive_status = kwargs.get('archive_status', None) 524 self.customer_provided_key_sha256 = kwargs.get('customer_provided_key_sha256', None) 525 self.encryption_scope = kwargs.get('encryption_scope', None) 526 self.access_tier_change_time = kwargs.get('access_tier_change_time', None) 527 self.tag_count = kwargs.get('tag_count', None) 528 self.expires_on = kwargs.get('expires_on', None) 529 self.is_sealed = kwargs.get('is_sealed', None) 530 self.rehydrate_priority = kwargs.get('rehydrate_priority', None) 531 self.last_accessed_on = kwargs.get('last_accessed_on', None) 532 533 534class BlobTag(msrest.serialization.Model): 535 """BlobTag. 536 537 All required parameters must be populated in order to send to Azure. 538 539 :param key: Required. 540 :type key: str 541 :param value: Required. 542 :type value: str 543 """ 544 545 _validation = { 546 'key': {'required': True}, 547 'value': {'required': True}, 548 } 549 550 _attribute_map = { 551 'key': {'key': 'Key', 'type': 'str'}, 552 'value': {'key': 'Value', 'type': 'str'}, 553 } 554 _xml_map = { 555 'name': 'Tag' 556 } 557 558 def __init__( 559 self, 560 **kwargs 561 ): 562 super(BlobTag, self).__init__(**kwargs) 563 self.key = kwargs['key'] 564 self.value = kwargs['value'] 565 566 567class BlobTags(msrest.serialization.Model): 568 """Blob tags. 569 570 All required parameters must be populated in order to send to Azure. 571 572 :param blob_tag_set: Required. 573 :type blob_tag_set: list[~azure.storage.blob.models.BlobTag] 574 """ 575 576 _validation = { 577 'blob_tag_set': {'required': True}, 578 } 579 580 _attribute_map = { 581 'blob_tag_set': {'key': 'BlobTagSet', 'type': '[BlobTag]', 'xml': {'name': 'TagSet', 'wrapped': True, 'itemsName': 'Tag'}}, 582 } 583 _xml_map = { 584 'name': 'Tags' 585 } 586 587 def __init__( 588 self, 589 **kwargs 590 ): 591 super(BlobTags, self).__init__(**kwargs) 592 self.blob_tag_set = kwargs['blob_tag_set'] 593 594 595class Block(msrest.serialization.Model): 596 """Represents a single block in a block blob. It describes the block's ID and size. 597 598 All required parameters must be populated in order to send to Azure. 599 600 :param name: Required. The base64 encoded block ID. 601 :type name: str 602 :param size: Required. The block size in bytes. 603 :type size: int 604 """ 605 606 _validation = { 607 'name': {'required': True}, 608 'size': {'required': True}, 609 } 610 611 _attribute_map = { 612 'name': {'key': 'Name', 'type': 'str'}, 613 'size': {'key': 'Size', 'type': 'int'}, 614 } 615 616 def __init__( 617 self, 618 **kwargs 619 ): 620 super(Block, self).__init__(**kwargs) 621 self.name = kwargs['name'] 622 self.size = kwargs['size'] 623 624 625class BlockList(msrest.serialization.Model): 626 """BlockList. 627 628 :param committed_blocks: 629 :type committed_blocks: list[~azure.storage.blob.models.Block] 630 :param uncommitted_blocks: 631 :type uncommitted_blocks: list[~azure.storage.blob.models.Block] 632 """ 633 634 _attribute_map = { 635 'committed_blocks': {'key': 'CommittedBlocks', 'type': '[Block]', 'xml': {'wrapped': True}}, 636 'uncommitted_blocks': {'key': 'UncommittedBlocks', 'type': '[Block]', 'xml': {'wrapped': True}}, 637 } 638 639 def __init__( 640 self, 641 **kwargs 642 ): 643 super(BlockList, self).__init__(**kwargs) 644 self.committed_blocks = kwargs.get('committed_blocks', None) 645 self.uncommitted_blocks = kwargs.get('uncommitted_blocks', None) 646 647 648class BlockLookupList(msrest.serialization.Model): 649 """BlockLookupList. 650 651 :param committed: 652 :type committed: list[str] 653 :param uncommitted: 654 :type uncommitted: list[str] 655 :param latest: 656 :type latest: list[str] 657 """ 658 659 _attribute_map = { 660 'committed': {'key': 'Committed', 'type': '[str]', 'xml': {'itemsName': 'Committed'}}, 661 'uncommitted': {'key': 'Uncommitted', 'type': '[str]', 'xml': {'itemsName': 'Uncommitted'}}, 662 'latest': {'key': 'Latest', 'type': '[str]', 'xml': {'itemsName': 'Latest'}}, 663 } 664 _xml_map = { 665 'name': 'BlockList' 666 } 667 668 def __init__( 669 self, 670 **kwargs 671 ): 672 super(BlockLookupList, self).__init__(**kwargs) 673 self.committed = kwargs.get('committed', None) 674 self.uncommitted = kwargs.get('uncommitted', None) 675 self.latest = kwargs.get('latest', None) 676 677 678class ClearRange(msrest.serialization.Model): 679 """ClearRange. 680 681 All required parameters must be populated in order to send to Azure. 682 683 :param start: Required. 684 :type start: long 685 :param end: Required. 686 :type end: long 687 """ 688 689 _validation = { 690 'start': {'required': True}, 691 'end': {'required': True}, 692 } 693 694 _attribute_map = { 695 'start': {'key': 'Start', 'type': 'long', 'xml': {'name': 'Start'}}, 696 'end': {'key': 'End', 'type': 'long', 'xml': {'name': 'End'}}, 697 } 698 _xml_map = { 699 'name': 'ClearRange' 700 } 701 702 def __init__( 703 self, 704 **kwargs 705 ): 706 super(ClearRange, self).__init__(**kwargs) 707 self.start = kwargs['start'] 708 self.end = kwargs['end'] 709 710 711class ContainerCpkScopeInfo(msrest.serialization.Model): 712 """Parameter group. 713 714 :param default_encryption_scope: Optional. Version 2019-07-07 and later. Specifies the 715 default encryption scope to set on the container and use for all future writes. 716 :type default_encryption_scope: str 717 :param prevent_encryption_scope_override: Optional. Version 2019-07-07 and newer. If true, 718 prevents any request from specifying a different encryption scope than the scope set on the 719 container. 720 :type prevent_encryption_scope_override: bool 721 """ 722 723 _attribute_map = { 724 'default_encryption_scope': {'key': 'DefaultEncryptionScope', 'type': 'str'}, 725 'prevent_encryption_scope_override': {'key': 'PreventEncryptionScopeOverride', 'type': 'bool'}, 726 } 727 728 def __init__( 729 self, 730 **kwargs 731 ): 732 super(ContainerCpkScopeInfo, self).__init__(**kwargs) 733 self.default_encryption_scope = kwargs.get('default_encryption_scope', None) 734 self.prevent_encryption_scope_override = kwargs.get('prevent_encryption_scope_override', None) 735 736 737class ContainerItem(msrest.serialization.Model): 738 """An Azure Storage container. 739 740 All required parameters must be populated in order to send to Azure. 741 742 :param name: Required. 743 :type name: str 744 :param deleted: 745 :type deleted: bool 746 :param version: 747 :type version: str 748 :param properties: Required. Properties of a container. 749 :type properties: ~azure.storage.blob.models.ContainerProperties 750 :param metadata: Dictionary of :code:`<string>`. 751 :type metadata: dict[str, str] 752 """ 753 754 _validation = { 755 'name': {'required': True}, 756 'properties': {'required': True}, 757 } 758 759 _attribute_map = { 760 'name': {'key': 'Name', 'type': 'str'}, 761 'deleted': {'key': 'Deleted', 'type': 'bool'}, 762 'version': {'key': 'Version', 'type': 'str'}, 763 'properties': {'key': 'Properties', 'type': 'ContainerProperties'}, 764 'metadata': {'key': 'Metadata', 'type': '{str}'}, 765 } 766 _xml_map = { 767 'name': 'Container' 768 } 769 770 def __init__( 771 self, 772 **kwargs 773 ): 774 super(ContainerItem, self).__init__(**kwargs) 775 self.name = kwargs['name'] 776 self.deleted = kwargs.get('deleted', None) 777 self.version = kwargs.get('version', None) 778 self.properties = kwargs['properties'] 779 self.metadata = kwargs.get('metadata', None) 780 781 782class ContainerProperties(msrest.serialization.Model): 783 """Properties of a container. 784 785 All required parameters must be populated in order to send to Azure. 786 787 :param last_modified: Required. 788 :type last_modified: ~datetime.datetime 789 :param etag: Required. 790 :type etag: str 791 :param lease_status: Possible values include: "locked", "unlocked". 792 :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType 793 :param lease_state: Possible values include: "available", "leased", "expired", "breaking", 794 "broken". 795 :type lease_state: str or ~azure.storage.blob.models.LeaseStateType 796 :param lease_duration: Possible values include: "infinite", "fixed". 797 :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType 798 :param public_access: Possible values include: "container", "blob". 799 :type public_access: str or ~azure.storage.blob.models.PublicAccessType 800 :param has_immutability_policy: 801 :type has_immutability_policy: bool 802 :param has_legal_hold: 803 :type has_legal_hold: bool 804 :param default_encryption_scope: 805 :type default_encryption_scope: str 806 :param prevent_encryption_scope_override: 807 :type prevent_encryption_scope_override: bool 808 :param deleted_time: 809 :type deleted_time: ~datetime.datetime 810 :param remaining_retention_days: 811 :type remaining_retention_days: int 812 """ 813 814 _validation = { 815 'last_modified': {'required': True}, 816 'etag': {'required': True}, 817 } 818 819 _attribute_map = { 820 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123'}, 821 'etag': {'key': 'Etag', 'type': 'str'}, 822 'lease_status': {'key': 'LeaseStatus', 'type': 'str'}, 823 'lease_state': {'key': 'LeaseState', 'type': 'str'}, 824 'lease_duration': {'key': 'LeaseDuration', 'type': 'str'}, 825 'public_access': {'key': 'PublicAccess', 'type': 'str'}, 826 'has_immutability_policy': {'key': 'HasImmutabilityPolicy', 'type': 'bool'}, 827 'has_legal_hold': {'key': 'HasLegalHold', 'type': 'bool'}, 828 'default_encryption_scope': {'key': 'DefaultEncryptionScope', 'type': 'str'}, 829 'prevent_encryption_scope_override': {'key': 'DenyEncryptionScopeOverride', 'type': 'bool'}, 830 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123'}, 831 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int'}, 832 } 833 834 def __init__( 835 self, 836 **kwargs 837 ): 838 super(ContainerProperties, self).__init__(**kwargs) 839 self.last_modified = kwargs['last_modified'] 840 self.etag = kwargs['etag'] 841 self.lease_status = kwargs.get('lease_status', None) 842 self.lease_state = kwargs.get('lease_state', None) 843 self.lease_duration = kwargs.get('lease_duration', None) 844 self.public_access = kwargs.get('public_access', None) 845 self.has_immutability_policy = kwargs.get('has_immutability_policy', None) 846 self.has_legal_hold = kwargs.get('has_legal_hold', None) 847 self.default_encryption_scope = kwargs.get('default_encryption_scope', None) 848 self.prevent_encryption_scope_override = kwargs.get('prevent_encryption_scope_override', None) 849 self.deleted_time = kwargs.get('deleted_time', None) 850 self.remaining_retention_days = kwargs.get('remaining_retention_days', None) 851 852 853class CorsRule(msrest.serialization.Model): 854 """CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain. 855 856 All required parameters must be populated in order to send to Azure. 857 858 :param allowed_origins: Required. The origin domains that are permitted to make a request 859 against the storage service via CORS. The origin domain is the domain from which the request 860 originates. Note that the origin must be an exact case-sensitive match with the origin that the 861 user age sends to the service. You can also use the wildcard character '*' to allow all origin 862 domains to make requests via CORS. 863 :type allowed_origins: str 864 :param allowed_methods: Required. The methods (HTTP request verbs) that the origin domain may 865 use for a CORS request. (comma separated). 866 :type allowed_methods: str 867 :param allowed_headers: Required. the request headers that the origin domain may specify on the 868 CORS request. 869 :type allowed_headers: str 870 :param exposed_headers: Required. The response headers that may be sent in the response to the 871 CORS request and exposed by the browser to the request issuer. 872 :type exposed_headers: str 873 :param max_age_in_seconds: Required. The maximum amount time that a browser should cache the 874 preflight OPTIONS request. 875 :type max_age_in_seconds: int 876 """ 877 878 _validation = { 879 'allowed_origins': {'required': True}, 880 'allowed_methods': {'required': True}, 881 'allowed_headers': {'required': True}, 882 'exposed_headers': {'required': True}, 883 'max_age_in_seconds': {'required': True, 'minimum': 0}, 884 } 885 886 _attribute_map = { 887 'allowed_origins': {'key': 'AllowedOrigins', 'type': 'str'}, 888 'allowed_methods': {'key': 'AllowedMethods', 'type': 'str'}, 889 'allowed_headers': {'key': 'AllowedHeaders', 'type': 'str'}, 890 'exposed_headers': {'key': 'ExposedHeaders', 'type': 'str'}, 891 'max_age_in_seconds': {'key': 'MaxAgeInSeconds', 'type': 'int'}, 892 } 893 894 def __init__( 895 self, 896 **kwargs 897 ): 898 super(CorsRule, self).__init__(**kwargs) 899 self.allowed_origins = kwargs['allowed_origins'] 900 self.allowed_methods = kwargs['allowed_methods'] 901 self.allowed_headers = kwargs['allowed_headers'] 902 self.exposed_headers = kwargs['exposed_headers'] 903 self.max_age_in_seconds = kwargs['max_age_in_seconds'] 904 905 906class CpkInfo(msrest.serialization.Model): 907 """Parameter group. 908 909 :param encryption_key: Optional. Specifies the encryption key to use to encrypt the data 910 provided in the request. If not specified, encryption is performed with the root account 911 encryption key. For more information, see Encryption at Rest for Azure Storage Services. 912 :type encryption_key: str 913 :param encryption_key_sha256: The SHA-256 hash of the provided encryption key. Must be provided 914 if the x-ms-encryption-key header is provided. 915 :type encryption_key_sha256: str 916 """ 917 918 _attribute_map = { 919 'encryption_key': {'key': 'encryptionKey', 'type': 'str'}, 920 'encryption_key_sha256': {'key': 'encryptionKeySha256', 'type': 'str'}, 921 } 922 923 def __init__( 924 self, 925 **kwargs 926 ): 927 super(CpkInfo, self).__init__(**kwargs) 928 self.encryption_key = kwargs.get('encryption_key', None) 929 self.encryption_key_sha256 = kwargs.get('encryption_key_sha256', None) 930 931 932class CpkScopeInfo(msrest.serialization.Model): 933 """Parameter group. 934 935 :param encryption_scope: Optional. Version 2019-07-07 and later. Specifies the name of the 936 encryption scope to use to encrypt the data provided in the request. If not specified, 937 encryption is performed with the default account encryption scope. For more information, see 938 Encryption at Rest for Azure Storage Services. 939 :type encryption_scope: str 940 """ 941 942 _attribute_map = { 943 'encryption_scope': {'key': 'encryptionScope', 'type': 'str'}, 944 } 945 946 def __init__( 947 self, 948 **kwargs 949 ): 950 super(CpkScopeInfo, self).__init__(**kwargs) 951 self.encryption_scope = kwargs.get('encryption_scope', None) 952 953 954class DataLakeStorageError(msrest.serialization.Model): 955 """DataLakeStorageError. 956 957 :param data_lake_storage_error_details: The service error response object. 958 :type data_lake_storage_error_details: ~azure.storage.blob.models.DataLakeStorageErrorDetails 959 """ 960 961 _attribute_map = { 962 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorDetails'}, 963 } 964 965 def __init__( 966 self, 967 **kwargs 968 ): 969 super(DataLakeStorageError, self).__init__(**kwargs) 970 self.data_lake_storage_error_details = kwargs.get('data_lake_storage_error_details', None) 971 972 973class DataLakeStorageErrorDetails(msrest.serialization.Model): 974 """The service error response object. 975 976 :param code: The service error code. 977 :type code: str 978 :param message: The service error message. 979 :type message: str 980 """ 981 982 _attribute_map = { 983 'code': {'key': 'Code', 'type': 'str'}, 984 'message': {'key': 'Message', 'type': 'str'}, 985 } 986 987 def __init__( 988 self, 989 **kwargs 990 ): 991 super(DataLakeStorageErrorDetails, self).__init__(**kwargs) 992 self.code = kwargs.get('code', None) 993 self.message = kwargs.get('message', None) 994 995 996class DelimitedTextConfiguration(msrest.serialization.Model): 997 """delimited text configuration. 998 999 All required parameters must be populated in order to send to Azure. 1000 1001 :param column_separator: Required. column separator. 1002 :type column_separator: str 1003 :param field_quote: Required. field quote. 1004 :type field_quote: str 1005 :param record_separator: Required. record separator. 1006 :type record_separator: str 1007 :param escape_char: Required. escape char. 1008 :type escape_char: str 1009 :param headers_present: Required. has headers. 1010 :type headers_present: bool 1011 """ 1012 1013 _validation = { 1014 'column_separator': {'required': True}, 1015 'field_quote': {'required': True}, 1016 'record_separator': {'required': True}, 1017 'escape_char': {'required': True}, 1018 'headers_present': {'required': True}, 1019 } 1020 1021 _attribute_map = { 1022 'column_separator': {'key': 'ColumnSeparator', 'type': 'str', 'xml': {'name': 'ColumnSeparator'}}, 1023 'field_quote': {'key': 'FieldQuote', 'type': 'str', 'xml': {'name': 'FieldQuote'}}, 1024 'record_separator': {'key': 'RecordSeparator', 'type': 'str', 'xml': {'name': 'RecordSeparator'}}, 1025 'escape_char': {'key': 'EscapeChar', 'type': 'str', 'xml': {'name': 'EscapeChar'}}, 1026 'headers_present': {'key': 'HeadersPresent', 'type': 'bool', 'xml': {'name': 'HasHeaders'}}, 1027 } 1028 _xml_map = { 1029 'name': 'DelimitedTextConfiguration' 1030 } 1031 1032 def __init__( 1033 self, 1034 **kwargs 1035 ): 1036 super(DelimitedTextConfiguration, self).__init__(**kwargs) 1037 self.column_separator = kwargs['column_separator'] 1038 self.field_quote = kwargs['field_quote'] 1039 self.record_separator = kwargs['record_separator'] 1040 self.escape_char = kwargs['escape_char'] 1041 self.headers_present = kwargs['headers_present'] 1042 1043 1044class DirectoryHttpHeaders(msrest.serialization.Model): 1045 """Parameter group. 1046 1047 :param cache_control: Cache control for given resource. 1048 :type cache_control: str 1049 :param content_type: Content type for given resource. 1050 :type content_type: str 1051 :param content_encoding: Content encoding for given resource. 1052 :type content_encoding: str 1053 :param content_language: Content language for given resource. 1054 :type content_language: str 1055 :param content_disposition: Content disposition for given resource. 1056 :type content_disposition: str 1057 """ 1058 1059 _attribute_map = { 1060 'cache_control': {'key': 'cacheControl', 'type': 'str'}, 1061 'content_type': {'key': 'contentType', 'type': 'str'}, 1062 'content_encoding': {'key': 'contentEncoding', 'type': 'str'}, 1063 'content_language': {'key': 'contentLanguage', 'type': 'str'}, 1064 'content_disposition': {'key': 'contentDisposition', 'type': 'str'}, 1065 } 1066 1067 def __init__( 1068 self, 1069 **kwargs 1070 ): 1071 super(DirectoryHttpHeaders, self).__init__(**kwargs) 1072 self.cache_control = kwargs.get('cache_control', None) 1073 self.content_type = kwargs.get('content_type', None) 1074 self.content_encoding = kwargs.get('content_encoding', None) 1075 self.content_language = kwargs.get('content_language', None) 1076 self.content_disposition = kwargs.get('content_disposition', None) 1077 1078 1079class FilterBlobItem(msrest.serialization.Model): 1080 """Blob info from a Filter Blobs API call. 1081 1082 All required parameters must be populated in order to send to Azure. 1083 1084 :param name: Required. 1085 :type name: str 1086 :param container_name: Required. 1087 :type container_name: str 1088 :param tags: A set of tags. Blob tags. 1089 :type tags: ~azure.storage.blob.models.BlobTags 1090 """ 1091 1092 _validation = { 1093 'name': {'required': True}, 1094 'container_name': {'required': True}, 1095 } 1096 1097 _attribute_map = { 1098 'name': {'key': 'Name', 'type': 'str'}, 1099 'container_name': {'key': 'ContainerName', 'type': 'str'}, 1100 'tags': {'key': 'Tags', 'type': 'BlobTags'}, 1101 } 1102 _xml_map = { 1103 'name': 'Blob' 1104 } 1105 1106 def __init__( 1107 self, 1108 **kwargs 1109 ): 1110 super(FilterBlobItem, self).__init__(**kwargs) 1111 self.name = kwargs['name'] 1112 self.container_name = kwargs['container_name'] 1113 self.tags = kwargs.get('tags', None) 1114 1115 1116class FilterBlobSegment(msrest.serialization.Model): 1117 """The result of a Filter Blobs API call. 1118 1119 All required parameters must be populated in order to send to Azure. 1120 1121 :param service_endpoint: Required. 1122 :type service_endpoint: str 1123 :param where: Required. 1124 :type where: str 1125 :param blobs: Required. 1126 :type blobs: list[~azure.storage.blob.models.FilterBlobItem] 1127 :param next_marker: 1128 :type next_marker: str 1129 """ 1130 1131 _validation = { 1132 'service_endpoint': {'required': True}, 1133 'where': {'required': True}, 1134 'blobs': {'required': True}, 1135 } 1136 1137 _attribute_map = { 1138 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'attr': True}}, 1139 'where': {'key': 'Where', 'type': 'str'}, 1140 'blobs': {'key': 'Blobs', 'type': '[FilterBlobItem]', 'xml': {'name': 'Blobs', 'wrapped': True, 'itemsName': 'Blob'}}, 1141 'next_marker': {'key': 'NextMarker', 'type': 'str'}, 1142 } 1143 _xml_map = { 1144 'name': 'EnumerationResults' 1145 } 1146 1147 def __init__( 1148 self, 1149 **kwargs 1150 ): 1151 super(FilterBlobSegment, self).__init__(**kwargs) 1152 self.service_endpoint = kwargs['service_endpoint'] 1153 self.where = kwargs['where'] 1154 self.blobs = kwargs['blobs'] 1155 self.next_marker = kwargs.get('next_marker', None) 1156 1157 1158class GeoReplication(msrest.serialization.Model): 1159 """Geo-Replication information for the Secondary Storage Service. 1160 1161 All required parameters must be populated in order to send to Azure. 1162 1163 :param status: Required. The status of the secondary location. Possible values include: "live", 1164 "bootstrap", "unavailable". 1165 :type status: str or ~azure.storage.blob.models.GeoReplicationStatusType 1166 :param last_sync_time: Required. A GMT date/time value, to the second. All primary writes 1167 preceding this value are guaranteed to be available for read operations at the secondary. 1168 Primary writes after this point in time may or may not be available for reads. 1169 :type last_sync_time: ~datetime.datetime 1170 """ 1171 1172 _validation = { 1173 'status': {'required': True}, 1174 'last_sync_time': {'required': True}, 1175 } 1176 1177 _attribute_map = { 1178 'status': {'key': 'Status', 'type': 'str'}, 1179 'last_sync_time': {'key': 'LastSyncTime', 'type': 'rfc-1123'}, 1180 } 1181 1182 def __init__( 1183 self, 1184 **kwargs 1185 ): 1186 super(GeoReplication, self).__init__(**kwargs) 1187 self.status = kwargs['status'] 1188 self.last_sync_time = kwargs['last_sync_time'] 1189 1190 1191class JsonTextConfiguration(msrest.serialization.Model): 1192 """json text configuration. 1193 1194 All required parameters must be populated in order to send to Azure. 1195 1196 :param record_separator: Required. record separator. 1197 :type record_separator: str 1198 """ 1199 1200 _validation = { 1201 'record_separator': {'required': True}, 1202 } 1203 1204 _attribute_map = { 1205 'record_separator': {'key': 'RecordSeparator', 'type': 'str', 'xml': {'name': 'RecordSeparator'}}, 1206 } 1207 _xml_map = { 1208 'name': 'JsonTextConfiguration' 1209 } 1210 1211 def __init__( 1212 self, 1213 **kwargs 1214 ): 1215 super(JsonTextConfiguration, self).__init__(**kwargs) 1216 self.record_separator = kwargs['record_separator'] 1217 1218 1219class KeyInfo(msrest.serialization.Model): 1220 """Key information. 1221 1222 All required parameters must be populated in order to send to Azure. 1223 1224 :param start: Required. The date-time the key is active in ISO 8601 UTC time. 1225 :type start: str 1226 :param expiry: Required. The date-time the key expires in ISO 8601 UTC time. 1227 :type expiry: str 1228 """ 1229 1230 _validation = { 1231 'start': {'required': True}, 1232 'expiry': {'required': True}, 1233 } 1234 1235 _attribute_map = { 1236 'start': {'key': 'Start', 'type': 'str'}, 1237 'expiry': {'key': 'Expiry', 'type': 'str'}, 1238 } 1239 1240 def __init__( 1241 self, 1242 **kwargs 1243 ): 1244 super(KeyInfo, self).__init__(**kwargs) 1245 self.start = kwargs['start'] 1246 self.expiry = kwargs['expiry'] 1247 1248 1249class LeaseAccessConditions(msrest.serialization.Model): 1250 """Parameter group. 1251 1252 :param lease_id: If specified, the operation only succeeds if the resource's lease is active 1253 and matches this ID. 1254 :type lease_id: str 1255 """ 1256 1257 _attribute_map = { 1258 'lease_id': {'key': 'leaseId', 'type': 'str'}, 1259 } 1260 1261 def __init__( 1262 self, 1263 **kwargs 1264 ): 1265 super(LeaseAccessConditions, self).__init__(**kwargs) 1266 self.lease_id = kwargs.get('lease_id', None) 1267 1268 1269class ListBlobsFlatSegmentResponse(msrest.serialization.Model): 1270 """An enumeration of blobs. 1271 1272 All required parameters must be populated in order to send to Azure. 1273 1274 :param service_endpoint: Required. 1275 :type service_endpoint: str 1276 :param container_name: Required. 1277 :type container_name: str 1278 :param prefix: 1279 :type prefix: str 1280 :param marker: 1281 :type marker: str 1282 :param max_results: 1283 :type max_results: int 1284 :param segment: Required. 1285 :type segment: ~azure.storage.blob.models.BlobFlatListSegment 1286 :param next_marker: 1287 :type next_marker: str 1288 """ 1289 1290 _validation = { 1291 'service_endpoint': {'required': True}, 1292 'container_name': {'required': True}, 1293 'segment': {'required': True}, 1294 } 1295 1296 _attribute_map = { 1297 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'attr': True}}, 1298 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'attr': True}}, 1299 'prefix': {'key': 'Prefix', 'type': 'str'}, 1300 'marker': {'key': 'Marker', 'type': 'str'}, 1301 'max_results': {'key': 'MaxResults', 'type': 'int'}, 1302 'segment': {'key': 'Segment', 'type': 'BlobFlatListSegment'}, 1303 'next_marker': {'key': 'NextMarker', 'type': 'str'}, 1304 } 1305 _xml_map = { 1306 'name': 'EnumerationResults' 1307 } 1308 1309 def __init__( 1310 self, 1311 **kwargs 1312 ): 1313 super(ListBlobsFlatSegmentResponse, self).__init__(**kwargs) 1314 self.service_endpoint = kwargs['service_endpoint'] 1315 self.container_name = kwargs['container_name'] 1316 self.prefix = kwargs.get('prefix', None) 1317 self.marker = kwargs.get('marker', None) 1318 self.max_results = kwargs.get('max_results', None) 1319 self.segment = kwargs['segment'] 1320 self.next_marker = kwargs.get('next_marker', None) 1321 1322 1323class ListBlobsHierarchySegmentResponse(msrest.serialization.Model): 1324 """An enumeration of blobs. 1325 1326 All required parameters must be populated in order to send to Azure. 1327 1328 :param service_endpoint: Required. 1329 :type service_endpoint: str 1330 :param container_name: Required. 1331 :type container_name: str 1332 :param prefix: 1333 :type prefix: str 1334 :param marker: 1335 :type marker: str 1336 :param max_results: 1337 :type max_results: int 1338 :param delimiter: 1339 :type delimiter: str 1340 :param segment: Required. 1341 :type segment: ~azure.storage.blob.models.BlobHierarchyListSegment 1342 :param next_marker: 1343 :type next_marker: str 1344 """ 1345 1346 _validation = { 1347 'service_endpoint': {'required': True}, 1348 'container_name': {'required': True}, 1349 'segment': {'required': True}, 1350 } 1351 1352 _attribute_map = { 1353 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'attr': True}}, 1354 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'attr': True}}, 1355 'prefix': {'key': 'Prefix', 'type': 'str'}, 1356 'marker': {'key': 'Marker', 'type': 'str'}, 1357 'max_results': {'key': 'MaxResults', 'type': 'int'}, 1358 'delimiter': {'key': 'Delimiter', 'type': 'str'}, 1359 'segment': {'key': 'Segment', 'type': 'BlobHierarchyListSegment'}, 1360 'next_marker': {'key': 'NextMarker', 'type': 'str'}, 1361 } 1362 _xml_map = { 1363 'name': 'EnumerationResults' 1364 } 1365 1366 def __init__( 1367 self, 1368 **kwargs 1369 ): 1370 super(ListBlobsHierarchySegmentResponse, self).__init__(**kwargs) 1371 self.service_endpoint = kwargs['service_endpoint'] 1372 self.container_name = kwargs['container_name'] 1373 self.prefix = kwargs.get('prefix', None) 1374 self.marker = kwargs.get('marker', None) 1375 self.max_results = kwargs.get('max_results', None) 1376 self.delimiter = kwargs.get('delimiter', None) 1377 self.segment = kwargs['segment'] 1378 self.next_marker = kwargs.get('next_marker', None) 1379 1380 1381class ListContainersSegmentResponse(msrest.serialization.Model): 1382 """An enumeration of containers. 1383 1384 All required parameters must be populated in order to send to Azure. 1385 1386 :param service_endpoint: Required. 1387 :type service_endpoint: str 1388 :param prefix: 1389 :type prefix: str 1390 :param marker: 1391 :type marker: str 1392 :param max_results: 1393 :type max_results: int 1394 :param container_items: Required. 1395 :type container_items: list[~azure.storage.blob.models.ContainerItem] 1396 :param next_marker: 1397 :type next_marker: str 1398 """ 1399 1400 _validation = { 1401 'service_endpoint': {'required': True}, 1402 'container_items': {'required': True}, 1403 } 1404 1405 _attribute_map = { 1406 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'attr': True}}, 1407 'prefix': {'key': 'Prefix', 'type': 'str'}, 1408 'marker': {'key': 'Marker', 'type': 'str'}, 1409 'max_results': {'key': 'MaxResults', 'type': 'int'}, 1410 'container_items': {'key': 'ContainerItems', 'type': '[ContainerItem]', 'xml': {'name': 'Containers', 'wrapped': True, 'itemsName': 'Container'}}, 1411 'next_marker': {'key': 'NextMarker', 'type': 'str'}, 1412 } 1413 _xml_map = { 1414 'name': 'EnumerationResults' 1415 } 1416 1417 def __init__( 1418 self, 1419 **kwargs 1420 ): 1421 super(ListContainersSegmentResponse, self).__init__(**kwargs) 1422 self.service_endpoint = kwargs['service_endpoint'] 1423 self.prefix = kwargs.get('prefix', None) 1424 self.marker = kwargs.get('marker', None) 1425 self.max_results = kwargs.get('max_results', None) 1426 self.container_items = kwargs['container_items'] 1427 self.next_marker = kwargs.get('next_marker', None) 1428 1429 1430class Logging(msrest.serialization.Model): 1431 """Azure Analytics Logging settings. 1432 1433 All required parameters must be populated in order to send to Azure. 1434 1435 :param version: Required. The version of Storage Analytics to configure. 1436 :type version: str 1437 :param delete: Required. Indicates whether all delete requests should be logged. 1438 :type delete: bool 1439 :param read: Required. Indicates whether all read requests should be logged. 1440 :type read: bool 1441 :param write: Required. Indicates whether all write requests should be logged. 1442 :type write: bool 1443 :param retention_policy: Required. the retention policy which determines how long the 1444 associated data should persist. 1445 :type retention_policy: ~azure.storage.blob.models.RetentionPolicy 1446 """ 1447 1448 _validation = { 1449 'version': {'required': True}, 1450 'delete': {'required': True}, 1451 'read': {'required': True}, 1452 'write': {'required': True}, 1453 'retention_policy': {'required': True}, 1454 } 1455 1456 _attribute_map = { 1457 'version': {'key': 'Version', 'type': 'str'}, 1458 'delete': {'key': 'Delete', 'type': 'bool'}, 1459 'read': {'key': 'Read', 'type': 'bool'}, 1460 'write': {'key': 'Write', 'type': 'bool'}, 1461 'retention_policy': {'key': 'RetentionPolicy', 'type': 'RetentionPolicy'}, 1462 } 1463 1464 def __init__( 1465 self, 1466 **kwargs 1467 ): 1468 super(Logging, self).__init__(**kwargs) 1469 self.version = kwargs['version'] 1470 self.delete = kwargs['delete'] 1471 self.read = kwargs['read'] 1472 self.write = kwargs['write'] 1473 self.retention_policy = kwargs['retention_policy'] 1474 1475 1476class Metrics(msrest.serialization.Model): 1477 """a summary of request statistics grouped by API in hour or minute aggregates for blobs. 1478 1479 All required parameters must be populated in order to send to Azure. 1480 1481 :param version: The version of Storage Analytics to configure. 1482 :type version: str 1483 :param enabled: Required. Indicates whether metrics are enabled for the Blob service. 1484 :type enabled: bool 1485 :param include_apis: Indicates whether metrics should generate summary statistics for called 1486 API operations. 1487 :type include_apis: bool 1488 :param retention_policy: the retention policy which determines how long the associated data 1489 should persist. 1490 :type retention_policy: ~azure.storage.blob.models.RetentionPolicy 1491 """ 1492 1493 _validation = { 1494 'enabled': {'required': True}, 1495 } 1496 1497 _attribute_map = { 1498 'version': {'key': 'Version', 'type': 'str'}, 1499 'enabled': {'key': 'Enabled', 'type': 'bool'}, 1500 'include_apis': {'key': 'IncludeAPIs', 'type': 'bool'}, 1501 'retention_policy': {'key': 'RetentionPolicy', 'type': 'RetentionPolicy'}, 1502 } 1503 1504 def __init__( 1505 self, 1506 **kwargs 1507 ): 1508 super(Metrics, self).__init__(**kwargs) 1509 self.version = kwargs.get('version', None) 1510 self.enabled = kwargs['enabled'] 1511 self.include_apis = kwargs.get('include_apis', None) 1512 self.retention_policy = kwargs.get('retention_policy', None) 1513 1514 1515class ModifiedAccessConditions(msrest.serialization.Model): 1516 """Parameter group. 1517 1518 :param if_modified_since: Specify this header value to operate only on a blob if it has been 1519 modified since the specified date/time. 1520 :type if_modified_since: ~datetime.datetime 1521 :param if_unmodified_since: Specify this header value to operate only on a blob if it has not 1522 been modified since the specified date/time. 1523 :type if_unmodified_since: ~datetime.datetime 1524 :param if_match: Specify an ETag value to operate only on blobs with a matching value. 1525 :type if_match: str 1526 :param if_none_match: Specify an ETag value to operate only on blobs without a matching value. 1527 :type if_none_match: str 1528 :param if_tags: Specify a SQL where clause on blob tags to operate only on blobs with a 1529 matching value. 1530 :type if_tags: str 1531 """ 1532 1533 _attribute_map = { 1534 'if_modified_since': {'key': 'ifModifiedSince', 'type': 'rfc-1123'}, 1535 'if_unmodified_since': {'key': 'ifUnmodifiedSince', 'type': 'rfc-1123'}, 1536 'if_match': {'key': 'ifMatch', 'type': 'str'}, 1537 'if_none_match': {'key': 'ifNoneMatch', 'type': 'str'}, 1538 'if_tags': {'key': 'ifTags', 'type': 'str'}, 1539 } 1540 1541 def __init__( 1542 self, 1543 **kwargs 1544 ): 1545 super(ModifiedAccessConditions, self).__init__(**kwargs) 1546 self.if_modified_since = kwargs.get('if_modified_since', None) 1547 self.if_unmodified_since = kwargs.get('if_unmodified_since', None) 1548 self.if_match = kwargs.get('if_match', None) 1549 self.if_none_match = kwargs.get('if_none_match', None) 1550 self.if_tags = kwargs.get('if_tags', None) 1551 1552 1553class PageList(msrest.serialization.Model): 1554 """the list of pages. 1555 1556 :param page_range: 1557 :type page_range: list[~azure.storage.blob.models.PageRange] 1558 :param clear_range: 1559 :type clear_range: list[~azure.storage.blob.models.ClearRange] 1560 """ 1561 1562 _attribute_map = { 1563 'page_range': {'key': 'PageRange', 'type': '[PageRange]'}, 1564 'clear_range': {'key': 'ClearRange', 'type': '[ClearRange]'}, 1565 } 1566 1567 def __init__( 1568 self, 1569 **kwargs 1570 ): 1571 super(PageList, self).__init__(**kwargs) 1572 self.page_range = kwargs.get('page_range', None) 1573 self.clear_range = kwargs.get('clear_range', None) 1574 1575 1576class PageRange(msrest.serialization.Model): 1577 """PageRange. 1578 1579 All required parameters must be populated in order to send to Azure. 1580 1581 :param start: Required. 1582 :type start: long 1583 :param end: Required. 1584 :type end: long 1585 """ 1586 1587 _validation = { 1588 'start': {'required': True}, 1589 'end': {'required': True}, 1590 } 1591 1592 _attribute_map = { 1593 'start': {'key': 'Start', 'type': 'long', 'xml': {'name': 'Start'}}, 1594 'end': {'key': 'End', 'type': 'long', 'xml': {'name': 'End'}}, 1595 } 1596 _xml_map = { 1597 'name': 'PageRange' 1598 } 1599 1600 def __init__( 1601 self, 1602 **kwargs 1603 ): 1604 super(PageRange, self).__init__(**kwargs) 1605 self.start = kwargs['start'] 1606 self.end = kwargs['end'] 1607 1608 1609class QueryFormat(msrest.serialization.Model): 1610 """QueryFormat. 1611 1612 :param type: The quick query format type. Possible values include: "delimited", "json", 1613 "arrow". 1614 :type type: str or ~azure.storage.blob.models.QueryFormatType 1615 :param delimited_text_configuration: delimited text configuration. 1616 :type delimited_text_configuration: ~azure.storage.blob.models.DelimitedTextConfiguration 1617 :param json_text_configuration: json text configuration. 1618 :type json_text_configuration: ~azure.storage.blob.models.JsonTextConfiguration 1619 :param arrow_configuration: arrow configuration. 1620 :type arrow_configuration: ~azure.storage.blob.models.ArrowConfiguration 1621 """ 1622 1623 _attribute_map = { 1624 'type': {'key': 'Type', 'type': 'str', 'xml': {'name': 'Type'}}, 1625 'delimited_text_configuration': {'key': 'DelimitedTextConfiguration', 'type': 'DelimitedTextConfiguration'}, 1626 'json_text_configuration': {'key': 'JsonTextConfiguration', 'type': 'JsonTextConfiguration'}, 1627 'arrow_configuration': {'key': 'ArrowConfiguration', 'type': 'ArrowConfiguration'}, 1628 } 1629 1630 def __init__( 1631 self, 1632 **kwargs 1633 ): 1634 super(QueryFormat, self).__init__(**kwargs) 1635 self.type = kwargs.get('type', None) 1636 self.delimited_text_configuration = kwargs.get('delimited_text_configuration', None) 1637 self.json_text_configuration = kwargs.get('json_text_configuration', None) 1638 self.arrow_configuration = kwargs.get('arrow_configuration', None) 1639 1640 1641class QueryRequest(msrest.serialization.Model): 1642 """the quick query body. 1643 1644 Variables are only populated by the server, and will be ignored when sending a request. 1645 1646 All required parameters must be populated in order to send to Azure. 1647 1648 :ivar query_type: Required. the query type. Default value: "SQL". 1649 :vartype query_type: str 1650 :param expression: Required. a query statement. 1651 :type expression: str 1652 :param input_serialization: 1653 :type input_serialization: ~azure.storage.blob.models.QuerySerialization 1654 :param output_serialization: 1655 :type output_serialization: ~azure.storage.blob.models.QuerySerialization 1656 """ 1657 1658 _validation = { 1659 'query_type': {'required': True, 'constant': True}, 1660 'expression': {'required': True}, 1661 } 1662 1663 _attribute_map = { 1664 'query_type': {'key': 'QueryType', 'type': 'str', 'xml': {'name': 'QueryType'}}, 1665 'expression': {'key': 'Expression', 'type': 'str', 'xml': {'name': 'Expression'}}, 1666 'input_serialization': {'key': 'InputSerialization', 'type': 'QuerySerialization'}, 1667 'output_serialization': {'key': 'OutputSerialization', 'type': 'QuerySerialization'}, 1668 } 1669 _xml_map = { 1670 'name': 'QueryRequest' 1671 } 1672 1673 query_type = "SQL" 1674 1675 def __init__( 1676 self, 1677 **kwargs 1678 ): 1679 super(QueryRequest, self).__init__(**kwargs) 1680 self.expression = kwargs['expression'] 1681 self.input_serialization = kwargs.get('input_serialization', None) 1682 self.output_serialization = kwargs.get('output_serialization', None) 1683 1684 1685class QuerySerialization(msrest.serialization.Model): 1686 """QuerySerialization. 1687 1688 All required parameters must be populated in order to send to Azure. 1689 1690 :param format: Required. 1691 :type format: ~azure.storage.blob.models.QueryFormat 1692 """ 1693 1694 _validation = { 1695 'format': {'required': True}, 1696 } 1697 1698 _attribute_map = { 1699 'format': {'key': 'Format', 'type': 'QueryFormat'}, 1700 } 1701 1702 def __init__( 1703 self, 1704 **kwargs 1705 ): 1706 super(QuerySerialization, self).__init__(**kwargs) 1707 self.format = kwargs['format'] 1708 1709 1710class RetentionPolicy(msrest.serialization.Model): 1711 """the retention policy which determines how long the associated data should persist. 1712 1713 All required parameters must be populated in order to send to Azure. 1714 1715 :param enabled: Required. Indicates whether a retention policy is enabled for the storage 1716 service. 1717 :type enabled: bool 1718 :param days: Indicates the number of days that metrics or logging or soft-deleted data should 1719 be retained. All data older than this value will be deleted. 1720 :type days: int 1721 :param allow_permanent_delete: Indicates whether permanent delete is allowed on this storage 1722 account. 1723 :type allow_permanent_delete: bool 1724 """ 1725 1726 _validation = { 1727 'enabled': {'required': True}, 1728 'days': {'minimum': 1}, 1729 } 1730 1731 _attribute_map = { 1732 'enabled': {'key': 'Enabled', 'type': 'bool'}, 1733 'days': {'key': 'Days', 'type': 'int'}, 1734 'allow_permanent_delete': {'key': 'AllowPermanentDelete', 'type': 'bool'}, 1735 } 1736 1737 def __init__( 1738 self, 1739 **kwargs 1740 ): 1741 super(RetentionPolicy, self).__init__(**kwargs) 1742 self.enabled = kwargs['enabled'] 1743 self.days = kwargs.get('days', None) 1744 self.allow_permanent_delete = kwargs.get('allow_permanent_delete', None) 1745 1746 1747class SequenceNumberAccessConditions(msrest.serialization.Model): 1748 """Parameter group. 1749 1750 :param if_sequence_number_less_than_or_equal_to: Specify this header value to operate only on a 1751 blob if it has a sequence number less than or equal to the specified. 1752 :type if_sequence_number_less_than_or_equal_to: long 1753 :param if_sequence_number_less_than: Specify this header value to operate only on a blob if it 1754 has a sequence number less than the specified. 1755 :type if_sequence_number_less_than: long 1756 :param if_sequence_number_equal_to: Specify this header value to operate only on a blob if it 1757 has the specified sequence number. 1758 :type if_sequence_number_equal_to: long 1759 """ 1760 1761 _attribute_map = { 1762 'if_sequence_number_less_than_or_equal_to': {'key': 'ifSequenceNumberLessThanOrEqualTo', 'type': 'long'}, 1763 'if_sequence_number_less_than': {'key': 'ifSequenceNumberLessThan', 'type': 'long'}, 1764 'if_sequence_number_equal_to': {'key': 'ifSequenceNumberEqualTo', 'type': 'long'}, 1765 } 1766 1767 def __init__( 1768 self, 1769 **kwargs 1770 ): 1771 super(SequenceNumberAccessConditions, self).__init__(**kwargs) 1772 self.if_sequence_number_less_than_or_equal_to = kwargs.get('if_sequence_number_less_than_or_equal_to', None) 1773 self.if_sequence_number_less_than = kwargs.get('if_sequence_number_less_than', None) 1774 self.if_sequence_number_equal_to = kwargs.get('if_sequence_number_equal_to', None) 1775 1776 1777class SignedIdentifier(msrest.serialization.Model): 1778 """signed identifier. 1779 1780 All required parameters must be populated in order to send to Azure. 1781 1782 :param id: Required. a unique id. 1783 :type id: str 1784 :param access_policy: An Access policy. 1785 :type access_policy: ~azure.storage.blob.models.AccessPolicy 1786 """ 1787 1788 _validation = { 1789 'id': {'required': True}, 1790 } 1791 1792 _attribute_map = { 1793 'id': {'key': 'Id', 'type': 'str'}, 1794 'access_policy': {'key': 'AccessPolicy', 'type': 'AccessPolicy'}, 1795 } 1796 _xml_map = { 1797 'name': 'SignedIdentifier' 1798 } 1799 1800 def __init__( 1801 self, 1802 **kwargs 1803 ): 1804 super(SignedIdentifier, self).__init__(**kwargs) 1805 self.id = kwargs['id'] 1806 self.access_policy = kwargs.get('access_policy', None) 1807 1808 1809class SourceModifiedAccessConditions(msrest.serialization.Model): 1810 """Parameter group. 1811 1812 :param source_if_modified_since: Specify this header value to operate only on a blob if it has 1813 been modified since the specified date/time. 1814 :type source_if_modified_since: ~datetime.datetime 1815 :param source_if_unmodified_since: Specify this header value to operate only on a blob if it 1816 has not been modified since the specified date/time. 1817 :type source_if_unmodified_since: ~datetime.datetime 1818 :param source_if_match: Specify an ETag value to operate only on blobs with a matching value. 1819 :type source_if_match: str 1820 :param source_if_none_match: Specify an ETag value to operate only on blobs without a matching 1821 value. 1822 :type source_if_none_match: str 1823 :param source_if_tags: Specify a SQL where clause on blob tags to operate only on blobs with a 1824 matching value. 1825 :type source_if_tags: str 1826 """ 1827 1828 _attribute_map = { 1829 'source_if_modified_since': {'key': 'sourceIfModifiedSince', 'type': 'rfc-1123'}, 1830 'source_if_unmodified_since': {'key': 'sourceIfUnmodifiedSince', 'type': 'rfc-1123'}, 1831 'source_if_match': {'key': 'sourceIfMatch', 'type': 'str'}, 1832 'source_if_none_match': {'key': 'sourceIfNoneMatch', 'type': 'str'}, 1833 'source_if_tags': {'key': 'sourceIfTags', 'type': 'str'}, 1834 } 1835 1836 def __init__( 1837 self, 1838 **kwargs 1839 ): 1840 super(SourceModifiedAccessConditions, self).__init__(**kwargs) 1841 self.source_if_modified_since = kwargs.get('source_if_modified_since', None) 1842 self.source_if_unmodified_since = kwargs.get('source_if_unmodified_since', None) 1843 self.source_if_match = kwargs.get('source_if_match', None) 1844 self.source_if_none_match = kwargs.get('source_if_none_match', None) 1845 self.source_if_tags = kwargs.get('source_if_tags', None) 1846 1847 1848class StaticWebsite(msrest.serialization.Model): 1849 """The properties that enable an account to host a static website. 1850 1851 All required parameters must be populated in order to send to Azure. 1852 1853 :param enabled: Required. Indicates whether this account is hosting a static website. 1854 :type enabled: bool 1855 :param index_document: The default name of the index page under each directory. 1856 :type index_document: str 1857 :param error_document404_path: The absolute path of the custom 404 page. 1858 :type error_document404_path: str 1859 :param default_index_document_path: Absolute path of the default index page. 1860 :type default_index_document_path: str 1861 """ 1862 1863 _validation = { 1864 'enabled': {'required': True}, 1865 } 1866 1867 _attribute_map = { 1868 'enabled': {'key': 'Enabled', 'type': 'bool'}, 1869 'index_document': {'key': 'IndexDocument', 'type': 'str'}, 1870 'error_document404_path': {'key': 'ErrorDocument404Path', 'type': 'str'}, 1871 'default_index_document_path': {'key': 'DefaultIndexDocumentPath', 'type': 'str'}, 1872 } 1873 1874 def __init__( 1875 self, 1876 **kwargs 1877 ): 1878 super(StaticWebsite, self).__init__(**kwargs) 1879 self.enabled = kwargs['enabled'] 1880 self.index_document = kwargs.get('index_document', None) 1881 self.error_document404_path = kwargs.get('error_document404_path', None) 1882 self.default_index_document_path = kwargs.get('default_index_document_path', None) 1883 1884 1885class StorageError(msrest.serialization.Model): 1886 """StorageError. 1887 1888 :param message: 1889 :type message: str 1890 """ 1891 1892 _attribute_map = { 1893 'message': {'key': 'Message', 'type': 'str'}, 1894 } 1895 1896 def __init__( 1897 self, 1898 **kwargs 1899 ): 1900 super(StorageError, self).__init__(**kwargs) 1901 self.message = kwargs.get('message', None) 1902 1903 1904class StorageServiceProperties(msrest.serialization.Model): 1905 """Storage Service Properties. 1906 1907 :param logging: Azure Analytics Logging settings. 1908 :type logging: ~azure.storage.blob.models.Logging 1909 :param hour_metrics: a summary of request statistics grouped by API in hour or minute 1910 aggregates for blobs. 1911 :type hour_metrics: ~azure.storage.blob.models.Metrics 1912 :param minute_metrics: a summary of request statistics grouped by API in hour or minute 1913 aggregates for blobs. 1914 :type minute_metrics: ~azure.storage.blob.models.Metrics 1915 :param cors: The set of CORS rules. 1916 :type cors: list[~azure.storage.blob.models.CorsRule] 1917 :param default_service_version: The default version to use for requests to the Blob service if 1918 an incoming request's version is not specified. Possible values include version 2008-10-27 and 1919 all more recent versions. 1920 :type default_service_version: str 1921 :param delete_retention_policy: the retention policy which determines how long the associated 1922 data should persist. 1923 :type delete_retention_policy: ~azure.storage.blob.models.RetentionPolicy 1924 :param static_website: The properties that enable an account to host a static website. 1925 :type static_website: ~azure.storage.blob.models.StaticWebsite 1926 """ 1927 1928 _attribute_map = { 1929 'logging': {'key': 'Logging', 'type': 'Logging'}, 1930 'hour_metrics': {'key': 'HourMetrics', 'type': 'Metrics'}, 1931 'minute_metrics': {'key': 'MinuteMetrics', 'type': 'Metrics'}, 1932 'cors': {'key': 'Cors', 'type': '[CorsRule]', 'xml': {'wrapped': True}}, 1933 'default_service_version': {'key': 'DefaultServiceVersion', 'type': 'str'}, 1934 'delete_retention_policy': {'key': 'DeleteRetentionPolicy', 'type': 'RetentionPolicy'}, 1935 'static_website': {'key': 'StaticWebsite', 'type': 'StaticWebsite'}, 1936 } 1937 1938 def __init__( 1939 self, 1940 **kwargs 1941 ): 1942 super(StorageServiceProperties, self).__init__(**kwargs) 1943 self.logging = kwargs.get('logging', None) 1944 self.hour_metrics = kwargs.get('hour_metrics', None) 1945 self.minute_metrics = kwargs.get('minute_metrics', None) 1946 self.cors = kwargs.get('cors', None) 1947 self.default_service_version = kwargs.get('default_service_version', None) 1948 self.delete_retention_policy = kwargs.get('delete_retention_policy', None) 1949 self.static_website = kwargs.get('static_website', None) 1950 1951 1952class StorageServiceStats(msrest.serialization.Model): 1953 """Stats for the storage service. 1954 1955 :param geo_replication: Geo-Replication information for the Secondary Storage Service. 1956 :type geo_replication: ~azure.storage.blob.models.GeoReplication 1957 """ 1958 1959 _attribute_map = { 1960 'geo_replication': {'key': 'GeoReplication', 'type': 'GeoReplication'}, 1961 } 1962 1963 def __init__( 1964 self, 1965 **kwargs 1966 ): 1967 super(StorageServiceStats, self).__init__(**kwargs) 1968 self.geo_replication = kwargs.get('geo_replication', None) 1969 1970 1971class UserDelegationKey(msrest.serialization.Model): 1972 """A user delegation key. 1973 1974 All required parameters must be populated in order to send to Azure. 1975 1976 :param signed_oid: Required. The Azure Active Directory object ID in GUID format. 1977 :type signed_oid: str 1978 :param signed_tid: Required. The Azure Active Directory tenant ID in GUID format. 1979 :type signed_tid: str 1980 :param signed_start: Required. The date-time the key is active. 1981 :type signed_start: ~datetime.datetime 1982 :param signed_expiry: Required. The date-time the key expires. 1983 :type signed_expiry: ~datetime.datetime 1984 :param signed_service: Required. Abbreviation of the Azure Storage service that accepts the 1985 key. 1986 :type signed_service: str 1987 :param signed_version: Required. The service version that created the key. 1988 :type signed_version: str 1989 :param value: Required. The key as a base64 string. 1990 :type value: str 1991 """ 1992 1993 _validation = { 1994 'signed_oid': {'required': True}, 1995 'signed_tid': {'required': True}, 1996 'signed_start': {'required': True}, 1997 'signed_expiry': {'required': True}, 1998 'signed_service': {'required': True}, 1999 'signed_version': {'required': True}, 2000 'value': {'required': True}, 2001 } 2002 2003 _attribute_map = { 2004 'signed_oid': {'key': 'SignedOid', 'type': 'str'}, 2005 'signed_tid': {'key': 'SignedTid', 'type': 'str'}, 2006 'signed_start': {'key': 'SignedStart', 'type': 'iso-8601'}, 2007 'signed_expiry': {'key': 'SignedExpiry', 'type': 'iso-8601'}, 2008 'signed_service': {'key': 'SignedService', 'type': 'str'}, 2009 'signed_version': {'key': 'SignedVersion', 'type': 'str'}, 2010 'value': {'key': 'Value', 'type': 'str'}, 2011 } 2012 2013 def __init__( 2014 self, 2015 **kwargs 2016 ): 2017 super(UserDelegationKey, self).__init__(**kwargs) 2018 self.signed_oid = kwargs['signed_oid'] 2019 self.signed_tid = kwargs['signed_tid'] 2020 self.signed_start = kwargs['signed_start'] 2021 self.signed_expiry = kwargs['signed_expiry'] 2022 self.signed_service = kwargs['signed_service'] 2023 self.signed_version = kwargs['signed_version'] 2024 self.value = kwargs['value'] 2025