Loading [MathJax]/extensions/tex2jax.js
azure-storage-blobs
All Classes Functions Variables Pages
rest_client.hpp
1
2// Copyright (c) Microsoft Corporation.
3// Licensed under the MIT License.
4//
5// Code generated by Microsoft (R) AutoRest C++ Code Generator.
6// Changes may cause incorrect behavior and will be lost if the code is regenerated.
7#pragma once
8
9#include <azure/core/case_insensitive_containers.hpp>
10#include <azure/core/context.hpp>
11#include <azure/core/datetime.hpp>
12#include <azure/core/etag.hpp>
13#include <azure/core/http/http.hpp>
14#include <azure/core/internal/extendable_enumeration.hpp>
15#include <azure/core/internal/http/pipeline.hpp>
16#include <azure/core/io/body_stream.hpp>
17#include <azure/core/nullable.hpp>
18#include <azure/core/response.hpp>
19#include <azure/core/url.hpp>
20#include <azure/storage/blobs/dll_import_export.hpp>
21#include <azure/storage/common/storage_common.hpp>
22
23#include <cstdint>
24#include <map>
25#include <memory>
26#include <string>
27#include <type_traits>
28#include <vector>
29
30namespace Azure { namespace Storage { namespace Blobs {
31 namespace _detail {
35 constexpr static const char* ApiVersion = "2024-08-04";
36 } // namespace _detail
37 namespace Models {
43 : public Core::_internal::ExtendableEnumeration<EncryptionAlgorithmType> {
44 public:
48 explicit EncryptionAlgorithmType(std::string value) : ExtendableEnumeration(std::move(value))
49 {
50 }
51
53 AZ_STORAGE_BLOBS_DLLEXPORT const static EncryptionAlgorithmType Aes256;
54 };
58 class BlockType final : public Core::_internal::ExtendableEnumeration<BlockType> {
59 public:
61 BlockType() = default;
63 explicit BlockType(std::string value) : ExtendableEnumeration(std::move(value)) {}
64
66 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockType Committed;
68 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockType Uncommitted;
70 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockType Latest;
71 };
75 struct RetentionPolicy final
76 {
80 bool IsEnabled = bool();
85 Nullable<std::int32_t> Days;
86 };
90 struct AnalyticsLogging final
91 {
95 std::string Version;
99 bool Delete = bool();
103 bool Read = bool();
107 bool Write = bool();
112 };
116 struct Metrics final
117 {
121 std::string Version;
125 bool IsEnabled = bool();
129 Nullable<bool> IncludeApis;
134 };
141 struct CorsRule final
142 {
150 std::string AllowedOrigins;
155 std::string AllowedMethods;
159 std::string AllowedHeaders;
164 std::string ExposedHeaders;
168 std::int32_t MaxAgeInSeconds = std::int32_t();
169 };
173 struct StaticWebsite final
174 {
178 bool IsEnabled = bool();
182 Nullable<std::string> IndexDocument;
186 Nullable<std::string> ErrorDocument404Path;
190 Nullable<std::string> DefaultIndexDocumentPath;
191 };
196 {
197 };
202 {
218 std::vector<CorsRule> Cors;
224 Nullable<std::string> DefaultServiceVersion;
233 };
238 : public Core::_internal::ExtendableEnumeration<GeoReplicationStatus> {
239 public:
243 explicit GeoReplicationStatus(std::string value) : ExtendableEnumeration(std::move(value)) {}
244
246 AZ_STORAGE_BLOBS_DLLEXPORT const static GeoReplicationStatus Live;
248 AZ_STORAGE_BLOBS_DLLEXPORT const static GeoReplicationStatus Bootstrap;
250 AZ_STORAGE_BLOBS_DLLEXPORT const static GeoReplicationStatus Unavailable;
251 };
255 struct GeoReplication final
256 {
266 Nullable<DateTime> LastSyncedOn;
267 };
271 struct ServiceStatistics final
272 {
277 };
281 class LeaseStatus final : public Core::_internal::ExtendableEnumeration<LeaseStatus> {
282 public:
284 LeaseStatus() = default;
286 explicit LeaseStatus(std::string value) : ExtendableEnumeration(std::move(value)) {}
287
289 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseStatus Locked;
291 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseStatus Unlocked;
292 };
296 class LeaseState final : public Core::_internal::ExtendableEnumeration<LeaseState> {
297 public:
299 LeaseState() = default;
301 explicit LeaseState(std::string value) : ExtendableEnumeration(std::move(value)) {}
302
304 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseState Available;
306 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseState Leased;
308 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseState Expired;
310 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseState Breaking;
312 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseState Broken;
313 };
318 : public Core::_internal::ExtendableEnumeration<LeaseDurationType> {
319 public:
321 LeaseDurationType() = default;
323 explicit LeaseDurationType(std::string value) : ExtendableEnumeration(std::move(value)) {}
324
326 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseDurationType Infinite;
328 AZ_STORAGE_BLOBS_DLLEXPORT const static LeaseDurationType Fixed;
329 };
334 class PublicAccessType final : public Core::_internal::ExtendableEnumeration<PublicAccessType> {
335 public:
337 PublicAccessType() = default;
339 explicit PublicAccessType(std::string value) : ExtendableEnumeration(std::move(value)) {}
340
342 AZ_STORAGE_BLOBS_DLLEXPORT const static PublicAccessType BlobContainer;
344 AZ_STORAGE_BLOBS_DLLEXPORT const static PublicAccessType Blob;
346 AZ_STORAGE_BLOBS_DLLEXPORT const static PublicAccessType None;
347 };
352 {
358 DateTime LastModified;
363 Azure::ETag ETag;
375 Nullable<LeaseDurationType> LeaseDuration;
387 bool HasLegalHold = bool();
391 std::string DefaultEncryptionScope = "$account-encryption-key";
400 Nullable<DateTime> DeletedOn;
405 Nullable<std::int32_t> RemainingRetentionDays;
413 Core::CaseInsensitiveMap Metadata;
414 };
418 struct BlobContainerItem final
419 {
423 std::string Name;
427 bool IsDeleted = bool();
431 Nullable<std::string> VersionId;
436 };
441 enum class ListBlobContainersIncludeFlags
442 {
443 None = 0,
444 Metadata = 1,
445 Deleted = 2,
446 System = 4,
447 };
448 inline ListBlobContainersIncludeFlags operator|(
449 ListBlobContainersIncludeFlags lhs,
450 ListBlobContainersIncludeFlags rhs)
451 {
452 using type = std::underlying_type_t<ListBlobContainersIncludeFlags>;
453 return static_cast<ListBlobContainersIncludeFlags>(
454 static_cast<type>(lhs) | static_cast<type>(rhs));
455 }
456 inline ListBlobContainersIncludeFlags& operator|=(
457 ListBlobContainersIncludeFlags& lhs,
458 ListBlobContainersIncludeFlags rhs)
459 {
460 lhs = lhs | rhs;
461 return lhs;
462 }
463 inline ListBlobContainersIncludeFlags operator&(
464 ListBlobContainersIncludeFlags lhs,
465 ListBlobContainersIncludeFlags rhs)
466 {
467 using type = std::underlying_type_t<ListBlobContainersIncludeFlags>;
468 return static_cast<ListBlobContainersIncludeFlags>(
469 static_cast<type>(lhs) & static_cast<type>(rhs));
470 }
471 inline ListBlobContainersIncludeFlags& operator&=(
472 ListBlobContainersIncludeFlags& lhs,
473 ListBlobContainersIncludeFlags rhs)
474 {
475 lhs = lhs & rhs;
476 return lhs;
477 }
478 namespace _detail {
482 struct ListBlobContainersResult final
483 {
484 std::string ServiceEndpoint;
485 std::string Prefix;
486 Nullable<std::string> ContinuationToken;
490 std::vector<BlobContainerItem> Items;
491 };
495 struct KeyInfo final
496 {
500 std::string Start;
504 std::string Expiry;
505 };
506 } // namespace _detail
510 struct UserDelegationKey final
511 {
515 std::string SignedObjectId;
519 std::string SignedTenantId;
531 std::string SignedService;
535 std::string SignedVersion;
539 std::string Value;
540 };
544 class SkuName final : public Core::_internal::ExtendableEnumeration<SkuName> {
545 public:
547 SkuName() = default;
549 explicit SkuName(std::string value) : ExtendableEnumeration(std::move(value)) {}
550
552 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName StandardLrs;
554 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName StandardGrs;
556 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName StandardRagrs;
558 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName StandardZrs;
560 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName PremiumLrs;
562 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName PremiumZrs;
564 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName StandardGzrs;
566 AZ_STORAGE_BLOBS_DLLEXPORT const static SkuName StandardRagzrs;
567 };
571 class AccountKind final : public Core::_internal::ExtendableEnumeration<AccountKind> {
572 public:
574 AccountKind() = default;
576 explicit AccountKind(std::string value) : ExtendableEnumeration(std::move(value)) {}
577
579 AZ_STORAGE_BLOBS_DLLEXPORT const static AccountKind Storage;
581 AZ_STORAGE_BLOBS_DLLEXPORT const static AccountKind BlobStorage;
583 AZ_STORAGE_BLOBS_DLLEXPORT const static AccountKind StorageV2;
585 AZ_STORAGE_BLOBS_DLLEXPORT const static AccountKind FileStorage;
587 AZ_STORAGE_BLOBS_DLLEXPORT const static AccountKind BlockBlobStorage;
588 };
592 struct TaggedBlobItem final
593 {
597 std::string BlobName;
601 std::string BlobContainerName;
605 std::map<std::string, std::string> Tags;
606 };
611 {
615 bool Created = true;
620 Azure::ETag ETag;
626 DateTime LastModified;
627 };
632 {
636 Core::CaseInsensitiveMap Metadata;
641 Azure::ETag ETag;
647 DateTime LastModified;
651 Nullable<LeaseDurationType> LeaseDuration;
671 bool HasLegalHold = bool();
675 std::string DefaultEncryptionScope = "$account-encryption-key";
684 };
689 {
693 bool Deleted = true;
694 };
699 {
704 Azure::ETag ETag;
710 DateTime LastModified;
711 };
715 struct SignedIdentifier final
716 {
720 std::string Id;
724 Nullable<DateTime> StartsOn;
728 Nullable<DateTime> ExpiresOn;
732 std::string Permissions;
733 };
738 {
742 std::vector<SignedIdentifier> SignedIdentifiers;
747 };
752 {
757 Azure::ETag ETag;
763 DateTime LastModified;
764 };
765 namespace _detail {
769 struct UndeleteBlobContainerResult final
770 {
771 };
775 struct RenameBlobContainerResult final
776 {
777 };
781 struct SubmitBatchResult final
782 {
783 std::unique_ptr<Core::IO::BodyStream> BodyStream;
788 std::string ContentType;
789 };
793 struct FindBlobsByTagsResult final
794 {
795 std::string ServiceEndpoint;
799 std::vector<TaggedBlobItem> Items;
800 Nullable<std::string> ContinuationToken;
801 };
805 struct AcquireBlobContainerLeaseResult final
806 {
811 Azure::ETag ETag;
817 DateTime LastModified;
821 std::string LeaseId;
822 };
826 struct ReleaseBlobContainerLeaseResult final
827 {
832 Azure::ETag ETag;
838 DateTime LastModified;
839 };
843 struct RenewBlobContainerLeaseResult final
844 {
849 Azure::ETag ETag;
855 DateTime LastModified;
859 std::string LeaseId;
860 };
864 struct BreakBlobContainerLeaseResult final
865 {
870 Azure::ETag ETag;
876 DateTime LastModified;
880 std::int32_t LeaseTime = std::int32_t();
881 };
885 struct ChangeBlobContainerLeaseResult final
886 {
891 Azure::ETag ETag;
897 DateTime LastModified;
901 std::string LeaseId;
902 };
903 struct BlobName final
904 {
908 bool Encoded = bool();
912 std::string Content;
913 };
914 } // namespace _detail
918 class CopyStatus final : public Core::_internal::ExtendableEnumeration<CopyStatus> {
919 public:
921 CopyStatus() = default;
923 explicit CopyStatus(std::string value) : ExtendableEnumeration(std::move(value)) {}
924
926 AZ_STORAGE_BLOBS_DLLEXPORT const static CopyStatus Pending;
928 AZ_STORAGE_BLOBS_DLLEXPORT const static CopyStatus Success;
930 AZ_STORAGE_BLOBS_DLLEXPORT const static CopyStatus Aborted;
932 AZ_STORAGE_BLOBS_DLLEXPORT const static CopyStatus Failed;
933 };
937 class AccessTier final : public Core::_internal::ExtendableEnumeration<AccessTier> {
938 public:
940 AccessTier() = default;
942 explicit AccessTier(std::string value) : ExtendableEnumeration(std::move(value)) {}
943
945 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P1;
947 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P2;
949 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P3;
951 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P4;
953 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P6;
955 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P10;
957 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P15;
959 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P20;
961 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P30;
963 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P40;
965 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P50;
967 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P60;
969 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P70;
971 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier P80;
973 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier Hot;
975 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier Cool;
977 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier Archive;
979 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier Premium;
981 AZ_STORAGE_BLOBS_DLLEXPORT const static AccessTier Cold;
982 };
989 class ArchiveStatus final : public Core::_internal::ExtendableEnumeration<ArchiveStatus> {
990 public:
992 ArchiveStatus() = default;
994 explicit ArchiveStatus(std::string value) : ExtendableEnumeration(std::move(value)) {}
995
997 AZ_STORAGE_BLOBS_DLLEXPORT const static ArchiveStatus RehydratePendingToHot;
999 AZ_STORAGE_BLOBS_DLLEXPORT const static ArchiveStatus RehydratePendingToCool;
1001 AZ_STORAGE_BLOBS_DLLEXPORT const static ArchiveStatus RehydratePendingToCold;
1002 };
1007 : public Core::_internal::ExtendableEnumeration<RehydratePriority> {
1008 public:
1012 explicit RehydratePriority(std::string value) : ExtendableEnumeration(std::move(value)) {}
1013
1015 AZ_STORAGE_BLOBS_DLLEXPORT const static RehydratePriority High;
1017 AZ_STORAGE_BLOBS_DLLEXPORT const static RehydratePriority Standard;
1018 };
1022 struct BlobHttpHeaders final
1023 {
1027 std::string ContentType;
1031 std::string ContentEncoding;
1035 std::string ContentLanguage;
1039 Storage::ContentHash ContentHash;
1048 std::string CacheControl;
1049 };
1054 : public Core::_internal::ExtendableEnumeration<ObjectReplicationStatus> {
1055 public:
1059 explicit ObjectReplicationStatus(std::string value) : ExtendableEnumeration(std::move(value))
1060 {
1061 }
1062
1064 AZ_STORAGE_BLOBS_DLLEXPORT const static ObjectReplicationStatus Complete;
1066 AZ_STORAGE_BLOBS_DLLEXPORT const static ObjectReplicationStatus Failed;
1067 };
1072 {
1076 std::string RuleId;
1081 };
1088 {
1092 std::string PolicyId;
1096 std::vector<ObjectReplicationRule> Rules;
1097 };
1102 : public Core::_internal::ExtendableEnumeration<BlobImmutabilityPolicyMode> {
1103 public:
1107 explicit BlobImmutabilityPolicyMode(std::string value)
1108 : ExtendableEnumeration(std::move(value))
1109 {
1110 }
1111
1113 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobImmutabilityPolicyMode Unlocked;
1115 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobImmutabilityPolicyMode Locked;
1116 };
1121 {
1125 DateTime ExpiresOn;
1130 };
1134 struct BlobItemDetails final
1135 {
1139 DateTime CreatedOn;
1148 Azure::ETag ETag;
1152 Nullable<std::int64_t> SequenceNumber;
1164 Nullable<LeaseDurationType> LeaseDuration;
1169 Nullable<std::string> CopyId;
1173 Nullable<Models::CopyStatus> CopyStatus;
1181 Nullable<std::string> CopySource;
1189 Nullable<std::string> CopyProgress;
1197 Nullable<DateTime> CopyCompletedOn;
1205 Nullable<std::string> CopyStatusDescription;
1212 bool IsServerEncrypted = bool();
1216 Nullable<bool> IsIncrementalCopy;
1226 Nullable<DateTime> DeletedOn;
1231 Nullable<std::int32_t> RemainingRetentionDays;
1236 Nullable<Models::AccessTier> AccessTier;
1240 Nullable<bool> IsAccessTierInferred;
1247 Nullable<Models::ArchiveStatus> ArchiveStatus;
1251 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
1255 Nullable<std::string> EncryptionScope;
1260 Nullable<DateTime> AccessTierChangedOn;
1264 Nullable<DateTime> ExpiresOn;
1268 Nullable<bool> IsSealed;
1273 Nullable<Models::RehydratePriority> RehydratePriority;
1278 Nullable<DateTime> LastAccessedOn;
1282 bool HasLegalHold = false;
1290 Core::CaseInsensitiveMap Metadata;
1294 std::map<std::string, std::string> Tags;
1298 std::vector<ObjectReplicationPolicy> ObjectReplicationSourceProperties;
1302 Nullable<BlobImmutabilityPolicy> ImmutabilityPolicy;
1303 };
1307 class BlobType final : public Core::_internal::ExtendableEnumeration<BlobType> {
1308 public:
1310 BlobType() = default;
1312 explicit BlobType(std::string value) : ExtendableEnumeration(std::move(value)) {}
1313
1315 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobType BlockBlob;
1317 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobType PageBlob;
1319 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobType AppendBlob;
1320 };
1321 namespace _detail {
1325 struct BlobItem final
1326 {
1330 BlobName Name;
1334 bool IsDeleted = bool();
1338 std::string Snapshot;
1342 Nullable<std::string> VersionId;
1346 Nullable<bool> IsCurrentVersion;
1350 BlobItemDetails Details;
1354 Nullable<bool> HasVersionsOnly;
1358 std::int64_t BlobSize = std::int64_t();
1366 Nullable<std::string> DeletionId;
1367 };
1368 } // namespace _detail
1372 enum class ListBlobsIncludeFlags
1373 {
1374 None = 0,
1375 Copy = 1,
1376 Deleted = 2,
1377 Metadata = 4,
1378 Snapshots = 8,
1379 UncomittedBlobs = 16,
1380 Versions = 32,
1381 Tags = 64,
1382 ImmutabilityPolicy = 128,
1383 LegalHold = 256,
1384 DeletedWithVersions = 512,
1385 };
1386 inline ListBlobsIncludeFlags operator|(ListBlobsIncludeFlags lhs, ListBlobsIncludeFlags rhs)
1387 {
1388 using type = std::underlying_type_t<ListBlobsIncludeFlags>;
1389 return static_cast<ListBlobsIncludeFlags>(static_cast<type>(lhs) | static_cast<type>(rhs));
1390 }
1391 inline ListBlobsIncludeFlags& operator|=(ListBlobsIncludeFlags& lhs, ListBlobsIncludeFlags rhs)
1392 {
1393 lhs = lhs | rhs;
1394 return lhs;
1395 }
1396 inline ListBlobsIncludeFlags operator&(ListBlobsIncludeFlags lhs, ListBlobsIncludeFlags rhs)
1397 {
1398 using type = std::underlying_type_t<ListBlobsIncludeFlags>;
1399 return static_cast<ListBlobsIncludeFlags>(static_cast<type>(lhs) & static_cast<type>(rhs));
1400 }
1401 inline ListBlobsIncludeFlags& operator&=(ListBlobsIncludeFlags& lhs, ListBlobsIncludeFlags rhs)
1402 {
1403 lhs = lhs & rhs;
1404 return lhs;
1405 }
1406 namespace _detail {
1410 struct ListBlobsResult final
1411 {
1412 std::string ServiceEndpoint;
1413 std::string BlobContainerName;
1414 std::string Prefix;
1415 Nullable<std::string> ContinuationToken;
1419 std::vector<BlobItem> Items;
1420 };
1424 struct ListBlobsByHierarchyResult final
1425 {
1426 std::string ServiceEndpoint;
1427 std::string BlobContainerName;
1428 std::string Prefix;
1429 std::string Delimiter;
1430 Nullable<std::string> ContinuationToken;
1434 std::vector<BlobItem> Items;
1438 std::vector<BlobName> BlobPrefixes;
1439 };
1440 } // namespace _detail
1445 {
1450 Azure::ETag ETag;
1460 DateTime CreatedOn;
1464 Nullable<DateTime> ExpiresOn;
1469 Nullable<DateTime> LastAccessedOn;
1477 Core::CaseInsensitiveMap Metadata;
1481 Nullable<std::int64_t> SequenceNumber;
1485 Nullable<std::int32_t> CommittedBlockCount;
1489 Nullable<bool> IsSealed;
1493 Nullable<LeaseDurationType> LeaseDuration;
1497 Nullable<Models::LeaseState> LeaseState;
1501 Nullable<Models::LeaseStatus> LeaseStatus;
1507 bool IsServerEncrypted = bool();
1511 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
1515 Nullable<std::string> EncryptionScope;
1523 std::vector<ObjectReplicationPolicy> ObjectReplicationSourceProperties;
1527 Nullable<std::int32_t> TagCount;
1532 Nullable<std::string> CopyId;
1540 Nullable<std::string> CopySource;
1544 Nullable<Models::CopyStatus> CopyStatus;
1552 Nullable<std::string> CopyStatusDescription;
1560 Nullable<std::string> CopyProgress;
1568 Nullable<DateTime> CopyCompletedOn;
1572 Nullable<std::string> VersionId;
1576 Nullable<bool> IsCurrentVersion;
1580 Nullable<BlobImmutabilityPolicy> ImmutabilityPolicy;
1584 bool HasLegalHold = false;
1585 };
1590 {
1598 std::int64_t BlobSize = std::int64_t();
1602 Core::Http::HttpRange ContentRange;
1606 Nullable<ContentHash> TransactionalContentHash;
1610 std::unique_ptr<Core::IO::BodyStream> BodyStream;
1615 };
1619 struct BlobProperties final
1620 {
1624 std::vector<ObjectReplicationPolicy> ObjectReplicationSourceProperties;
1628 Nullable<BlobImmutabilityPolicy> ImmutabilityPolicy;
1642 DateTime CreatedOn;
1646 Core::CaseInsensitiveMap Metadata;
1663 Nullable<DateTime> CopyCompletedOn;
1671 Nullable<std::string> CopyStatusDescription;
1676 Nullable<std::string> CopyId;
1684 Nullable<std::string> CopyProgress;
1692 Nullable<std::string> CopySource;
1696 Nullable<Models::CopyStatus> CopyStatus;
1700 Nullable<bool> IsIncrementalCopy;
1710 Nullable<LeaseDurationType> LeaseDuration;
1714 Nullable<Models::LeaseState> LeaseState;
1718 Nullable<Models::LeaseStatus> LeaseStatus;
1722 std::int64_t BlobSize = std::int64_t();
1727 Azure::ETag ETag;
1732 Nullable<std::int64_t> SequenceNumber;
1737 Nullable<std::int32_t> CommittedBlockCount;
1744 bool IsServerEncrypted = bool();
1749 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
1755 Nullable<std::string> EncryptionScope;
1762 Nullable<Models::AccessTier> AccessTier;
1768 Nullable<bool> IsAccessTierInferred;
1775 Nullable<Models::ArchiveStatus> ArchiveStatus;
1780 Nullable<DateTime> AccessTierChangedOn;
1786 Nullable<std::string> VersionId;
1791 Nullable<bool> IsCurrentVersion;
1795 Nullable<std::int32_t> TagCount;
1799 Nullable<DateTime> ExpiresOn;
1803 Nullable<bool> IsSealed;
1808 Nullable<Models::RehydratePriority> RehydratePriority;
1813 Nullable<DateTime> LastAccessedOn;
1817 bool HasLegalHold = false;
1818 };
1825 : public Core::_internal::ExtendableEnumeration<DeleteSnapshotsOption> {
1826 public:
1830 explicit DeleteSnapshotsOption(std::string value) : ExtendableEnumeration(std::move(value)) {}
1831
1833 AZ_STORAGE_BLOBS_DLLEXPORT const static DeleteSnapshotsOption IncludeSnapshots;
1835 AZ_STORAGE_BLOBS_DLLEXPORT const static DeleteSnapshotsOption OnlySnapshots;
1836 };
1840 struct DeleteBlobResult final
1841 {
1845 bool Deleted = true;
1846 };
1851 {
1852 };
1857 : public Core::_internal::ExtendableEnumeration<ScheduleBlobExpiryOriginType> {
1858 public:
1862 explicit ScheduleBlobExpiryOriginType(std::string value)
1863 : ExtendableEnumeration(std::move(value))
1864 {
1865 }
1866
1868 AZ_STORAGE_BLOBS_DLLEXPORT const static ScheduleBlobExpiryOriginType NeverExpire;
1870 AZ_STORAGE_BLOBS_DLLEXPORT const static ScheduleBlobExpiryOriginType RelativeToCreation;
1872 AZ_STORAGE_BLOBS_DLLEXPORT const static ScheduleBlobExpiryOriginType RelativeToNow;
1874 AZ_STORAGE_BLOBS_DLLEXPORT const static ScheduleBlobExpiryOriginType Absolute;
1875 };
1880 {
1885 Azure::ETag ETag;
1892 };
1897 {
1902 Azure::ETag ETag;
1913 Nullable<std::int64_t> SequenceNumber;
1914 };
1919 {
1924 };
1929 {
1930 };
1935 {
1939 bool HasLegalHold = bool();
1940 };
1945 {
1950 Nullable<std::int64_t> SequenceNumber;
1955 Azure::ETag ETag;
1967 Nullable<std::string> VersionId;
1972 bool IsServerEncrypted = bool();
1977 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
1983 Nullable<std::string> EncryptionScope;
1984 };
1985 namespace _detail {
1989 struct AcquireBlobLeaseResult final
1990 {
1995 Azure::ETag ETag;
2001 DateTime LastModified;
2005 std::string LeaseId;
2006 };
2010 struct ReleaseBlobLeaseResult final
2011 {
2016 Azure::ETag ETag;
2022 DateTime LastModified;
2023 };
2027 struct RenewBlobLeaseResult final
2028 {
2033 Azure::ETag ETag;
2039 DateTime LastModified;
2043 std::string LeaseId;
2044 };
2048 struct ChangeBlobLeaseResult final
2049 {
2054 Azure::ETag ETag;
2060 DateTime LastModified;
2064 std::string LeaseId;
2065 };
2069 struct BreakBlobLeaseResult final
2070 {
2075 Azure::ETag ETag;
2081 DateTime LastModified;
2085 std::int32_t LeaseTime = std::int32_t();
2086 };
2087 } // namespace _detail
2092 {
2097 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2102 Nullable<std::string> EncryptionScope;
2107 std::string Snapshot;
2112 Azure::ETag ETag;
2124 Nullable<std::string> VersionId;
2130 bool IsServerEncrypted = bool();
2131 };
2132 namespace _detail {
2136 struct StartBlobCopyFromUriResult final
2137 {
2142 Azure::ETag ETag;
2148 DateTime LastModified;
2154 Nullable<std::string> VersionId;
2159 std::string CopyId;
2164 };
2165 } // namespace _detail
2171 : public Core::_internal::ExtendableEnumeration<BlobCopySourceTagsMode> {
2172 public:
2176 explicit BlobCopySourceTagsMode(std::string value) : ExtendableEnumeration(std::move(value))
2177 {
2178 }
2179
2181 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobCopySourceTagsMode Replace;
2183 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobCopySourceTagsMode Copy;
2184 };
2189 {
2194 Azure::ETag ETag;
2206 Nullable<std::string> VersionId;
2210 std::string CopyId;
2219 Nullable<ContentHash> TransactionalContentHash;
2225 Nullable<std::string> EncryptionScope;
2226 };
2231 {
2232 };
2237 {
2238 };
2242 struct AccountInfo final
2243 {
2257 };
2258 namespace _detail {
2262 class QueryRequestQueryType final
2263 : public Core::_internal::ExtendableEnumeration<QueryRequestQueryType> {
2264 public:
2266 QueryRequestQueryType() = default;
2268 explicit QueryRequestQueryType(std::string value) : ExtendableEnumeration(std::move(value))
2269 {
2270 }
2271
2273 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryRequestQueryType SQL;
2274 };
2278 class QueryFormatType final : public Core::_internal::ExtendableEnumeration<QueryFormatType> {
2279 public:
2281 QueryFormatType() = default;
2283 explicit QueryFormatType(std::string value) : ExtendableEnumeration(std::move(value)) {}
2284
2286 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Delimited;
2288 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Json;
2290 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Arrow;
2292 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Parquet;
2293 };
2298 struct DelimitedTextConfiguration final
2299 {
2303 std::string ColumnSeparator;
2307 std::string FieldQuote;
2311 std::string RecordSeparator;
2315 std::string EscapeChar;
2319 bool HeadersPresent = bool();
2320 };
2324 struct JsonTextConfiguration final
2325 {
2329 std::string RecordSeparator;
2330 };
2331 } // namespace _detail
2336 : public Core::_internal::ExtendableEnumeration<BlobQueryArrowFieldType> {
2337 public:
2341 explicit BlobQueryArrowFieldType(std::string value) : ExtendableEnumeration(std::move(value))
2342 {
2343 }
2344
2346 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Int64;
2348 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Bool;
2350 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Timestamp;
2352 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType String;
2354 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Double;
2356 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Decimal;
2357 };
2362 {
2370 Nullable<std::string> Name;
2374 Nullable<std::int32_t> Precision;
2378 Nullable<std::int32_t> Scale;
2379 };
2380 namespace _detail {
2385 struct ArrowConfiguration final
2386 {
2390 std::vector<BlobQueryArrowField> Schema;
2391 };
2395 struct ParquetConfiguration final
2396 {
2397 };
2398 struct QueryFormat final
2399 {
2403 QueryFormatType Type;
2408 Nullable<_detail::DelimitedTextConfiguration> DelimitedTextConfiguration;
2412 Nullable<_detail::JsonTextConfiguration> JsonTextConfiguration;
2417 Nullable<_detail::ArrowConfiguration> ArrowConfiguration;
2421 Nullable<ParquetConfiguration> ParquetTextConfiguration;
2422 };
2423 struct QuerySerialization final
2424 {
2425 QueryFormat Format;
2426 };
2430 struct QueryRequest final
2431 {
2435 QueryRequestQueryType QueryType;
2439 std::string Expression;
2440 Nullable<QuerySerialization> InputSerialization;
2441 Nullable<QuerySerialization> OutputSerialization;
2442 };
2443 } // namespace _detail
2447 struct QueryBlobResult final
2448 {
2452 std::unique_ptr<Core::IO::BodyStream> BodyStream;
2463 Azure::ETag ETag;
2467 Nullable<LeaseDurationType> LeaseDuration;
2482 bool IsServerEncrypted = bool();
2483 };
2488 {
2489 };
2494 {
2498 bool Created = true;
2503 Nullable<std::int64_t> SequenceNumber;
2508 Azure::ETag ETag;
2520 Nullable<std::string> VersionId;
2525 bool IsServerEncrypted = bool();
2530 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2536 Nullable<std::string> EncryptionScope;
2537 };
2542 {
2547 Azure::ETag ETag;
2558 Nullable<ContentHash> TransactionalContentHash;
2562 std::int64_t SequenceNumber = int64_t();
2567 bool IsServerEncrypted = bool();
2572 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2578 Nullable<std::string> EncryptionScope;
2579 };
2583 struct ClearPagesResult final
2584 {
2589 Azure::ETag ETag;
2599 std::int64_t SequenceNumber = int64_t();
2600 };
2605 {
2610 Azure::ETag ETag;
2621 Nullable<ContentHash> TransactionalContentHash;
2625 std::int64_t SequenceNumber = int64_t();
2630 bool IsServerEncrypted = bool();
2635 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2641 Nullable<std::string> EncryptionScope;
2642 };
2643 namespace _detail {
2647 struct GetPageRangesResult final
2648 {
2649 Azure::ETag ETag;
2650 DateTime LastModified;
2654 std::int64_t BlobSize = std::int64_t();
2658 std::vector<Core::Http::HttpRange> PageRanges;
2662 std::vector<Core::Http::HttpRange> ClearRanges;
2663 std::string ContinuationToken;
2664 };
2668 struct GetPageRangesDiffResult final
2669 {
2670 Azure::ETag ETag;
2671 DateTime LastModified;
2675 std::int64_t BlobSize = std::int64_t();
2679 std::vector<Core::Http::HttpRange> PageRanges;
2683 std::vector<Core::Http::HttpRange> ClearRanges;
2684 std::string ContinuationToken;
2685 };
2686 } // namespace _detail
2691 {
2696 Azure::ETag ETag;
2707 std::int64_t SequenceNumber = std::int64_t();
2708 };
2715 : public Core::_internal::ExtendableEnumeration<SequenceNumberAction> {
2716 public:
2720 explicit SequenceNumberAction(std::string value) : ExtendableEnumeration(std::move(value)) {}
2721
2723 AZ_STORAGE_BLOBS_DLLEXPORT const static SequenceNumberAction Max;
2725 AZ_STORAGE_BLOBS_DLLEXPORT const static SequenceNumberAction Update;
2727 AZ_STORAGE_BLOBS_DLLEXPORT const static SequenceNumberAction Increment;
2728 };
2733 {
2738 Azure::ETag ETag;
2749 std::int64_t SequenceNumber = std::int64_t();
2750 };
2751 namespace _detail {
2755 struct StartBlobCopyIncrementalResult final
2756 {
2761 Azure::ETag ETag;
2767 DateTime LastModified;
2772 std::string CopyId;
2782 Nullable<std::string> VersionId;
2783 };
2784 } // namespace _detail
2789 {
2793 bool Created = true;
2798 Azure::ETag ETag;
2810 Nullable<std::string> VersionId;
2815 bool IsServerEncrypted = bool();
2820 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2826 Nullable<std::string> EncryptionScope;
2827 };
2832 {
2837 Azure::ETag ETag;
2848 Nullable<ContentHash> TransactionalContentHash;
2853 std::int64_t AppendOffset = std::int64_t();
2858 std::int32_t CommittedBlockCount = std::int32_t();
2863 bool IsServerEncrypted = bool();
2868 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2874 Nullable<std::string> EncryptionScope;
2875 };
2880 {
2885 Azure::ETag ETag;
2896 Nullable<ContentHash> TransactionalContentHash;
2901 std::int64_t AppendOffset = std::int64_t();
2906 std::int32_t CommittedBlockCount = std::int32_t();
2911 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2917 Nullable<std::string> EncryptionScope;
2922 bool IsServerEncrypted = bool();
2923 };
2928 {
2933 Azure::ETag ETag;
2943 bool IsSealed = bool();
2944 };
2949 {
2954 Azure::ETag ETag;
2965 Nullable<ContentHash> TransactionalContentHash;
2971 Nullable<std::string> VersionId;
2976 bool IsServerEncrypted = bool();
2981 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2987 Nullable<std::string> EncryptionScope;
2988 };
2993 {
2998 Azure::ETag ETag;
3009 Nullable<ContentHash> TransactionalContentHash;
3015 Nullable<std::string> VersionId;
3020 bool IsServerEncrypted = bool();
3025 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3031 Nullable<std::string> EncryptionScope;
3032 };
3036 struct StageBlockResult final
3037 {
3043 Nullable<ContentHash> TransactionalContentHash;
3048 bool IsServerEncrypted = bool();
3053 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3059 Nullable<std::string> EncryptionScope;
3060 };
3065 {
3071 Nullable<ContentHash> TransactionalContentHash;
3076 bool IsServerEncrypted = bool();
3081 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3087 Nullable<std::string> EncryptionScope;
3088 };
3089 namespace _detail {
3090 struct BlockLookupList final
3091 {
3095 std::vector<std::string> Committed;
3099 std::vector<std::string> Uncommitted;
3103 std::vector<std::string> Latest;
3104 };
3105 } // namespace _detail
3110 {
3115 Azure::ETag ETag;
3127 Nullable<ContentHash> TransactionalContentHash;
3133 Nullable<std::string> VersionId;
3138 bool IsServerEncrypted = bool();
3143 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3149 Nullable<std::string> EncryptionScope;
3150 };
3154 struct BlobBlock final
3155 {
3159 std::string Name;
3163 std::int64_t Size = std::int64_t();
3164 };
3169 class BlockListType final : public Core::_internal::ExtendableEnumeration<BlockListType> {
3170 public:
3172 BlockListType() = default;
3174 explicit BlockListType(std::string value) : ExtendableEnumeration(std::move(value)) {}
3175
3177 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockListType Committed;
3179 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockListType Uncommitted;
3181 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockListType All;
3182 };
3187 {
3192 Azure::ETag ETag;
3202 std::int64_t BlobSize = 0;
3206 std::vector<BlobBlock> CommittedBlocks;
3210 std::vector<BlobBlock> UncommittedBlocks;
3211 };
3212 } // namespace Models
3213 namespace _detail {
3214 class ServiceClient final {
3215 public:
3216 struct SetServicePropertiesOptions final
3217 {
3218 Models::BlobServiceProperties BlobServiceProperties;
3219 };
3220 static Response<Models::SetServicePropertiesResult> SetProperties(
3221 Core::Http::_internal::HttpPipeline& pipeline,
3222 const Core::Url& url,
3223 const SetServicePropertiesOptions& options,
3224 const Core::Context& context);
3225 struct GetServicePropertiesOptions final
3226 {
3227 };
3228 static Response<Models::BlobServiceProperties> GetProperties(
3229 Core::Http::_internal::HttpPipeline& pipeline,
3230 const Core::Url& url,
3231 const GetServicePropertiesOptions& options,
3232 const Core::Context& context);
3233 struct GetServiceStatisticsOptions final
3234 {
3235 };
3236 static Response<Models::ServiceStatistics> GetStatistics(
3237 Core::Http::_internal::HttpPipeline& pipeline,
3238 const Core::Url& url,
3239 const GetServiceStatisticsOptions& options,
3240 const Core::Context& context);
3241 struct ListServiceBlobContainersOptions final
3242 {
3243 Nullable<std::string> Prefix;
3244 Nullable<std::string> Marker;
3245 Nullable<std::int32_t> MaxResults;
3246 Nullable<Models::ListBlobContainersIncludeFlags> Include;
3247 };
3248 static Response<Models::_detail::ListBlobContainersResult> ListBlobContainers(
3249 Core::Http::_internal::HttpPipeline& pipeline,
3250 const Core::Url& url,
3251 const ListServiceBlobContainersOptions& options,
3252 const Core::Context& context);
3253 struct GetServiceUserDelegationKeyOptions final
3254 {
3255 Models::_detail::KeyInfo KeyInfo;
3256 };
3257 static Response<Models::UserDelegationKey> GetUserDelegationKey(
3258 Core::Http::_internal::HttpPipeline& pipeline,
3259 const Core::Url& url,
3260 const GetServiceUserDelegationKeyOptions& options,
3261 const Core::Context& context);
3262 struct GetServiceAccountInfoOptions final
3263 {
3264 };
3265 static Response<Models::AccountInfo> GetAccountInfo(
3266 Core::Http::_internal::HttpPipeline& pipeline,
3267 const Core::Url& url,
3268 const GetServiceAccountInfoOptions& options,
3269 const Core::Context& context);
3270 struct SubmitServiceBatchOptions final
3271 {
3272 std::string MultipartContentType;
3273 };
3274 static Response<Models::_detail::SubmitBatchResult> SubmitBatch(
3275 Core::Http::_internal::HttpPipeline& pipeline,
3276 const Core::Url& url,
3277 Core::IO::BodyStream& requestBody,
3278 const SubmitServiceBatchOptions& options,
3279 const Core::Context& context);
3280 struct FindServiceBlobsByTagsOptions final
3281 {
3282 Nullable<std::string> Where;
3283 Nullable<std::string> Marker;
3284 Nullable<std::int32_t> MaxResults;
3285 };
3286 static Response<Models::_detail::FindBlobsByTagsResult> FindBlobsByTags(
3287 Core::Http::_internal::HttpPipeline& pipeline,
3288 const Core::Url& url,
3289 const FindServiceBlobsByTagsOptions& options,
3290 const Core::Context& context);
3291 };
3292 class BlobContainerClient final {
3293 public:
3294 struct CreateBlobContainerOptions final
3295 {
3296 std::map<std::string, std::string> Metadata;
3297 Models::PublicAccessType Access;
3298 Nullable<std::string> DefaultEncryptionScope;
3299 Nullable<bool> PreventEncryptionScopeOverride;
3300 };
3301 static Response<Models::CreateBlobContainerResult> Create(
3302 Core::Http::_internal::HttpPipeline& pipeline,
3303 const Core::Url& url,
3304 const CreateBlobContainerOptions& options,
3305 const Core::Context& context);
3306 struct GetBlobContainerPropertiesOptions final
3307 {
3308 Nullable<std::string> LeaseId;
3309 };
3310 static Response<Models::BlobContainerProperties> GetProperties(
3311 Core::Http::_internal::HttpPipeline& pipeline,
3312 const Core::Url& url,
3313 const GetBlobContainerPropertiesOptions& options,
3314 const Core::Context& context);
3315 struct DeleteBlobContainerOptions final
3316 {
3317 Nullable<std::string> LeaseId;
3318 Nullable<DateTime> IfModifiedSince;
3319 Nullable<DateTime> IfUnmodifiedSince;
3320 };
3321 static Response<Models::DeleteBlobContainerResult> Delete(
3322 Core::Http::_internal::HttpPipeline& pipeline,
3323 const Core::Url& url,
3324 const DeleteBlobContainerOptions& options,
3325 const Core::Context& context);
3326 struct SetBlobContainerMetadataOptions final
3327 {
3328 Nullable<std::string> LeaseId;
3329 std::map<std::string, std::string> Metadata;
3330 Nullable<DateTime> IfModifiedSince;
3331 };
3332 static Response<Models::SetBlobContainerMetadataResult> SetMetadata(
3333 Core::Http::_internal::HttpPipeline& pipeline,
3334 const Core::Url& url,
3335 const SetBlobContainerMetadataOptions& options,
3336 const Core::Context& context);
3337 struct GetBlobContainerAccessPolicyOptions final
3338 {
3339 Nullable<std::string> LeaseId;
3340 };
3341 static Response<Models::BlobContainerAccessPolicy> GetAccessPolicy(
3342 Core::Http::_internal::HttpPipeline& pipeline,
3343 const Core::Url& url,
3344 const GetBlobContainerAccessPolicyOptions& options,
3345 const Core::Context& context);
3346 struct SetBlobContainerAccessPolicyOptions final
3347 {
3348 std::vector<Models::SignedIdentifier> ContainerAcl;
3349 Nullable<std::string> LeaseId;
3350 Models::PublicAccessType Access;
3351 Nullable<DateTime> IfModifiedSince;
3352 Nullable<DateTime> IfUnmodifiedSince;
3353 };
3354 static Response<Models::SetBlobContainerAccessPolicyResult> SetAccessPolicy(
3355 Core::Http::_internal::HttpPipeline& pipeline,
3356 const Core::Url& url,
3357 const SetBlobContainerAccessPolicyOptions& options,
3358 const Core::Context& context);
3359 struct UndeleteBlobContainerOptions final
3360 {
3361 Nullable<std::string> DeletedContainerName;
3362 Nullable<std::string> DeletedContainerVersion;
3363 };
3364 static Response<Models::_detail::UndeleteBlobContainerResult> Undelete(
3365 Core::Http::_internal::HttpPipeline& pipeline,
3366 const Core::Url& url,
3367 const UndeleteBlobContainerOptions& options,
3368 const Core::Context& context);
3369 struct RenameBlobContainerOptions final
3370 {
3371 std::string SourceContainerName;
3372 Nullable<std::string> SourceLeaseId;
3373 };
3374 static Response<Models::_detail::RenameBlobContainerResult> Rename(
3375 Core::Http::_internal::HttpPipeline& pipeline,
3376 const Core::Url& url,
3377 const RenameBlobContainerOptions& options,
3378 const Core::Context& context);
3379 struct SubmitBlobContainerBatchOptions final
3380 {
3381 std::string MultipartContentType;
3382 };
3383 static Response<Models::_detail::SubmitBatchResult> SubmitBatch(
3384 Core::Http::_internal::HttpPipeline& pipeline,
3385 const Core::Url& url,
3386 Core::IO::BodyStream& requestBody,
3387 const SubmitBlobContainerBatchOptions& options,
3388 const Core::Context& context);
3389 struct FindBlobContainerBlobsByTagsOptions final
3390 {
3391 Nullable<std::string> Where;
3392 Nullable<std::string> Marker;
3393 Nullable<std::int32_t> MaxResults;
3394 };
3395 static Response<Models::_detail::FindBlobsByTagsResult> FindBlobsByTags(
3396 Core::Http::_internal::HttpPipeline& pipeline,
3397 const Core::Url& url,
3398 const FindBlobContainerBlobsByTagsOptions& options,
3399 const Core::Context& context);
3400 struct AcquireBlobContainerLeaseOptions final
3401 {
3402 Nullable<std::int32_t> Duration;
3403 Nullable<std::string> ProposedLeaseId;
3404 Nullable<DateTime> IfModifiedSince;
3405 Nullable<DateTime> IfUnmodifiedSince;
3406 };
3407 static Response<Models::_detail::AcquireBlobContainerLeaseResult> AcquireLease(
3408 Core::Http::_internal::HttpPipeline& pipeline,
3409 const Core::Url& url,
3410 const AcquireBlobContainerLeaseOptions& options,
3411 const Core::Context& context);
3412 struct ReleaseBlobContainerLeaseOptions final
3413 {
3414 std::string LeaseId;
3415 Nullable<DateTime> IfModifiedSince;
3416 Nullable<DateTime> IfUnmodifiedSince;
3417 };
3418 static Response<Models::_detail::ReleaseBlobContainerLeaseResult> ReleaseLease(
3419 Core::Http::_internal::HttpPipeline& pipeline,
3420 const Core::Url& url,
3421 const ReleaseBlobContainerLeaseOptions& options,
3422 const Core::Context& context);
3423 struct RenewBlobContainerLeaseOptions final
3424 {
3425 std::string LeaseId;
3426 Nullable<DateTime> IfModifiedSince;
3427 Nullable<DateTime> IfUnmodifiedSince;
3428 };
3429 static Response<Models::_detail::RenewBlobContainerLeaseResult> RenewLease(
3430 Core::Http::_internal::HttpPipeline& pipeline,
3431 const Core::Url& url,
3432 const RenewBlobContainerLeaseOptions& options,
3433 const Core::Context& context);
3434 struct BreakBlobContainerLeaseOptions final
3435 {
3436 Nullable<std::int32_t> BreakPeriod;
3437 Nullable<DateTime> IfModifiedSince;
3438 Nullable<DateTime> IfUnmodifiedSince;
3439 };
3440 static Response<Models::_detail::BreakBlobContainerLeaseResult> BreakLease(
3441 Core::Http::_internal::HttpPipeline& pipeline,
3442 const Core::Url& url,
3443 const BreakBlobContainerLeaseOptions& options,
3444 const Core::Context& context);
3445 struct ChangeBlobContainerLeaseOptions final
3446 {
3447 std::string LeaseId;
3448 std::string ProposedLeaseId;
3449 Nullable<DateTime> IfModifiedSince;
3450 Nullable<DateTime> IfUnmodifiedSince;
3451 };
3452 static Response<Models::_detail::ChangeBlobContainerLeaseResult> ChangeLease(
3453 Core::Http::_internal::HttpPipeline& pipeline,
3454 const Core::Url& url,
3455 const ChangeBlobContainerLeaseOptions& options,
3456 const Core::Context& context);
3457 struct ListBlobContainerBlobsOptions final
3458 {
3459 Nullable<std::string> Prefix;
3460 Nullable<std::string> Marker;
3461 Nullable<std::int32_t> MaxResults;
3462 Nullable<Models::ListBlobsIncludeFlags> Include;
3463 };
3464 static Response<Models::_detail::ListBlobsResult> ListBlobs(
3465 Core::Http::_internal::HttpPipeline& pipeline,
3466 const Core::Url& url,
3467 const ListBlobContainerBlobsOptions& options,
3468 const Core::Context& context);
3469 struct ListBlobContainerBlobsByHierarchyOptions final
3470 {
3471 Nullable<std::string> Prefix;
3472 std::string Delimiter;
3473 Nullable<std::string> Marker;
3474 Nullable<std::int32_t> MaxResults;
3475 Nullable<Models::ListBlobsIncludeFlags> Include;
3476 Nullable<std::string> ShowOnly;
3477 };
3478 static Response<Models::_detail::ListBlobsByHierarchyResult> ListBlobsByHierarchy(
3479 Core::Http::_internal::HttpPipeline& pipeline,
3480 const Core::Url& url,
3481 const ListBlobContainerBlobsByHierarchyOptions& options,
3482 const Core::Context& context);
3483 struct GetBlobContainerAccountInfoOptions final
3484 {
3485 };
3486 static Response<Models::AccountInfo> GetAccountInfo(
3487 Core::Http::_internal::HttpPipeline& pipeline,
3488 const Core::Url& url,
3489 const GetBlobContainerAccountInfoOptions& options,
3490 const Core::Context& context);
3491 };
3492 class BlobClient final {
3493 public:
3494 struct DownloadBlobOptions final
3495 {
3496 Nullable<std::string> Snapshot;
3497 Nullable<std::string> VersionId;
3498 Nullable<std::string> Range;
3499 Nullable<std::string> LeaseId;
3500 Nullable<bool> RangeGetContentMD5;
3501 Nullable<bool> RangeGetContentCRC64;
3502 Nullable<std::string> EncryptionKey;
3503 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3504 Nullable<std::string> EncryptionAlgorithm;
3505 Nullable<DateTime> IfModifiedSince;
3506 Nullable<DateTime> IfUnmodifiedSince;
3507 ETag IfMatch;
3508 ETag IfNoneMatch;
3509 Nullable<std::string> IfTags;
3510 Nullable<bool> UserPrincipalName;
3511 };
3512 static Response<Models::DownloadBlobResult> Download(
3513 Core::Http::_internal::HttpPipeline& pipeline,
3514 const Core::Url& url,
3515 const DownloadBlobOptions& options,
3516 const Core::Context& context);
3517 struct GetBlobPropertiesOptions final
3518 {
3519 Nullable<std::string> Snapshot;
3520 Nullable<std::string> VersionId;
3521 Nullable<std::string> LeaseId;
3522 Nullable<std::string> EncryptionKey;
3523 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3524 Nullable<std::string> EncryptionAlgorithm;
3525 Nullable<DateTime> IfModifiedSince;
3526 Nullable<DateTime> IfUnmodifiedSince;
3527 ETag IfMatch;
3528 ETag IfNoneMatch;
3529 Nullable<std::string> IfTags;
3530 Nullable<bool> UserPrincipalName;
3531 };
3532 static Response<Models::BlobProperties> GetProperties(
3533 Core::Http::_internal::HttpPipeline& pipeline,
3534 const Core::Url& url,
3535 const GetBlobPropertiesOptions& options,
3536 const Core::Context& context);
3537 struct DeleteBlobOptions final
3538 {
3539 Nullable<std::string> Snapshot;
3540 Nullable<std::string> VersionId;
3541 Nullable<std::string> LeaseId;
3542 Nullable<Models::DeleteSnapshotsOption> DeleteSnapshots;
3543 Nullable<DateTime> IfModifiedSince;
3544 Nullable<DateTime> IfUnmodifiedSince;
3545 ETag IfMatch;
3546 ETag IfNoneMatch;
3547 Nullable<std::string> IfTags;
3548 };
3549 static Response<Models::DeleteBlobResult> Delete(
3550 Core::Http::_internal::HttpPipeline& pipeline,
3551 const Core::Url& url,
3552 const DeleteBlobOptions& options,
3553 const Core::Context& context);
3554 struct UndeleteBlobOptions final
3555 {
3556 };
3557 static Response<Models::UndeleteBlobResult> Undelete(
3558 Core::Http::_internal::HttpPipeline& pipeline,
3559 const Core::Url& url,
3560 const UndeleteBlobOptions& options,
3561 const Core::Context& context);
3562 struct SetBlobExpiryOptions final
3563 {
3564 Models::ScheduleBlobExpiryOriginType ExpiryOptions;
3565 Nullable<std::string> ExpiresOn;
3566 };
3567 static Response<Models::SetBlobExpiryResult> SetExpiry(
3568 Core::Http::_internal::HttpPipeline& pipeline,
3569 const Core::Url& url,
3570 const SetBlobExpiryOptions& options,
3571 const Core::Context& context);
3572 struct SetBlobHttpHeadersOptions final
3573 {
3574 std::string BlobCacheControl;
3575 std::string BlobContentType;
3576 std::vector<std::uint8_t> BlobContentMD5;
3577 std::string BlobContentEncoding;
3578 std::string BlobContentLanguage;
3579 Nullable<std::string> LeaseId;
3580 Nullable<DateTime> IfModifiedSince;
3581 Nullable<DateTime> IfUnmodifiedSince;
3582 ETag IfMatch;
3583 ETag IfNoneMatch;
3584 Nullable<std::string> IfTags;
3585 std::string BlobContentDisposition;
3586 };
3587 static Response<Models::SetBlobHttpHeadersResult> SetHttpHeaders(
3588 Core::Http::_internal::HttpPipeline& pipeline,
3589 const Core::Url& url,
3590 const SetBlobHttpHeadersOptions& options,
3591 const Core::Context& context);
3592 struct SetBlobImmutabilityPolicyOptions final
3593 {
3594 Nullable<DateTime> IfUnmodifiedSince;
3595 Nullable<DateTime> ImmutabilityPolicyExpiry;
3596 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3597 };
3598 static Response<Models::SetBlobImmutabilityPolicyResult> SetImmutabilityPolicy(
3599 Core::Http::_internal::HttpPipeline& pipeline,
3600 const Core::Url& url,
3601 const SetBlobImmutabilityPolicyOptions& options,
3602 const Core::Context& context);
3603 struct DeleteBlobImmutabilityPolicyOptions final
3604 {
3605 };
3606 static Response<Models::DeleteBlobImmutabilityPolicyResult> DeleteImmutabilityPolicy(
3607 Core::Http::_internal::HttpPipeline& pipeline,
3608 const Core::Url& url,
3609 const DeleteBlobImmutabilityPolicyOptions& options,
3610 const Core::Context& context);
3611 struct SetBlobLegalHoldOptions final
3612 {
3613 bool LegalHold = bool();
3614 };
3615 static Response<Models::SetBlobLegalHoldResult> SetLegalHold(
3616 Core::Http::_internal::HttpPipeline& pipeline,
3617 const Core::Url& url,
3618 const SetBlobLegalHoldOptions& options,
3619 const Core::Context& context);
3620 struct SetBlobMetadataOptions final
3621 {
3622 std::map<std::string, std::string> Metadata;
3623 Nullable<std::string> LeaseId;
3624 Nullable<std::string> EncryptionKey;
3625 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3626 Nullable<std::string> EncryptionAlgorithm;
3627 Nullable<std::string> EncryptionScope;
3628 Nullable<DateTime> IfModifiedSince;
3629 Nullable<DateTime> IfUnmodifiedSince;
3630 ETag IfMatch;
3631 ETag IfNoneMatch;
3632 Nullable<std::string> IfTags;
3633 };
3634 static Response<Models::SetBlobMetadataResult> SetMetadata(
3635 Core::Http::_internal::HttpPipeline& pipeline,
3636 const Core::Url& url,
3637 const SetBlobMetadataOptions& options,
3638 const Core::Context& context);
3639 struct AcquireBlobLeaseOptions final
3640 {
3641 Nullable<std::int32_t> Duration;
3642 Nullable<std::string> ProposedLeaseId;
3643 Nullable<DateTime> IfModifiedSince;
3644 Nullable<DateTime> IfUnmodifiedSince;
3645 ETag IfMatch;
3646 ETag IfNoneMatch;
3647 Nullable<std::string> IfTags;
3648 };
3649 static Response<Models::_detail::AcquireBlobLeaseResult> AcquireLease(
3650 Core::Http::_internal::HttpPipeline& pipeline,
3651 const Core::Url& url,
3652 const AcquireBlobLeaseOptions& options,
3653 const Core::Context& context);
3654 struct ReleaseBlobLeaseOptions final
3655 {
3656 std::string LeaseId;
3657 Nullable<DateTime> IfModifiedSince;
3658 Nullable<DateTime> IfUnmodifiedSince;
3659 ETag IfMatch;
3660 ETag IfNoneMatch;
3661 Nullable<std::string> IfTags;
3662 };
3663 static Response<Models::_detail::ReleaseBlobLeaseResult> ReleaseLease(
3664 Core::Http::_internal::HttpPipeline& pipeline,
3665 const Core::Url& url,
3666 const ReleaseBlobLeaseOptions& options,
3667 const Core::Context& context);
3668 struct RenewBlobLeaseOptions final
3669 {
3670 std::string LeaseId;
3671 Nullable<DateTime> IfModifiedSince;
3672 Nullable<DateTime> IfUnmodifiedSince;
3673 ETag IfMatch;
3674 ETag IfNoneMatch;
3675 Nullable<std::string> IfTags;
3676 };
3677 static Response<Models::_detail::RenewBlobLeaseResult> RenewLease(
3678 Core::Http::_internal::HttpPipeline& pipeline,
3679 const Core::Url& url,
3680 const RenewBlobLeaseOptions& options,
3681 const Core::Context& context);
3682 struct ChangeBlobLeaseOptions final
3683 {
3684 std::string LeaseId;
3685 std::string ProposedLeaseId;
3686 Nullable<DateTime> IfModifiedSince;
3687 Nullable<DateTime> IfUnmodifiedSince;
3688 ETag IfMatch;
3689 ETag IfNoneMatch;
3690 Nullable<std::string> IfTags;
3691 };
3692 static Response<Models::_detail::ChangeBlobLeaseResult> ChangeLease(
3693 Core::Http::_internal::HttpPipeline& pipeline,
3694 const Core::Url& url,
3695 const ChangeBlobLeaseOptions& options,
3696 const Core::Context& context);
3697 struct BreakBlobLeaseOptions final
3698 {
3699 Nullable<std::int32_t> BreakPeriod;
3700 Nullable<DateTime> IfModifiedSince;
3701 Nullable<DateTime> IfUnmodifiedSince;
3702 ETag IfMatch;
3703 ETag IfNoneMatch;
3704 Nullable<std::string> IfTags;
3705 };
3706 static Response<Models::_detail::BreakBlobLeaseResult> BreakLease(
3707 Core::Http::_internal::HttpPipeline& pipeline,
3708 const Core::Url& url,
3709 const BreakBlobLeaseOptions& options,
3710 const Core::Context& context);
3711 struct CreateBlobSnapshotOptions final
3712 {
3713 std::map<std::string, std::string> Metadata;
3714 Nullable<std::string> EncryptionKey;
3715 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3716 Nullable<std::string> EncryptionAlgorithm;
3717 Nullable<std::string> EncryptionScope;
3718 Nullable<DateTime> IfModifiedSince;
3719 Nullable<DateTime> IfUnmodifiedSince;
3720 ETag IfMatch;
3721 ETag IfNoneMatch;
3722 Nullable<std::string> IfTags;
3723 Nullable<std::string> LeaseId;
3724 };
3725 static Response<Models::CreateBlobSnapshotResult> CreateSnapshot(
3726 Core::Http::_internal::HttpPipeline& pipeline,
3727 const Core::Url& url,
3728 const CreateBlobSnapshotOptions& options,
3729 const Core::Context& context);
3730 struct StartBlobCopyFromUriOptions final
3731 {
3732 Nullable<std::string> SourceLeaseId;
3733 std::map<std::string, std::string> Metadata;
3734 Nullable<Models::AccessTier> Tier;
3735 Nullable<Models::RehydratePriority> RehydratePriority;
3736 Nullable<DateTime> SourceIfModifiedSince;
3737 Nullable<DateTime> SourceIfUnmodifiedSince;
3738 ETag SourceIfMatch;
3739 ETag SourceIfNoneMatch;
3740 Nullable<std::string> SourceIfTags;
3741 Nullable<DateTime> IfModifiedSince;
3742 Nullable<DateTime> IfUnmodifiedSince;
3743 ETag IfMatch;
3744 ETag IfNoneMatch;
3745 Nullable<std::string> IfTags;
3746 std::string CopySource;
3747 Nullable<std::string> LeaseId;
3748 Nullable<std::string> BlobTagsString;
3749 Nullable<bool> SealBlob;
3750 Nullable<DateTime> ImmutabilityPolicyExpiry;
3751 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3752 Nullable<bool> LegalHold;
3753 };
3754 static Response<Models::_detail::StartBlobCopyFromUriResult> StartCopyFromUri(
3755 Core::Http::_internal::HttpPipeline& pipeline,
3756 const Core::Url& url,
3757 const StartBlobCopyFromUriOptions& options,
3758 const Core::Context& context);
3759 struct CopyBlobFromUriOptions final
3760 {
3761 std::map<std::string, std::string> Metadata;
3762 Nullable<Models::AccessTier> Tier;
3763 Nullable<DateTime> SourceIfModifiedSince;
3764 Nullable<DateTime> SourceIfUnmodifiedSince;
3765 ETag SourceIfMatch;
3766 ETag SourceIfNoneMatch;
3767 Nullable<DateTime> IfModifiedSince;
3768 Nullable<DateTime> IfUnmodifiedSince;
3769 ETag IfMatch;
3770 ETag IfNoneMatch;
3771 Nullable<std::string> IfTags;
3772 std::string CopySource;
3773 Nullable<std::string> LeaseId;
3774 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
3775 Nullable<std::string> BlobTagsString;
3776 Nullable<DateTime> ImmutabilityPolicyExpiry;
3777 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3778 Nullable<bool> LegalHold;
3779 Nullable<std::string> CopySourceAuthorization;
3780 Nullable<std::string> EncryptionScope;
3781 Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
3782 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
3783 };
3784 static Response<Models::CopyBlobFromUriResult> CopyFromUri(
3785 Core::Http::_internal::HttpPipeline& pipeline,
3786 const Core::Url& url,
3787 const CopyBlobFromUriOptions& options,
3788 const Core::Context& context);
3789 struct AbortBlobCopyFromUriOptions final
3790 {
3791 std::string CopyId;
3792 Nullable<std::string> LeaseId;
3793 };
3794 static Response<Models::AbortBlobCopyFromUriResult> AbortCopyFromUri(
3795 Core::Http::_internal::HttpPipeline& pipeline,
3796 const Core::Url& url,
3797 const AbortBlobCopyFromUriOptions& options,
3798 const Core::Context& context);
3799 struct SetBlobTierOptions final
3800 {
3801 Nullable<std::string> Snapshot;
3802 Nullable<std::string> VersionId;
3803 Models::AccessTier Tier;
3804 Nullable<Models::RehydratePriority> RehydratePriority;
3805 Nullable<std::string> LeaseId;
3806 Nullable<std::string> IfTags;
3807 };
3808 static Response<Models::SetBlobAccessTierResult> SetTier(
3809 Core::Http::_internal::HttpPipeline& pipeline,
3810 const Core::Url& url,
3811 const SetBlobTierOptions& options,
3812 const Core::Context& context);
3813 struct GetBlobAccountInfoOptions final
3814 {
3815 };
3816 static Response<Models::AccountInfo> GetAccountInfo(
3817 Core::Http::_internal::HttpPipeline& pipeline,
3818 const Core::Url& url,
3819 const GetBlobAccountInfoOptions& options,
3820 const Core::Context& context);
3821 struct QueryBlobOptions final
3822 {
3823 Models::_detail::QueryRequest QueryRequest;
3824 Nullable<std::string> Snapshot;
3825 Nullable<std::string> LeaseId;
3826 Nullable<std::string> EncryptionKey;
3827 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3828 Nullable<std::string> EncryptionAlgorithm;
3829 Nullable<DateTime> IfModifiedSince;
3830 Nullable<DateTime> IfUnmodifiedSince;
3831 ETag IfMatch;
3832 ETag IfNoneMatch;
3833 Nullable<std::string> IfTags;
3834 Nullable<std::string> EncryptionScope;
3835 };
3836 static Response<Models::QueryBlobResult> Query(
3837 Core::Http::_internal::HttpPipeline& pipeline,
3838 const Core::Url& url,
3839 const QueryBlobOptions& options,
3840 const Core::Context& context);
3841 struct GetBlobTagsOptions final
3842 {
3843 Nullable<std::string> Snapshot;
3844 Nullable<std::string> VersionId;
3845 Nullable<std::string> IfTags;
3846 Nullable<std::string> LeaseId;
3847 };
3848 static Response<std::map<std::string, std::string>> GetTags(
3849 Core::Http::_internal::HttpPipeline& pipeline,
3850 const Core::Url& url,
3851 const GetBlobTagsOptions& options,
3852 const Core::Context& context);
3853 struct SetBlobTagsOptions final
3854 {
3855 std::map<std::string, std::string> Tags;
3856 Nullable<std::string> VersionId;
3857 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
3858 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
3859 Nullable<std::string> IfTags;
3860 Nullable<std::string> LeaseId;
3861 };
3862 static Response<Models::SetBlobTagsResult> SetTags(
3863 Core::Http::_internal::HttpPipeline& pipeline,
3864 const Core::Url& url,
3865 const SetBlobTagsOptions& options,
3866 const Core::Context& context);
3867 };
3868 class PageBlobClient final {
3869 public:
3870 struct CreatePageBlobOptions final
3871 {
3872 Nullable<Models::AccessTier> Tier;
3873 std::string BlobContentType;
3874 std::string BlobContentEncoding;
3875 std::string BlobContentLanguage;
3876 std::vector<std::uint8_t> BlobContentMD5;
3877 std::string BlobCacheControl;
3878 std::map<std::string, std::string> Metadata;
3879 Nullable<std::string> LeaseId;
3880 std::string BlobContentDisposition;
3881 Nullable<std::string> EncryptionKey;
3882 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3883 Nullable<std::string> EncryptionAlgorithm;
3884 Nullable<std::string> EncryptionScope;
3885 Nullable<DateTime> IfModifiedSince;
3886 Nullable<DateTime> IfUnmodifiedSince;
3887 ETag IfMatch;
3888 ETag IfNoneMatch;
3889 Nullable<std::string> IfTags;
3890 std::int64_t BlobContentLength = std::int64_t();
3891 Nullable<std::int64_t> BlobSequenceNumber;
3892 Nullable<std::string> BlobTagsString;
3893 Nullable<DateTime> ImmutabilityPolicyExpiry;
3894 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3895 Nullable<bool> LegalHold;
3896 };
3897 static Response<Models::CreatePageBlobResult> Create(
3898 Core::Http::_internal::HttpPipeline& pipeline,
3899 const Core::Url& url,
3900 const CreatePageBlobOptions& options,
3901 const Core::Context& context);
3902 struct UploadPageBlobPagesOptions final
3903 {
3904 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
3905 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
3906 Nullable<std::string> Range;
3907 Nullable<std::string> LeaseId;
3908 Nullable<std::string> EncryptionKey;
3909 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3910 Nullable<std::string> EncryptionAlgorithm;
3911 Nullable<std::string> EncryptionScope;
3912 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3913 Nullable<std::int64_t> IfSequenceNumberLessThan;
3914 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3915 Nullable<DateTime> IfModifiedSince;
3916 Nullable<DateTime> IfUnmodifiedSince;
3917 ETag IfMatch;
3918 ETag IfNoneMatch;
3919 Nullable<std::string> IfTags;
3920 };
3921 static Response<Models::UploadPagesResult> UploadPages(
3922 Core::Http::_internal::HttpPipeline& pipeline,
3923 const Core::Url& url,
3924 Core::IO::BodyStream& requestBody,
3925 const UploadPageBlobPagesOptions& options,
3926 const Core::Context& context);
3927 struct ClearPageBlobPagesOptions final
3928 {
3929 Nullable<std::string> Range;
3930 Nullable<std::string> LeaseId;
3931 Nullable<std::string> EncryptionKey;
3932 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3933 Nullable<std::string> EncryptionAlgorithm;
3934 Nullable<std::string> EncryptionScope;
3935 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3936 Nullable<std::int64_t> IfSequenceNumberLessThan;
3937 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3938 Nullable<DateTime> IfModifiedSince;
3939 Nullable<DateTime> IfUnmodifiedSince;
3940 ETag IfMatch;
3941 ETag IfNoneMatch;
3942 Nullable<std::string> IfTags;
3943 };
3944 static Response<Models::ClearPagesResult> ClearPages(
3945 Core::Http::_internal::HttpPipeline& pipeline,
3946 const Core::Url& url,
3947 const ClearPageBlobPagesOptions& options,
3948 const Core::Context& context);
3949 struct UploadPageBlobPagesFromUriOptions final
3950 {
3951 std::string SourceUrl;
3952 std::string SourceRange;
3953 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
3954 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
3955 std::string Range;
3956 Nullable<std::string> EncryptionKey;
3957 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3958 Nullable<std::string> EncryptionAlgorithm;
3959 Nullable<std::string> EncryptionScope;
3960 Nullable<std::string> LeaseId;
3961 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3962 Nullable<std::int64_t> IfSequenceNumberLessThan;
3963 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3964 Nullable<DateTime> IfModifiedSince;
3965 Nullable<DateTime> IfUnmodifiedSince;
3966 ETag IfMatch;
3967 ETag IfNoneMatch;
3968 Nullable<std::string> IfTags;
3969 Nullable<DateTime> SourceIfModifiedSince;
3970 Nullable<DateTime> SourceIfUnmodifiedSince;
3971 ETag SourceIfMatch;
3972 ETag SourceIfNoneMatch;
3973 Nullable<std::string> CopySourceAuthorization;
3974 };
3975 static Response<Models::UploadPagesFromUriResult> UploadPagesFromUri(
3976 Core::Http::_internal::HttpPipeline& pipeline,
3977 const Core::Url& url,
3978 const UploadPageBlobPagesFromUriOptions& options,
3979 const Core::Context& context);
3980 struct GetPageBlobPageRangesOptions final
3981 {
3982 Nullable<std::string> Snapshot;
3983 Nullable<std::string> Range;
3984 Nullable<std::string> LeaseId;
3985 Nullable<DateTime> IfModifiedSince;
3986 Nullable<DateTime> IfUnmodifiedSince;
3987 ETag IfMatch;
3988 ETag IfNoneMatch;
3989 Nullable<std::string> IfTags;
3990 Nullable<std::string> Marker;
3991 Nullable<std::int32_t> MaxResults;
3992 };
3993 static Response<Models::_detail::GetPageRangesResult> GetPageRanges(
3994 Core::Http::_internal::HttpPipeline& pipeline,
3995 const Core::Url& url,
3996 const GetPageBlobPageRangesOptions& options,
3997 const Core::Context& context);
3998 struct GetPageBlobPageRangesDiffOptions final
3999 {
4000 Nullable<std::string> Snapshot;
4001 Nullable<std::string> Prevsnapshot;
4002 Nullable<std::string> PrevSnapshotUrl;
4003 Nullable<std::string> Range;
4004 Nullable<std::string> LeaseId;
4005 Nullable<DateTime> IfModifiedSince;
4006 Nullable<DateTime> IfUnmodifiedSince;
4007 ETag IfMatch;
4008 ETag IfNoneMatch;
4009 Nullable<std::string> IfTags;
4010 Nullable<std::string> Marker;
4011 Nullable<std::int32_t> MaxResults;
4012 };
4013 static Response<Models::_detail::GetPageRangesDiffResult> GetPageRangesDiff(
4014 Core::Http::_internal::HttpPipeline& pipeline,
4015 const Core::Url& url,
4016 const GetPageBlobPageRangesDiffOptions& options,
4017 const Core::Context& context);
4018 struct ResizePageBlobOptions final
4019 {
4020 Nullable<std::string> LeaseId;
4021 Nullable<std::string> EncryptionKey;
4022 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4023 Nullable<std::string> EncryptionAlgorithm;
4024 Nullable<std::string> EncryptionScope;
4025 Nullable<DateTime> IfModifiedSince;
4026 Nullable<DateTime> IfUnmodifiedSince;
4027 ETag IfMatch;
4028 ETag IfNoneMatch;
4029 Nullable<std::string> IfTags;
4030 std::int64_t BlobContentLength = std::int64_t();
4031 };
4032 static Response<Models::ResizePageBlobResult> Resize(
4033 Core::Http::_internal::HttpPipeline& pipeline,
4034 const Core::Url& url,
4035 const ResizePageBlobOptions& options,
4036 const Core::Context& context);
4037 struct UpdatePageBlobSequenceNumberOptions final
4038 {
4039 Nullable<std::string> LeaseId;
4040 Nullable<DateTime> IfModifiedSince;
4041 Nullable<DateTime> IfUnmodifiedSince;
4042 ETag IfMatch;
4043 ETag IfNoneMatch;
4044 Nullable<std::string> IfTags;
4045 Models::SequenceNumberAction SequenceNumberAction;
4046 Nullable<std::int64_t> BlobSequenceNumber;
4047 };
4048 static Response<Models::UpdateSequenceNumberResult> UpdateSequenceNumber(
4049 Core::Http::_internal::HttpPipeline& pipeline,
4050 const Core::Url& url,
4051 const UpdatePageBlobSequenceNumberOptions& options,
4052 const Core::Context& context);
4053 struct StartPageBlobCopyIncrementalOptions final
4054 {
4055 Nullable<DateTime> IfModifiedSince;
4056 Nullable<DateTime> IfUnmodifiedSince;
4057 ETag IfMatch;
4058 ETag IfNoneMatch;
4059 Nullable<std::string> IfTags;
4060 std::string CopySource;
4061 };
4062 static Response<Models::_detail::StartBlobCopyIncrementalResult> StartCopyIncremental(
4063 Core::Http::_internal::HttpPipeline& pipeline,
4064 const Core::Url& url,
4065 const StartPageBlobCopyIncrementalOptions& options,
4066 const Core::Context& context);
4067 };
4068 class AppendBlobClient final {
4069 public:
4070 struct CreateAppendBlobOptions final
4071 {
4072 std::string BlobContentType;
4073 std::string BlobContentEncoding;
4074 std::string BlobContentLanguage;
4075 std::vector<std::uint8_t> BlobContentMD5;
4076 std::string BlobCacheControl;
4077 std::map<std::string, std::string> Metadata;
4078 Nullable<std::string> LeaseId;
4079 std::string BlobContentDisposition;
4080 Nullable<std::string> EncryptionKey;
4081 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4082 Nullable<std::string> EncryptionAlgorithm;
4083 Nullable<std::string> EncryptionScope;
4084 Nullable<DateTime> IfModifiedSince;
4085 Nullable<DateTime> IfUnmodifiedSince;
4086 ETag IfMatch;
4087 ETag IfNoneMatch;
4088 Nullable<std::string> IfTags;
4089 Nullable<std::string> BlobTagsString;
4090 Nullable<DateTime> ImmutabilityPolicyExpiry;
4091 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4092 Nullable<bool> LegalHold;
4093 };
4094 static Response<Models::CreateAppendBlobResult> Create(
4095 Core::Http::_internal::HttpPipeline& pipeline,
4096 const Core::Url& url,
4097 const CreateAppendBlobOptions& options,
4098 const Core::Context& context);
4099 struct AppendAppendBlobBlockOptions final
4100 {
4101 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4102 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4103 Nullable<std::string> LeaseId;
4104 Nullable<std::int64_t> MaxSize;
4105 Nullable<std::int64_t> AppendPosition;
4106 Nullable<std::string> EncryptionKey;
4107 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4108 Nullable<std::string> EncryptionAlgorithm;
4109 Nullable<std::string> EncryptionScope;
4110 Nullable<DateTime> IfModifiedSince;
4111 Nullable<DateTime> IfUnmodifiedSince;
4112 ETag IfMatch;
4113 ETag IfNoneMatch;
4114 Nullable<std::string> IfTags;
4115 };
4116 static Response<Models::AppendBlockResult> AppendBlock(
4117 Core::Http::_internal::HttpPipeline& pipeline,
4118 const Core::Url& url,
4119 Core::IO::BodyStream& requestBody,
4120 const AppendAppendBlobBlockOptions& options,
4121 const Core::Context& context);
4122 struct AppendAppendBlobBlockFromUriOptions final
4123 {
4124 std::string SourceUrl;
4125 Nullable<std::string> SourceRange;
4126 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4127 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4128 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4129 Nullable<std::string> EncryptionKey;
4130 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4131 Nullable<std::string> EncryptionAlgorithm;
4132 Nullable<std::string> EncryptionScope;
4133 Nullable<std::string> LeaseId;
4134 Nullable<std::int64_t> MaxSize;
4135 Nullable<std::int64_t> AppendPosition;
4136 Nullable<DateTime> IfModifiedSince;
4137 Nullable<DateTime> IfUnmodifiedSince;
4138 ETag IfMatch;
4139 ETag IfNoneMatch;
4140 Nullable<std::string> IfTags;
4141 Nullable<DateTime> SourceIfModifiedSince;
4142 Nullable<DateTime> SourceIfUnmodifiedSince;
4143 ETag SourceIfMatch;
4144 ETag SourceIfNoneMatch;
4145 Nullable<std::string> CopySourceAuthorization;
4146 };
4147 static Response<Models::AppendBlockFromUriResult> AppendBlockFromUri(
4148 Core::Http::_internal::HttpPipeline& pipeline,
4149 const Core::Url& url,
4150 const AppendAppendBlobBlockFromUriOptions& options,
4151 const Core::Context& context);
4152 struct SealAppendBlobOptions final
4153 {
4154 Nullable<std::string> LeaseId;
4155 Nullable<DateTime> IfModifiedSince;
4156 Nullable<DateTime> IfUnmodifiedSince;
4157 ETag IfMatch;
4158 ETag IfNoneMatch;
4159 Nullable<std::int64_t> AppendPosition;
4160 };
4161 static Response<Models::SealAppendBlobResult> Seal(
4162 Core::Http::_internal::HttpPipeline& pipeline,
4163 const Core::Url& url,
4164 const SealAppendBlobOptions& options,
4165 const Core::Context& context);
4166 };
4167 class BlockBlobClient final {
4168 public:
4169 struct UploadBlockBlobOptions final
4170 {
4171 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4172 std::string BlobContentType;
4173 std::string BlobContentEncoding;
4174 std::string BlobContentLanguage;
4175 std::vector<std::uint8_t> BlobContentMD5;
4176 std::string BlobCacheControl;
4177 std::map<std::string, std::string> Metadata;
4178 Nullable<std::string> LeaseId;
4179 std::string BlobContentDisposition;
4180 Nullable<std::string> EncryptionKey;
4181 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4182 Nullable<std::string> EncryptionAlgorithm;
4183 Nullable<std::string> EncryptionScope;
4184 Nullable<Models::AccessTier> Tier;
4185 Nullable<DateTime> IfModifiedSince;
4186 Nullable<DateTime> IfUnmodifiedSince;
4187 ETag IfMatch;
4188 ETag IfNoneMatch;
4189 Nullable<std::string> IfTags;
4190 Nullable<std::string> BlobTagsString;
4191 Nullable<DateTime> ImmutabilityPolicyExpiry;
4192 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4193 Nullable<bool> LegalHold;
4194 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4195 };
4196 static Response<Models::UploadBlockBlobResult> Upload(
4197 Core::Http::_internal::HttpPipeline& pipeline,
4198 const Core::Url& url,
4199 Core::IO::BodyStream& requestBody,
4200 const UploadBlockBlobOptions& options,
4201 const Core::Context& context);
4202 struct UploadBlockBlobFromUriOptions final
4203 {
4204 std::string BlobContentType;
4205 std::string BlobContentEncoding;
4206 std::string BlobContentLanguage;
4207 std::vector<std::uint8_t> BlobContentMD5;
4208 std::string BlobCacheControl;
4209 std::map<std::string, std::string> Metadata;
4210 Nullable<std::string> LeaseId;
4211 std::string BlobContentDisposition;
4212 Nullable<std::string> EncryptionKey;
4213 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4214 Nullable<std::string> EncryptionAlgorithm;
4215 Nullable<std::string> EncryptionScope;
4216 Nullable<Models::AccessTier> Tier;
4217 Nullable<DateTime> IfModifiedSince;
4218 Nullable<DateTime> IfUnmodifiedSince;
4219 ETag IfMatch;
4220 ETag IfNoneMatch;
4221 Nullable<std::string> IfTags;
4222 Nullable<DateTime> SourceIfModifiedSince;
4223 Nullable<DateTime> SourceIfUnmodifiedSince;
4224 ETag SourceIfMatch;
4225 ETag SourceIfNoneMatch;
4226 Nullable<std::string> SourceIfTags;
4227 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4228 Nullable<std::string> BlobTagsString;
4229 std::string CopySource;
4230 Nullable<bool> CopySourceBlobProperties;
4231 Nullable<std::string> CopySourceAuthorization;
4232 Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
4233 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4234 };
4235 static Response<Models::UploadBlockBlobFromUriResult> UploadFromUri(
4236 Core::Http::_internal::HttpPipeline& pipeline,
4237 const Core::Url& url,
4238 const UploadBlockBlobFromUriOptions& options,
4239 const Core::Context& context);
4240 struct StageBlockBlobBlockOptions final
4241 {
4242 std::string BlockId;
4243 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4244 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4245 Nullable<std::string> LeaseId;
4246 Nullable<std::string> EncryptionKey;
4247 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4248 Nullable<std::string> EncryptionAlgorithm;
4249 Nullable<std::string> EncryptionScope;
4250 };
4251 static Response<Models::StageBlockResult> StageBlock(
4252 Core::Http::_internal::HttpPipeline& pipeline,
4253 const Core::Url& url,
4254 Core::IO::BodyStream& requestBody,
4255 const StageBlockBlobBlockOptions& options,
4256 const Core::Context& context);
4257 struct StageBlockBlobBlockFromUriOptions final
4258 {
4259 std::string BlockId;
4260 std::string SourceUrl;
4261 Nullable<std::string> SourceRange;
4262 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4263 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4264 Nullable<std::string> EncryptionKey;
4265 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4266 Nullable<std::string> EncryptionAlgorithm;
4267 Nullable<std::string> EncryptionScope;
4268 Nullable<std::string> LeaseId;
4269 Nullable<DateTime> SourceIfModifiedSince;
4270 Nullable<DateTime> SourceIfUnmodifiedSince;
4271 ETag SourceIfMatch;
4272 ETag SourceIfNoneMatch;
4273 Nullable<std::string> CopySourceAuthorization;
4274 };
4275 static Response<Models::StageBlockFromUriResult> StageBlockFromUri(
4276 Core::Http::_internal::HttpPipeline& pipeline,
4277 const Core::Url& url,
4278 const StageBlockBlobBlockFromUriOptions& options,
4279 const Core::Context& context);
4280 struct CommitBlockBlobBlockListOptions final
4281 {
4282 Models::_detail::BlockLookupList Blocks;
4283 std::string BlobCacheControl;
4284 std::string BlobContentType;
4285 std::string BlobContentEncoding;
4286 std::string BlobContentLanguage;
4287 std::vector<std::uint8_t> BlobContentMD5;
4288 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4289 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4290 std::map<std::string, std::string> Metadata;
4291 Nullable<std::string> LeaseId;
4292 std::string BlobContentDisposition;
4293 Nullable<std::string> EncryptionKey;
4294 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4295 Nullable<std::string> EncryptionAlgorithm;
4296 Nullable<std::string> EncryptionScope;
4297 Nullable<Models::AccessTier> Tier;
4298 Nullable<DateTime> IfModifiedSince;
4299 Nullable<DateTime> IfUnmodifiedSince;
4300 ETag IfMatch;
4301 ETag IfNoneMatch;
4302 Nullable<std::string> IfTags;
4303 Nullable<std::string> BlobTagsString;
4304 Nullable<DateTime> ImmutabilityPolicyExpiry;
4305 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4306 Nullable<bool> LegalHold;
4307 };
4308 static Response<Models::CommitBlockListResult> CommitBlockList(
4309 Core::Http::_internal::HttpPipeline& pipeline,
4310 const Core::Url& url,
4311 const CommitBlockBlobBlockListOptions& options,
4312 const Core::Context& context);
4313 struct GetBlockBlobBlockListOptions final
4314 {
4315 Nullable<std::string> Snapshot;
4316 Models::BlockListType ListType;
4317 Nullable<std::string> LeaseId;
4318 Nullable<std::string> IfTags;
4319 };
4320 static Response<Models::GetBlockListResult> GetBlockList(
4321 Core::Http::_internal::HttpPipeline& pipeline,
4322 const Core::Url& url,
4323 const GetBlockBlobBlockListOptions& options,
4324 const Core::Context& context);
4325 };
4326 } // namespace _detail
4327}}} // namespace Azure::Storage::Blobs
Optional. Indicates the tier to be set on the blob.
Definition rest_client.hpp:937
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P70
Definition rest_client.hpp:969
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Cold
Definition rest_client.hpp:981
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Archive
Definition rest_client.hpp:977
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P20
Definition rest_client.hpp:959
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P50
Definition rest_client.hpp:965
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P40
Definition rest_client.hpp:963
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Hot
Definition rest_client.hpp:973
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P10
Definition rest_client.hpp:955
AccessTier(std::string value)
Definition rest_client.hpp:942
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P4
Definition rest_client.hpp:951
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P30
Definition rest_client.hpp:961
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P60
Definition rest_client.hpp:967
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Cool
Definition rest_client.hpp:975
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Premium
Definition rest_client.hpp:979
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P1
Definition rest_client.hpp:945
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P6
Definition rest_client.hpp:953
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P80
Definition rest_client.hpp:971
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P2
Definition rest_client.hpp:947
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P3
Definition rest_client.hpp:949
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P15
Definition rest_client.hpp:957
Identifies the account kind.
Definition rest_client.hpp:571
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind FileStorage
Definition rest_client.hpp:585
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind StorageV2
Definition rest_client.hpp:583
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind BlockBlobStorage
Definition rest_client.hpp:587
AccountKind(std::string value)
Definition rest_client.hpp:576
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind Storage
Definition rest_client.hpp:579
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind BlobStorage
Definition rest_client.hpp:581
For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool....
Definition rest_client.hpp:989
ArchiveStatus(std::string value)
Definition rest_client.hpp:994
AZ_STORAGE_BLOBS_DLLEXPORT static const ArchiveStatus RehydratePendingToCool
Definition rest_client.hpp:999
AZ_STORAGE_BLOBS_DLLEXPORT static const ArchiveStatus RehydratePendingToCold
Definition rest_client.hpp:1001
AZ_STORAGE_BLOBS_DLLEXPORT static const ArchiveStatus RehydratePendingToHot
Definition rest_client.hpp:997
Optional, default 'replace'. Indicates if source tags should be copied or replaced with the tags spec...
Definition rest_client.hpp:2171
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobCopySourceTagsMode Replace
Definition rest_client.hpp:2181
BlobCopySourceTagsMode(std::string value)
Definition rest_client.hpp:2176
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobCopySourceTagsMode Copy
Definition rest_client.hpp:2183
Specifies the immutability policy mode to set on the blob.
Definition rest_client.hpp:1102
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobImmutabilityPolicyMode Unlocked
Definition rest_client.hpp:1113
BlobImmutabilityPolicyMode(std::string value)
Definition rest_client.hpp:1107
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobImmutabilityPolicyMode Locked
Definition rest_client.hpp:1115
Type of blob query arrow field.
Definition rest_client.hpp:2336
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType String
Definition rest_client.hpp:2352
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Bool
Definition rest_client.hpp:2348
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Int64
Definition rest_client.hpp:2346
BlobQueryArrowFieldType(std::string value)
Definition rest_client.hpp:2341
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Double
Definition rest_client.hpp:2354
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Timestamp
Definition rest_client.hpp:2350
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Decimal
Definition rest_client.hpp:2356
Type of the blob.
Definition rest_client.hpp:1307
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobType AppendBlob
Definition rest_client.hpp:1319
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobType BlockBlob
Definition rest_client.hpp:1315
BlobType(std::string value)
Definition rest_client.hpp:1312
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobType PageBlob
Definition rest_client.hpp:1317
Specifies whether to return the list of committed blocks, the list of uncommitted blocks,...
Definition rest_client.hpp:3169
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType Committed
Definition rest_client.hpp:3177
BlockListType(std::string value)
Definition rest_client.hpp:3174
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType All
Definition rest_client.hpp:3181
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType Uncommitted
Definition rest_client.hpp:3179
Extensible enum used to specify how the service should look for a block ID.
Definition rest_client.hpp:58
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockType Latest
Definition rest_client.hpp:70
BlockType(std::string value)
Definition rest_client.hpp:63
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockType Uncommitted
Definition rest_client.hpp:68
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockType Committed
Definition rest_client.hpp:66
Status of the copy operation.
Definition rest_client.hpp:918
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Pending
Definition rest_client.hpp:926
CopyStatus(std::string value)
Definition rest_client.hpp:923
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Success
Definition rest_client.hpp:928
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Aborted
Definition rest_client.hpp:930
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Failed
Definition rest_client.hpp:932
Required if the blob has associated snapshots. Specify one of the following two options: include: Del...
Definition rest_client.hpp:1825
DeleteSnapshotsOption(std::string value)
Definition rest_client.hpp:1830
AZ_STORAGE_BLOBS_DLLEXPORT static const DeleteSnapshotsOption IncludeSnapshots
Definition rest_client.hpp:1833
AZ_STORAGE_BLOBS_DLLEXPORT static const DeleteSnapshotsOption OnlySnapshots
Definition rest_client.hpp:1835
The algorithm used to produce the encryption key hash. Currently, the only accepted value is "AES256"...
Definition rest_client.hpp:43
EncryptionAlgorithmType(std::string value)
Definition rest_client.hpp:48
AZ_STORAGE_BLOBS_DLLEXPORT static const EncryptionAlgorithmType Aes256
Definition rest_client.hpp:53
The status of the secondary location.
Definition rest_client.hpp:238
AZ_STORAGE_BLOBS_DLLEXPORT static const GeoReplicationStatus Live
Definition rest_client.hpp:246
AZ_STORAGE_BLOBS_DLLEXPORT static const GeoReplicationStatus Unavailable
Definition rest_client.hpp:250
GeoReplicationStatus(std::string value)
Definition rest_client.hpp:243
AZ_STORAGE_BLOBS_DLLEXPORT static const GeoReplicationStatus Bootstrap
Definition rest_client.hpp:248
When a blob is leased, specifies whether the lease is of infinite or fixed duration.
Definition rest_client.hpp:318
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseDurationType Fixed
Definition rest_client.hpp:328
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseDurationType Infinite
Definition rest_client.hpp:326
LeaseDurationType(std::string value)
Definition rest_client.hpp:323
The current lease state of the blob.
Definition rest_client.hpp:296
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Expired
Definition rest_client.hpp:308
LeaseState(std::string value)
Definition rest_client.hpp:301
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Broken
Definition rest_client.hpp:312
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Leased
Definition rest_client.hpp:306
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Available
Definition rest_client.hpp:304
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Breaking
Definition rest_client.hpp:310
The current lease status of the blob.
Definition rest_client.hpp:281
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseStatus Locked
Definition rest_client.hpp:289
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseStatus Unlocked
Definition rest_client.hpp:291
LeaseStatus(std::string value)
Definition rest_client.hpp:286
The replication status of blob with the given policy and rule identifiers.
Definition rest_client.hpp:1054
ObjectReplicationStatus(std::string value)
Definition rest_client.hpp:1059
AZ_STORAGE_BLOBS_DLLEXPORT static const ObjectReplicationStatus Failed
Definition rest_client.hpp:1066
AZ_STORAGE_BLOBS_DLLEXPORT static const ObjectReplicationStatus Complete
Definition rest_client.hpp:1064
Specifies whether data in the container may be accessed publicly and the level of access.
Definition rest_client.hpp:334
AZ_STORAGE_BLOBS_DLLEXPORT static const PublicAccessType BlobContainer
Definition rest_client.hpp:342
AZ_STORAGE_BLOBS_DLLEXPORT static const PublicAccessType None
Definition rest_client.hpp:346
AZ_STORAGE_BLOBS_DLLEXPORT static const PublicAccessType Blob
Definition rest_client.hpp:344
PublicAccessType(std::string value)
Definition rest_client.hpp:339
Optional: Indicates the priority with which to rehydrate an archived blob.
Definition rest_client.hpp:1007
RehydratePriority(std::string value)
Definition rest_client.hpp:1012
AZ_STORAGE_BLOBS_DLLEXPORT static const RehydratePriority High
Definition rest_client.hpp:1015
AZ_STORAGE_BLOBS_DLLEXPORT static const RehydratePriority Standard
Definition rest_client.hpp:1017
Required. Indicates mode of the expiry time.
Definition rest_client.hpp:1857
AZ_STORAGE_BLOBS_DLLEXPORT static const ScheduleBlobExpiryOriginType RelativeToCreation
Definition rest_client.hpp:1870
AZ_STORAGE_BLOBS_DLLEXPORT static const ScheduleBlobExpiryOriginType NeverExpire
Definition rest_client.hpp:1868
AZ_STORAGE_BLOBS_DLLEXPORT static const ScheduleBlobExpiryOriginType Absolute
Definition rest_client.hpp:1874
AZ_STORAGE_BLOBS_DLLEXPORT static const ScheduleBlobExpiryOriginType RelativeToNow
Definition rest_client.hpp:1872
ScheduleBlobExpiryOriginType(std::string value)
Definition rest_client.hpp:1862
Required if the x-ms-blob-sequence-number header is set for the request. This property applies to pag...
Definition rest_client.hpp:2715
SequenceNumberAction(std::string value)
Definition rest_client.hpp:2720
AZ_STORAGE_BLOBS_DLLEXPORT static const SequenceNumberAction Increment
Definition rest_client.hpp:2727
AZ_STORAGE_BLOBS_DLLEXPORT static const SequenceNumberAction Update
Definition rest_client.hpp:2725
AZ_STORAGE_BLOBS_DLLEXPORT static const SequenceNumberAction Max
Definition rest_client.hpp:2723
Identifies the sku name of the account.
Definition rest_client.hpp:544
SkuName(std::string value)
Definition rest_client.hpp:549
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName PremiumLrs
Definition rest_client.hpp:560
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardRagrs
Definition rest_client.hpp:556
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardZrs
Definition rest_client.hpp:558
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName PremiumZrs
Definition rest_client.hpp:562
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardGrs
Definition rest_client.hpp:554
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardLrs
Definition rest_client.hpp:552
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardGzrs
Definition rest_client.hpp:564
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardRagzrs
Definition rest_client.hpp:566
Response type for Azure::Storage::Blobs::BlobClient::AbortCopyFromUri.
Definition rest_client.hpp:2231
Response type for Azure::Storage::Blobs::BlobServiceClient::GetAccountInfo.
Definition rest_client.hpp:2243
Models::AccountKind AccountKind
Definition rest_client.hpp:2251
Models::SkuName SkuName
Definition rest_client.hpp:2247
bool IsHierarchicalNamespaceEnabled
Definition rest_client.hpp:2256
Azure Analytics Logging settings.
Definition rest_client.hpp:91
bool Write
Definition rest_client.hpp:107
std::string Version
Definition rest_client.hpp:95
bool Read
Definition rest_client.hpp:103
Models::RetentionPolicy RetentionPolicy
Definition rest_client.hpp:111
bool Delete
Definition rest_client.hpp:99
Response type for Azure::Storage::Blobs::AppendBlobClient::AppendBlockFromUri.
Definition rest_client.hpp:2880
Azure::ETag ETag
Definition rest_client.hpp:2885
std::int64_t AppendOffset
Definition rest_client.hpp:2901
DateTime LastModified
Definition rest_client.hpp:2891
bool IsServerEncrypted
Definition rest_client.hpp:2922
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2917
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2896
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2911
std::int32_t CommittedBlockCount
Definition rest_client.hpp:2906
Response type for Azure::Storage::Blobs::AppendBlobClient::AppendBlock.
Definition rest_client.hpp:2832
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2848
std::int64_t AppendOffset
Definition rest_client.hpp:2853
std::int32_t CommittedBlockCount
Definition rest_client.hpp:2858
Azure::ETag ETag
Definition rest_client.hpp:2837
DateTime LastModified
Definition rest_client.hpp:2843
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2874
bool IsServerEncrypted
Definition rest_client.hpp:2863
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2868
Represents a single block in a block blob. It describes the block's ID and size.
Definition rest_client.hpp:3155
std::string Name
Definition rest_client.hpp:3159
std::int64_t Size
Definition rest_client.hpp:3163
Response type for Azure::Storage::Blobs::BlobContainerClient::GetAccessPolicy.
Definition rest_client.hpp:738
std::vector< SignedIdentifier > SignedIdentifiers
Definition rest_client.hpp:742
PublicAccessType AccessType
Definition rest_client.hpp:746
Properties of a container.
Definition rest_client.hpp:352
Core::CaseInsensitiveMap Metadata
Definition rest_client.hpp:413
Models::LeaseState LeaseState
Definition rest_client.hpp:371
bool PreventEncryptionScopeOverride
Definition rest_client.hpp:395
PublicAccessType AccessType
Definition rest_client.hpp:379
std::string DefaultEncryptionScope
Definition rest_client.hpp:391
Nullable< DateTime > DeletedOn
Definition rest_client.hpp:400
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:375
bool HasImmutabilityPolicy
Definition rest_client.hpp:383
bool HasLegalHold
Definition rest_client.hpp:387
Azure::ETag ETag
Definition rest_client.hpp:363
DateTime LastModified
Definition rest_client.hpp:358
Models::LeaseStatus LeaseStatus
Definition rest_client.hpp:367
bool HasImmutableStorageWithVersioning
Definition rest_client.hpp:409
Nullable< std::int32_t > RemainingRetentionDays
Definition rest_client.hpp:405
An Azure Storage container.
Definition rest_client.hpp:419
std::string Name
Definition rest_client.hpp:423
Nullable< std::string > VersionId
Definition rest_client.hpp:431
BlobContainerItemDetails Details
Definition rest_client.hpp:435
bool IsDeleted
Definition rest_client.hpp:427
Response type for Azure::Storage::Blobs::BlobContainerClient::GetProperties.
Definition rest_client.hpp:632
Core::CaseInsensitiveMap Metadata
Definition rest_client.hpp:636
Models::LeaseStatus LeaseStatus
Definition rest_client.hpp:659
bool HasImmutableStorageWithVersioning
Definition rest_client.hpp:683
DateTime LastModified
Definition rest_client.hpp:647
bool HasLegalHold
Definition rest_client.hpp:671
std::string DefaultEncryptionScope
Definition rest_client.hpp:675
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:651
Models::LeaseState LeaseState
Definition rest_client.hpp:655
bool PreventEncryptionScopeOverride
Definition rest_client.hpp:679
bool HasImmutabilityPolicy
Definition rest_client.hpp:667
PublicAccessType AccessType
Definition rest_client.hpp:663
Azure::ETag ETag
Definition rest_client.hpp:641
Standard HTTP properties supported by containers and blobs.
Definition rest_client.hpp:1023
std::string ContentLanguage
Definition rest_client.hpp:1035
std::string ContentEncoding
Definition rest_client.hpp:1031
std::string ContentType
Definition rest_client.hpp:1027
std::string CacheControl
Definition rest_client.hpp:1048
std::string ContentDisposition
Definition rest_client.hpp:1044
Storage::ContentHash ContentHash
Definition rest_client.hpp:1039
Immutability policy associated with the blob.
Definition rest_client.hpp:1121
DateTime ExpiresOn
Definition rest_client.hpp:1125
BlobImmutabilityPolicyMode PolicyMode
Definition rest_client.hpp:1129
Properties of a blob.
Definition rest_client.hpp:1135
Nullable< Models::RehydratePriority > RehydratePriority
Definition rest_client.hpp:1273
Nullable< std::string > CopySource
Definition rest_client.hpp:1181
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:1164
Nullable< Models::ArchiveStatus > ArchiveStatus
Definition rest_client.hpp:1247
Nullable< DateTime > AccessTierChangedOn
Definition rest_client.hpp:1260
Nullable< DateTime > CopyCompletedOn
Definition rest_client.hpp:1197
DateTime LastModified
Definition rest_client.hpp:1143
DateTime CreatedOn
Definition rest_client.hpp:1139
Nullable< bool > IsIncrementalCopy
Definition rest_client.hpp:1216
Nullable< std::string > CopyStatusDescription
Definition rest_client.hpp:1205
Nullable< DateTime > DeletedOn
Definition rest_client.hpp:1226
Nullable< std::string > IncrementalCopyDestinationSnapshot
Definition rest_client.hpp:1222
Nullable< DateTime > ExpiresOn
Definition rest_client.hpp:1264
Nullable< bool > IsSealed
Definition rest_client.hpp:1268
Models::LeaseStatus LeaseStatus
Definition rest_client.hpp:1156
Nullable< BlobImmutabilityPolicy > ImmutabilityPolicy
Definition rest_client.hpp:1302
Nullable< DateTime > LastAccessedOn
Definition rest_client.hpp:1278
Nullable< Models::CopyStatus > CopyStatus
Definition rest_client.hpp:1173
BlobHttpHeaders HttpHeaders
Definition rest_client.hpp:1286
bool IsServerEncrypted
Definition rest_client.hpp:1212
Azure::ETag ETag
Definition rest_client.hpp:1148
Nullable< Models::AccessTier > AccessTier
Definition rest_client.hpp:1236
Nullable< std::string > CopyProgress
Definition rest_client.hpp:1189
Nullable< bool > IsAccessTierInferred
Definition rest_client.hpp:1240
Models::LeaseState LeaseState
Definition rest_client.hpp:1160
bool HasLegalHold
Definition rest_client.hpp:1282
Core::CaseInsensitiveMap Metadata
Definition rest_client.hpp:1290
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:1251
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:1152
std::map< std::string, std::string > Tags
Definition rest_client.hpp:1294
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:1255
Nullable< std::string > CopyId
Definition rest_client.hpp:1169
Nullable< std::int32_t > RemainingRetentionDays
Definition rest_client.hpp:1231
std::vector< ObjectReplicationPolicy > ObjectReplicationSourceProperties
Definition rest_client.hpp:1298
An Azure Storage blob.
Definition blob_responses.hpp:170
Response type for Azure::Storage::Blobs::BlobClient::GetProperties.
Definition rest_client.hpp:1620
Models::BlobType BlobType
Definition rest_client.hpp:1655
Nullable< DateTime > CopyCompletedOn
Definition rest_client.hpp:1663
Nullable< std::string > CopySource
Definition rest_client.hpp:1692
Nullable< Models::LeaseState > LeaseState
Definition rest_client.hpp:1714
Nullable< Models::AccessTier > AccessTier
Definition rest_client.hpp:1762
Nullable< DateTime > AccessTierChangedOn
Definition rest_client.hpp:1780
bool HasLegalHold
Definition rest_client.hpp:1817
Nullable< std::string > CopyId
Definition rest_client.hpp:1676
Nullable< bool > IsCurrentVersion
Definition rest_client.hpp:1791
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:1710
Nullable< std::int32_t > CommittedBlockCount
Definition rest_client.hpp:1737
Azure::ETag ETag
Definition rest_client.hpp:1727
Nullable< std::string > CopyStatusDescription
Definition rest_client.hpp:1671
Nullable< bool > IsSealed
Definition rest_client.hpp:1803
Nullable< std::string > CopyProgress
Definition rest_client.hpp:1684
Nullable< BlobImmutabilityPolicy > ImmutabilityPolicy
Definition rest_client.hpp:1628
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:1749
Nullable< std::string > IncrementalCopyDestinationSnapshot
Definition rest_client.hpp:1706
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:1732
DateTime CreatedOn
Definition rest_client.hpp:1642
DateTime LastModified
Definition rest_client.hpp:1638
std::vector< ObjectReplicationPolicy > ObjectReplicationSourceProperties
Definition rest_client.hpp:1624
Core::CaseInsensitiveMap Metadata
Definition rest_client.hpp:1646
Nullable< Models::LeaseStatus > LeaseStatus
Definition rest_client.hpp:1718
Nullable< std::string > ObjectReplicationDestinationPolicyId
Definition rest_client.hpp:1651
bool IsServerEncrypted
Definition rest_client.hpp:1744
Nullable< bool > IsAccessTierInferred
Definition rest_client.hpp:1768
Nullable< bool > IsIncrementalCopy
Definition rest_client.hpp:1700
std::int64_t BlobSize
Definition rest_client.hpp:1722
Nullable< Models::ArchiveStatus > ArchiveStatus
Definition rest_client.hpp:1775
Nullable< DateTime > ExpiresOn
Definition rest_client.hpp:1799
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:1755
Nullable< DateTime > LastAccessedOn
Definition rest_client.hpp:1813
Nullable< Models::RehydratePriority > RehydratePriority
Definition rest_client.hpp:1808
Nullable< Models::CopyStatus > CopyStatus
Definition rest_client.hpp:1696
BlobHttpHeaders HttpHeaders
Definition rest_client.hpp:1632
Nullable< std::int32_t > TagCount
Definition rest_client.hpp:1795
Nullable< std::string > VersionId
Definition rest_client.hpp:1786
Groups settings regarding specific field of an arrow schema.
Definition rest_client.hpp:2362
Nullable< std::int32_t > Precision
Definition rest_client.hpp:2374
Nullable< std::int32_t > Scale
Definition rest_client.hpp:2378
Nullable< std::string > Name
Definition rest_client.hpp:2370
BlobQueryArrowFieldType Type
Definition rest_client.hpp:2366
Storage Service Properties.
Definition rest_client.hpp:202
std::vector< CorsRule > Cors
Definition rest_client.hpp:218
Metrics MinuteMetrics
Definition rest_client.hpp:214
Models::StaticWebsite StaticWebsite
Definition rest_client.hpp:232
RetentionPolicy DeleteRetentionPolicy
Definition rest_client.hpp:228
AnalyticsLogging Logging
Definition rest_client.hpp:206
Nullable< std::string > DefaultServiceVersion
Definition rest_client.hpp:224
Metrics HourMetrics
Definition rest_client.hpp:210
Response type for Azure::Storage::Blobs::PageBlobClient::ClearPages.
Definition rest_client.hpp:2584
DateTime LastModified
Definition rest_client.hpp:2595
std::int64_t SequenceNumber
Definition rest_client.hpp:2599
Azure::ETag ETag
Definition rest_client.hpp:2589
Response type for Azure::Storage::Blobs::BlockBlobClient::CommitBlockList.
Definition rest_client.hpp:3110
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3127
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3149
Azure::ETag ETag
Definition rest_client.hpp:3115
bool IsServerEncrypted
Definition rest_client.hpp:3138
Nullable< std::string > VersionId
Definition rest_client.hpp:3133
DateTime LastModified
Definition rest_client.hpp:3121
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3143
Response type for Azure::Storage::Blobs::BlobClient::CopyFromUri.
Definition rest_client.hpp:2189
Models::CopyStatus CopyStatus
Definition rest_client.hpp:2214
DateTime LastModified
Definition rest_client.hpp:2200
Nullable< std::string > VersionId
Definition rest_client.hpp:2206
Azure::ETag ETag
Definition rest_client.hpp:2194
std::string CopyId
Definition rest_client.hpp:2210
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2219
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2225
CORS is an HTTP feature that enables a web application running under one domain to access resources i...
Definition rest_client.hpp:142
std::int32_t MaxAgeInSeconds
Definition rest_client.hpp:168
std::string AllowedOrigins
Definition rest_client.hpp:150
std::string AllowedHeaders
Definition rest_client.hpp:159
std::string AllowedMethods
Definition rest_client.hpp:155
std::string ExposedHeaders
Definition rest_client.hpp:164
Response type for Azure::Storage::Blobs::AppendBlobClient::Create.
Definition rest_client.hpp:2789
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2820
Azure::ETag ETag
Definition rest_client.hpp:2798
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2826
Nullable< std::string > VersionId
Definition rest_client.hpp:2810
bool IsServerEncrypted
Definition rest_client.hpp:2815
bool Created
Definition rest_client.hpp:2793
DateTime LastModified
Definition rest_client.hpp:2804
Response type for Azure::Storage::Blobs::BlobContainerClient::Create.
Definition rest_client.hpp:611
Azure::ETag ETag
Definition rest_client.hpp:620
DateTime LastModified
Definition rest_client.hpp:626
Response type for Azure::Storage::Blobs::BlobClient::CreateSnapshot.
Definition rest_client.hpp:2092
Nullable< std::string > VersionId
Definition rest_client.hpp:2124
Azure::ETag ETag
Definition rest_client.hpp:2112
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2102
DateTime LastModified
Definition rest_client.hpp:2118
std::string Snapshot
Definition rest_client.hpp:2107
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2097
bool IsServerEncrypted
Definition rest_client.hpp:2130
Response type for Azure::Storage::Blobs::PageBlobClient::Create.
Definition rest_client.hpp:2494
bool IsServerEncrypted
Definition rest_client.hpp:2525
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2530
Nullable< std::string > VersionId
Definition rest_client.hpp:2520
bool Created
Definition rest_client.hpp:2498
Azure::ETag ETag
Definition rest_client.hpp:2508
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2536
DateTime LastModified
Definition rest_client.hpp:2514
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:2503
Response type for Azure::Storage::Blobs::BlobContainerClient::Delete.
Definition rest_client.hpp:689
Response type for Azure::Storage::Blobs::BlobClient::DeleteImmutabilityPolicy.
Definition rest_client.hpp:1929
Response type for Azure::Storage::Blobs::BlobClient::Delete.
Definition rest_client.hpp:1841
bool Deleted
Definition rest_client.hpp:1845
Detailed information of the downloaded blob.
Definition rest_client.hpp:1445
bool HasLegalHold
Definition rest_client.hpp:1584
Nullable< std::int32_t > CommittedBlockCount
Definition rest_client.hpp:1485
Nullable< Models::CopyStatus > CopyStatus
Definition rest_client.hpp:1544
Nullable< std::string > VersionId
Definition rest_client.hpp:1572
Nullable< bool > IsSealed
Definition rest_client.hpp:1489
bool IsServerEncrypted
Definition rest_client.hpp:1507
Nullable< bool > IsCurrentVersion
Definition rest_client.hpp:1576
std::vector< ObjectReplicationPolicy > ObjectReplicationSourceProperties
Definition rest_client.hpp:1523
Nullable< std::int32_t > TagCount
Definition rest_client.hpp:1527
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:1493
Nullable< std::string > CopyId
Definition rest_client.hpp:1532
Nullable< BlobImmutabilityPolicy > ImmutabilityPolicy
Definition rest_client.hpp:1580
Nullable< std::string > CopySource
Definition rest_client.hpp:1540
Core::CaseInsensitiveMap Metadata
Definition rest_client.hpp:1477
Nullable< Models::LeaseStatus > LeaseStatus
Definition rest_client.hpp:1501
DateTime CreatedOn
Definition rest_client.hpp:1460
Nullable< std::string > CopyProgress
Definition rest_client.hpp:1560
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:1515
Azure::ETag ETag
Definition rest_client.hpp:1450
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:1481
Nullable< DateTime > ExpiresOn
Definition rest_client.hpp:1464
Nullable< DateTime > CopyCompletedOn
Definition rest_client.hpp:1568
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:1511
Nullable< std::string > CopyStatusDescription
Definition rest_client.hpp:1552
Nullable< std::string > ObjectReplicationDestinationPolicyId
Definition rest_client.hpp:1519
BlobHttpHeaders HttpHeaders
Definition rest_client.hpp:1473
DateTime LastModified
Definition rest_client.hpp:1456
Nullable< Models::LeaseState > LeaseState
Definition rest_client.hpp:1497
Nullable< DateTime > LastAccessedOn
Definition rest_client.hpp:1469
Response type for Azure::Storage::Blobs::BlobClient::Download.
Definition rest_client.hpp:1590
DownloadBlobDetails Details
Definition rest_client.hpp:1594
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:1606
std::int64_t BlobSize
Definition rest_client.hpp:1598
Models::BlobType BlobType
Definition rest_client.hpp:1614
std::unique_ptr< Core::IO::BodyStream > BodyStream
Definition rest_client.hpp:1610
Core::Http::HttpRange ContentRange
Definition rest_client.hpp:1602
Geo-Replication information for the Secondary Storage Service.
Definition rest_client.hpp:256
Nullable< DateTime > LastSyncedOn
Definition rest_client.hpp:266
GeoReplicationStatus Status
Definition rest_client.hpp:260
Response type for Azure::Storage::Blobs::BlockBlobClient::GetBlockList.
Definition rest_client.hpp:3187
std::vector< BlobBlock > CommittedBlocks
Definition rest_client.hpp:3206
Azure::ETag ETag
Definition rest_client.hpp:3192
DateTime LastModified
Definition rest_client.hpp:3198
std::vector< BlobBlock > UncommittedBlocks
Definition rest_client.hpp:3210
std::int64_t BlobSize
Definition rest_client.hpp:3202
A summary of request statistics grouped by API in hour or minute aggregates for blobs.
Definition rest_client.hpp:117
std::string Version
Definition rest_client.hpp:121
bool IsEnabled
Definition rest_client.hpp:125
Nullable< bool > IncludeApis
Definition rest_client.hpp:129
Models::RetentionPolicy RetentionPolicy
Definition rest_client.hpp:133
Contains object replication policy ID and the respective list of Azure::Storage::Blobs::Models::Objec...
Definition rest_client.hpp:1088
std::string PolicyId
Definition rest_client.hpp:1092
std::vector< ObjectReplicationRule > Rules
Definition rest_client.hpp:1096
Contains the object replication rule ID and replication status of a blob.
Definition rest_client.hpp:1072
ObjectReplicationStatus ReplicationStatus
Definition rest_client.hpp:1080
std::string RuleId
Definition rest_client.hpp:1076
Response type for Azure::Storage::Blobs::BlockBlobClient::Query.
Definition rest_client.hpp:2448
bool IsServerEncrypted
Definition rest_client.hpp:2482
DateTime LastModified
Definition rest_client.hpp:2458
Azure::ETag ETag
Definition rest_client.hpp:2463
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:2467
Models::LeaseState LeaseState
Definition rest_client.hpp:2471
std::unique_ptr< Core::IO::BodyStream > BodyStream
Definition rest_client.hpp:2452
Models::LeaseStatus LeaseStatus
Definition rest_client.hpp:2475
Response type for Azure::Storage::Blobs::PageBlobClient::Resize.
Definition rest_client.hpp:2691
Azure::ETag ETag
Definition rest_client.hpp:2696
std::int64_t SequenceNumber
Definition rest_client.hpp:2707
DateTime LastModified
Definition rest_client.hpp:2702
The retention policy which determines how long the associated data should persist.
Definition rest_client.hpp:76
bool IsEnabled
Definition rest_client.hpp:80
Nullable< std::int32_t > Days
Definition rest_client.hpp:85
Response type for Azure::Storage::Blobs::AppendBlobClient::Seal.
Definition rest_client.hpp:2928
bool IsSealed
Definition rest_client.hpp:2943
DateTime LastModified
Definition rest_client.hpp:2939
Azure::ETag ETag
Definition rest_client.hpp:2933
Stats for the storage service.
Definition rest_client.hpp:272
Models::GeoReplication GeoReplication
Definition rest_client.hpp:276
Response type for Azure::Storage::Blobs::BlobClient::SetAccessTier.
Definition rest_client.hpp:2237
Response type for Azure::Storage::Blobs::BlobContainerClient::SetAccessPolicy.
Definition rest_client.hpp:752
Response type for Azure::Storage::Blobs::BlobContainerClient::SetMetadata.
Definition rest_client.hpp:699
Azure::ETag ETag
Definition rest_client.hpp:704
DateTime LastModified
Definition rest_client.hpp:710
Response type for Azure::Storage::Blobs::BlobClient::SetExpiry.
Definition rest_client.hpp:1880
DateTime LastModified
Definition rest_client.hpp:1891
Azure::ETag ETag
Definition rest_client.hpp:1885
Response type for Azure::Storage::Blobs::BlobClient::SetHttpHeaders.
Definition rest_client.hpp:1897
DateTime LastModified
Definition rest_client.hpp:1908
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:1913
Azure::ETag ETag
Definition rest_client.hpp:1902
Response type for Azure::Storage::Blobs::BlobClient::SetImmutabilityPolicy.
Definition rest_client.hpp:1919
BlobImmutabilityPolicy ImmutabilityPolicy
Definition rest_client.hpp:1923
Response type for Azure::Storage::Blobs::BlobClient::SetMetadata.
Definition rest_client.hpp:1945
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:1950
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:1983
DateTime LastModified
Definition rest_client.hpp:1961
Nullable< std::string > VersionId
Definition rest_client.hpp:1967
Azure::ETag ETag
Definition rest_client.hpp:1955
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:1977
bool IsServerEncrypted
Definition rest_client.hpp:1972
Response type for Azure::Storage::Blobs::BlobClient::SetTags.
Definition rest_client.hpp:2488
Response type for Azure::Storage::Blobs::BlobServiceClient::SetProperties.
Definition rest_client.hpp:196
Signed identifier.
Definition rest_client.hpp:716
std::string Permissions
Definition rest_client.hpp:732
Nullable< DateTime > ExpiresOn
Definition rest_client.hpp:728
Nullable< DateTime > StartsOn
Definition rest_client.hpp:724
std::string Id
Definition rest_client.hpp:720
Response type for Azure::Storage::Blobs::BlockBlobClient::StageBlockFromUri.
Definition rest_client.hpp:3065
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3071
bool IsServerEncrypted
Definition rest_client.hpp:3076
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3087
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3081
Response type for Azure::Storage::Blobs::BlockBlobClient::StageBlock.
Definition rest_client.hpp:3037
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3059
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3053
bool IsServerEncrypted
Definition rest_client.hpp:3048
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3043
The properties that enable an account to host a static website.
Definition rest_client.hpp:174
bool IsEnabled
Definition rest_client.hpp:178
Nullable< std::string > DefaultIndexDocumentPath
Definition rest_client.hpp:190
Nullable< std::string > ErrorDocument404Path
Definition rest_client.hpp:186
Nullable< std::string > IndexDocument
Definition rest_client.hpp:182
Blob info from a Filter Blobs API call.
Definition rest_client.hpp:593
std::map< std::string, std::string > Tags
Definition rest_client.hpp:605
std::string BlobName
Definition rest_client.hpp:597
std::string BlobContainerName
Definition rest_client.hpp:601
Response type for Azure::Storage::Blobs::BlobClient::Undelete.
Definition rest_client.hpp:1851
Response type for Azure::Storage::Blobs::PageBlobClient::UpdateSequenceNumber.
Definition rest_client.hpp:2733
Azure::ETag ETag
Definition rest_client.hpp:2738
std::int64_t SequenceNumber
Definition rest_client.hpp:2749
DateTime LastModified
Definition rest_client.hpp:2744
Response type for Azure::Storage::Blobs::BlockBlobClient::UploadFromUri.
Definition rest_client.hpp:2993
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3031
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3025
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3009
Nullable< std::string > VersionId
Definition rest_client.hpp:3015
DateTime LastModified
Definition rest_client.hpp:3004
Azure::ETag ETag
Definition rest_client.hpp:2998
bool IsServerEncrypted
Definition rest_client.hpp:3020
Response type for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition rest_client.hpp:2949
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2987
Azure::ETag ETag
Definition rest_client.hpp:2954
bool IsServerEncrypted
Definition rest_client.hpp:2976
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2965
Nullable< std::string > VersionId
Definition rest_client.hpp:2971
DateTime LastModified
Definition rest_client.hpp:2960
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2981
Response type for Azure::Storage::Blobs::PageBlobClient::UploadPagesFromUri.
Definition rest_client.hpp:2605
std::int64_t SequenceNumber
Definition rest_client.hpp:2625
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2641
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2621
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2635
bool IsServerEncrypted
Definition rest_client.hpp:2630
DateTime LastModified
Definition rest_client.hpp:2616
Azure::ETag ETag
Definition rest_client.hpp:2610
Response type for Azure::Storage::Blobs::PageBlobClient::UploadPages.
Definition rest_client.hpp:2542
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2558
std::int64_t SequenceNumber
Definition rest_client.hpp:2562
bool IsServerEncrypted
Definition rest_client.hpp:2567
Azure::ETag ETag
Definition rest_client.hpp:2547
DateTime LastModified
Definition rest_client.hpp:2553
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2572
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2578
A user delegation key.
Definition rest_client.hpp:511
DateTime SignedExpiresOn
Definition rest_client.hpp:527
std::string SignedService
Definition rest_client.hpp:531
std::string SignedVersion
Definition rest_client.hpp:535
DateTime SignedStartsOn
Definition rest_client.hpp:523
std::string SignedTenantId
Definition rest_client.hpp:519
std::string Value
Definition rest_client.hpp:539
std::string SignedObjectId
Definition rest_client.hpp:515
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SetProperties.
Definition blob_options.hpp:263