azure-storage-blobs
Loading...
Searching...
No Matches
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 = "2026-02-06";
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 : public Core::_internal::ExtendableEnumeration<FileShareTokenIntent> {
2190 public:
2194 explicit FileShareTokenIntent(std::string value) : ExtendableEnumeration(std::move(value)) {}
2195
2197 AZ_STORAGE_BLOBS_DLLEXPORT const static FileShareTokenIntent Backup;
2198 };
2203 {
2208 Azure::ETag ETag;
2220 Nullable<std::string> VersionId;
2224 std::string CopyId;
2233 Nullable<ContentHash> TransactionalContentHash;
2239 Nullable<std::string> EncryptionScope;
2240 };
2245 {
2246 };
2251 {
2252 };
2256 struct AccountInfo final
2257 {
2271 };
2272 namespace _detail {
2276 class QueryRequestQueryType final
2277 : public Core::_internal::ExtendableEnumeration<QueryRequestQueryType> {
2278 public:
2280 QueryRequestQueryType() = default;
2282 explicit QueryRequestQueryType(std::string value) : ExtendableEnumeration(std::move(value))
2283 {
2284 }
2285
2287 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryRequestQueryType SQL;
2288 };
2292 class QueryFormatType final : public Core::_internal::ExtendableEnumeration<QueryFormatType> {
2293 public:
2295 QueryFormatType() = default;
2297 explicit QueryFormatType(std::string value) : ExtendableEnumeration(std::move(value)) {}
2298
2300 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Delimited;
2302 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Json;
2304 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Arrow;
2306 AZ_STORAGE_BLOBS_DLLEXPORT const static QueryFormatType Parquet;
2307 };
2312 struct DelimitedTextConfiguration final
2313 {
2317 std::string ColumnSeparator;
2321 std::string FieldQuote;
2325 std::string RecordSeparator;
2329 std::string EscapeChar;
2333 bool HeadersPresent = bool();
2334 };
2338 struct JsonTextConfiguration final
2339 {
2343 std::string RecordSeparator;
2344 };
2345 } // namespace _detail
2350 : public Core::_internal::ExtendableEnumeration<BlobQueryArrowFieldType> {
2351 public:
2355 explicit BlobQueryArrowFieldType(std::string value) : ExtendableEnumeration(std::move(value))
2356 {
2357 }
2358
2360 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Int64;
2362 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Bool;
2364 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Timestamp;
2366 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType String;
2368 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Double;
2370 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobQueryArrowFieldType Decimal;
2371 };
2376 {
2384 Nullable<std::string> Name;
2388 Nullable<std::int32_t> Precision;
2392 Nullable<std::int32_t> Scale;
2393 };
2394 namespace _detail {
2399 struct ArrowConfiguration final
2400 {
2404 std::vector<BlobQueryArrowField> Schema;
2405 };
2409 struct ParquetConfiguration final
2410 {
2411 };
2412 struct QueryFormat final
2413 {
2417 QueryFormatType Type;
2422 Nullable<_detail::DelimitedTextConfiguration> DelimitedTextConfiguration;
2426 Nullable<_detail::JsonTextConfiguration> JsonTextConfiguration;
2431 Nullable<_detail::ArrowConfiguration> ArrowConfiguration;
2435 Nullable<ParquetConfiguration> ParquetTextConfiguration;
2436 };
2437 struct QuerySerialization final
2438 {
2439 QueryFormat Format;
2440 };
2444 struct QueryRequest final
2445 {
2449 QueryRequestQueryType QueryType;
2453 std::string Expression;
2454 Nullable<QuerySerialization> InputSerialization;
2455 Nullable<QuerySerialization> OutputSerialization;
2456 };
2457 } // namespace _detail
2461 struct QueryBlobResult final
2462 {
2466 std::unique_ptr<Core::IO::BodyStream> BodyStream;
2477 Azure::ETag ETag;
2481 Nullable<LeaseDurationType> LeaseDuration;
2496 bool IsServerEncrypted = bool();
2497 };
2502 {
2503 };
2508 {
2512 bool Created = true;
2517 Nullable<std::int64_t> SequenceNumber;
2522 Azure::ETag ETag;
2534 Nullable<std::string> VersionId;
2539 bool IsServerEncrypted = bool();
2544 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2550 Nullable<std::string> EncryptionScope;
2551 };
2556 {
2561 Azure::ETag ETag;
2572 Nullable<ContentHash> TransactionalContentHash;
2576 std::int64_t SequenceNumber = int64_t();
2581 bool IsServerEncrypted = bool();
2586 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2592 Nullable<std::string> EncryptionScope;
2593 };
2597 struct ClearPagesResult final
2598 {
2603 Azure::ETag ETag;
2613 std::int64_t SequenceNumber = int64_t();
2614 };
2619 {
2624 Azure::ETag ETag;
2635 Nullable<ContentHash> TransactionalContentHash;
2639 std::int64_t SequenceNumber = int64_t();
2644 bool IsServerEncrypted = bool();
2649 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2655 Nullable<std::string> EncryptionScope;
2656 };
2657 namespace _detail {
2661 struct GetPageRangesResult final
2662 {
2663 Azure::ETag ETag;
2664 DateTime LastModified;
2668 std::int64_t BlobSize = std::int64_t();
2672 std::vector<Core::Http::HttpRange> PageRanges;
2676 std::vector<Core::Http::HttpRange> ClearRanges;
2677 std::string ContinuationToken;
2678 };
2682 struct GetPageRangesDiffResult final
2683 {
2684 Azure::ETag ETag;
2685 DateTime LastModified;
2689 std::int64_t BlobSize = std::int64_t();
2693 std::vector<Core::Http::HttpRange> PageRanges;
2697 std::vector<Core::Http::HttpRange> ClearRanges;
2698 std::string ContinuationToken;
2699 };
2700 } // namespace _detail
2705 {
2710 Azure::ETag ETag;
2721 std::int64_t SequenceNumber = std::int64_t();
2722 };
2729 : public Core::_internal::ExtendableEnumeration<SequenceNumberAction> {
2730 public:
2734 explicit SequenceNumberAction(std::string value) : ExtendableEnumeration(std::move(value)) {}
2735
2737 AZ_STORAGE_BLOBS_DLLEXPORT const static SequenceNumberAction Max;
2739 AZ_STORAGE_BLOBS_DLLEXPORT const static SequenceNumberAction Update;
2741 AZ_STORAGE_BLOBS_DLLEXPORT const static SequenceNumberAction Increment;
2742 };
2747 {
2752 Azure::ETag ETag;
2763 std::int64_t SequenceNumber = std::int64_t();
2764 };
2765 namespace _detail {
2769 struct StartBlobCopyIncrementalResult final
2770 {
2775 Azure::ETag ETag;
2781 DateTime LastModified;
2786 std::string CopyId;
2796 Nullable<std::string> VersionId;
2797 };
2798 } // namespace _detail
2803 {
2807 bool Created = true;
2812 Azure::ETag ETag;
2824 Nullable<std::string> VersionId;
2829 bool IsServerEncrypted = bool();
2834 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2840 Nullable<std::string> EncryptionScope;
2841 };
2846 {
2851 Azure::ETag ETag;
2862 Nullable<ContentHash> TransactionalContentHash;
2867 std::int64_t AppendOffset = std::int64_t();
2872 std::int32_t CommittedBlockCount = std::int32_t();
2877 bool IsServerEncrypted = bool();
2882 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2888 Nullable<std::string> EncryptionScope;
2889 };
2894 {
2899 Azure::ETag ETag;
2910 Nullable<ContentHash> TransactionalContentHash;
2915 std::int64_t AppendOffset = std::int64_t();
2920 std::int32_t CommittedBlockCount = std::int32_t();
2925 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
2931 Nullable<std::string> EncryptionScope;
2936 bool IsServerEncrypted = bool();
2937 };
2942 {
2947 Azure::ETag ETag;
2957 bool IsSealed = bool();
2958 };
2963 {
2968 Azure::ETag ETag;
2979 Nullable<ContentHash> TransactionalContentHash;
2985 Nullable<std::string> VersionId;
2990 bool IsServerEncrypted = bool();
2995 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3001 Nullable<std::string> EncryptionScope;
3002 };
3007 {
3012 Azure::ETag ETag;
3023 Nullable<ContentHash> TransactionalContentHash;
3029 Nullable<std::string> VersionId;
3034 bool IsServerEncrypted = bool();
3039 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3045 Nullable<std::string> EncryptionScope;
3046 };
3050 struct StageBlockResult final
3051 {
3057 Nullable<ContentHash> TransactionalContentHash;
3062 bool IsServerEncrypted = bool();
3067 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3073 Nullable<std::string> EncryptionScope;
3074 };
3079 {
3085 Nullable<ContentHash> TransactionalContentHash;
3090 bool IsServerEncrypted = bool();
3095 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3101 Nullable<std::string> EncryptionScope;
3102 };
3103 namespace _detail {
3104 struct BlockLookupList final
3105 {
3109 std::vector<std::string> Committed;
3113 std::vector<std::string> Uncommitted;
3117 std::vector<std::string> Latest;
3118 };
3119 } // namespace _detail
3124 {
3129 Azure::ETag ETag;
3141 Nullable<ContentHash> TransactionalContentHash;
3147 Nullable<std::string> VersionId;
3152 bool IsServerEncrypted = bool();
3157 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3163 Nullable<std::string> EncryptionScope;
3164 };
3168 struct BlobBlock final
3169 {
3173 std::string Name;
3177 std::int64_t Size = std::int64_t();
3178 };
3183 class BlockListType final : public Core::_internal::ExtendableEnumeration<BlockListType> {
3184 public:
3186 BlockListType() = default;
3188 explicit BlockListType(std::string value) : ExtendableEnumeration(std::move(value)) {}
3189
3191 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockListType Committed;
3193 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockListType Uncommitted;
3195 AZ_STORAGE_BLOBS_DLLEXPORT const static BlockListType All;
3196 };
3201 {
3206 Azure::ETag ETag;
3216 std::int64_t BlobSize = 0;
3220 std::vector<BlobBlock> CommittedBlocks;
3224 std::vector<BlobBlock> UncommittedBlocks;
3225 };
3226 } // namespace Models
3227 namespace _detail {
3228 class ServiceClient final {
3229 public:
3230 struct SetServicePropertiesOptions final
3231 {
3232 Models::BlobServiceProperties BlobServiceProperties;
3233 };
3234 static Response<Models::SetServicePropertiesResult> SetProperties(
3235 Core::Http::_internal::HttpPipeline& pipeline,
3236 const Core::Url& url,
3237 const SetServicePropertiesOptions& options,
3238 const Core::Context& context);
3239 struct GetServicePropertiesOptions final
3240 {
3241 };
3242 static Response<Models::BlobServiceProperties> GetProperties(
3243 Core::Http::_internal::HttpPipeline& pipeline,
3244 const Core::Url& url,
3245 const GetServicePropertiesOptions& options,
3246 const Core::Context& context);
3247 struct GetServiceStatisticsOptions final
3248 {
3249 };
3250 static Response<Models::ServiceStatistics> GetStatistics(
3251 Core::Http::_internal::HttpPipeline& pipeline,
3252 const Core::Url& url,
3253 const GetServiceStatisticsOptions& options,
3254 const Core::Context& context);
3255 struct ListServiceBlobContainersOptions final
3256 {
3257 Nullable<std::string> Prefix;
3258 Nullable<std::string> Marker;
3259 Nullable<std::int32_t> MaxResults;
3260 Nullable<Models::ListBlobContainersIncludeFlags> Include;
3261 };
3262 static Response<Models::_detail::ListBlobContainersResult> ListBlobContainers(
3263 Core::Http::_internal::HttpPipeline& pipeline,
3264 const Core::Url& url,
3265 const ListServiceBlobContainersOptions& options,
3266 const Core::Context& context);
3267 struct GetServiceUserDelegationKeyOptions final
3268 {
3269 Models::_detail::KeyInfo KeyInfo;
3270 };
3271 static Response<Models::UserDelegationKey> GetUserDelegationKey(
3272 Core::Http::_internal::HttpPipeline& pipeline,
3273 const Core::Url& url,
3274 const GetServiceUserDelegationKeyOptions& options,
3275 const Core::Context& context);
3276 struct GetServiceAccountInfoOptions final
3277 {
3278 };
3279 static Response<Models::AccountInfo> GetAccountInfo(
3280 Core::Http::_internal::HttpPipeline& pipeline,
3281 const Core::Url& url,
3282 const GetServiceAccountInfoOptions& options,
3283 const Core::Context& context);
3284 struct SubmitServiceBatchOptions final
3285 {
3286 std::string MultipartContentType;
3287 };
3288 static Response<Models::_detail::SubmitBatchResult> SubmitBatch(
3289 Core::Http::_internal::HttpPipeline& pipeline,
3290 const Core::Url& url,
3291 Core::IO::BodyStream& requestBody,
3292 const SubmitServiceBatchOptions& options,
3293 const Core::Context& context);
3294 struct FindServiceBlobsByTagsOptions final
3295 {
3296 Nullable<std::string> Where;
3297 Nullable<std::string> Marker;
3298 Nullable<std::int32_t> MaxResults;
3299 };
3300 static Response<Models::_detail::FindBlobsByTagsResult> FindBlobsByTags(
3301 Core::Http::_internal::HttpPipeline& pipeline,
3302 const Core::Url& url,
3303 const FindServiceBlobsByTagsOptions& options,
3304 const Core::Context& context);
3305 };
3306 class BlobContainerClient final {
3307 public:
3308 struct CreateBlobContainerOptions final
3309 {
3310 std::map<std::string, std::string> Metadata;
3311 Models::PublicAccessType Access;
3312 Nullable<std::string> DefaultEncryptionScope;
3313 Nullable<bool> PreventEncryptionScopeOverride;
3314 };
3315 static Response<Models::CreateBlobContainerResult> Create(
3316 Core::Http::_internal::HttpPipeline& pipeline,
3317 const Core::Url& url,
3318 const CreateBlobContainerOptions& options,
3319 const Core::Context& context);
3320 struct GetBlobContainerPropertiesOptions final
3321 {
3322 Nullable<std::string> LeaseId;
3323 };
3324 static Response<Models::BlobContainerProperties> GetProperties(
3325 Core::Http::_internal::HttpPipeline& pipeline,
3326 const Core::Url& url,
3327 const GetBlobContainerPropertiesOptions& options,
3328 const Core::Context& context);
3329 struct DeleteBlobContainerOptions final
3330 {
3331 Nullable<std::string> LeaseId;
3332 Nullable<DateTime> IfModifiedSince;
3333 Nullable<DateTime> IfUnmodifiedSince;
3334 };
3335 static Response<Models::DeleteBlobContainerResult> Delete(
3336 Core::Http::_internal::HttpPipeline& pipeline,
3337 const Core::Url& url,
3338 const DeleteBlobContainerOptions& options,
3339 const Core::Context& context);
3340 struct SetBlobContainerMetadataOptions final
3341 {
3342 Nullable<std::string> LeaseId;
3343 std::map<std::string, std::string> Metadata;
3344 Nullable<DateTime> IfModifiedSince;
3345 };
3346 static Response<Models::SetBlobContainerMetadataResult> SetMetadata(
3347 Core::Http::_internal::HttpPipeline& pipeline,
3348 const Core::Url& url,
3349 const SetBlobContainerMetadataOptions& options,
3350 const Core::Context& context);
3351 struct GetBlobContainerAccessPolicyOptions final
3352 {
3353 Nullable<std::string> LeaseId;
3354 };
3355 static Response<Models::BlobContainerAccessPolicy> GetAccessPolicy(
3356 Core::Http::_internal::HttpPipeline& pipeline,
3357 const Core::Url& url,
3358 const GetBlobContainerAccessPolicyOptions& options,
3359 const Core::Context& context);
3360 struct SetBlobContainerAccessPolicyOptions final
3361 {
3362 std::vector<Models::SignedIdentifier> ContainerAcl;
3363 Nullable<std::string> LeaseId;
3364 Models::PublicAccessType Access;
3365 Nullable<DateTime> IfModifiedSince;
3366 Nullable<DateTime> IfUnmodifiedSince;
3367 };
3368 static Response<Models::SetBlobContainerAccessPolicyResult> SetAccessPolicy(
3369 Core::Http::_internal::HttpPipeline& pipeline,
3370 const Core::Url& url,
3371 const SetBlobContainerAccessPolicyOptions& options,
3372 const Core::Context& context);
3373 struct UndeleteBlobContainerOptions final
3374 {
3375 Nullable<std::string> DeletedContainerName;
3376 Nullable<std::string> DeletedContainerVersion;
3377 };
3378 static Response<Models::_detail::UndeleteBlobContainerResult> Undelete(
3379 Core::Http::_internal::HttpPipeline& pipeline,
3380 const Core::Url& url,
3381 const UndeleteBlobContainerOptions& options,
3382 const Core::Context& context);
3383 struct RenameBlobContainerOptions final
3384 {
3385 std::string SourceContainerName;
3386 Nullable<std::string> SourceLeaseId;
3387 };
3388 static Response<Models::_detail::RenameBlobContainerResult> Rename(
3389 Core::Http::_internal::HttpPipeline& pipeline,
3390 const Core::Url& url,
3391 const RenameBlobContainerOptions& options,
3392 const Core::Context& context);
3393 struct SubmitBlobContainerBatchOptions final
3394 {
3395 std::string MultipartContentType;
3396 };
3397 static Response<Models::_detail::SubmitBatchResult> SubmitBatch(
3398 Core::Http::_internal::HttpPipeline& pipeline,
3399 const Core::Url& url,
3400 Core::IO::BodyStream& requestBody,
3401 const SubmitBlobContainerBatchOptions& options,
3402 const Core::Context& context);
3403 struct FindBlobContainerBlobsByTagsOptions final
3404 {
3405 Nullable<std::string> Where;
3406 Nullable<std::string> Marker;
3407 Nullable<std::int32_t> MaxResults;
3408 };
3409 static Response<Models::_detail::FindBlobsByTagsResult> FindBlobsByTags(
3410 Core::Http::_internal::HttpPipeline& pipeline,
3411 const Core::Url& url,
3412 const FindBlobContainerBlobsByTagsOptions& options,
3413 const Core::Context& context);
3414 struct AcquireBlobContainerLeaseOptions final
3415 {
3416 Nullable<std::int32_t> Duration;
3417 Nullable<std::string> ProposedLeaseId;
3418 Nullable<DateTime> IfModifiedSince;
3419 Nullable<DateTime> IfUnmodifiedSince;
3420 };
3421 static Response<Models::_detail::AcquireBlobContainerLeaseResult> AcquireLease(
3422 Core::Http::_internal::HttpPipeline& pipeline,
3423 const Core::Url& url,
3424 const AcquireBlobContainerLeaseOptions& options,
3425 const Core::Context& context);
3426 struct ReleaseBlobContainerLeaseOptions final
3427 {
3428 std::string LeaseId;
3429 Nullable<DateTime> IfModifiedSince;
3430 Nullable<DateTime> IfUnmodifiedSince;
3431 };
3432 static Response<Models::_detail::ReleaseBlobContainerLeaseResult> ReleaseLease(
3433 Core::Http::_internal::HttpPipeline& pipeline,
3434 const Core::Url& url,
3435 const ReleaseBlobContainerLeaseOptions& options,
3436 const Core::Context& context);
3437 struct RenewBlobContainerLeaseOptions final
3438 {
3439 std::string LeaseId;
3440 Nullable<DateTime> IfModifiedSince;
3441 Nullable<DateTime> IfUnmodifiedSince;
3442 };
3443 static Response<Models::_detail::RenewBlobContainerLeaseResult> RenewLease(
3444 Core::Http::_internal::HttpPipeline& pipeline,
3445 const Core::Url& url,
3446 const RenewBlobContainerLeaseOptions& options,
3447 const Core::Context& context);
3448 struct BreakBlobContainerLeaseOptions final
3449 {
3450 Nullable<std::int32_t> BreakPeriod;
3451 Nullable<DateTime> IfModifiedSince;
3452 Nullable<DateTime> IfUnmodifiedSince;
3453 };
3454 static Response<Models::_detail::BreakBlobContainerLeaseResult> BreakLease(
3455 Core::Http::_internal::HttpPipeline& pipeline,
3456 const Core::Url& url,
3457 const BreakBlobContainerLeaseOptions& options,
3458 const Core::Context& context);
3459 struct ChangeBlobContainerLeaseOptions final
3460 {
3461 std::string LeaseId;
3462 std::string ProposedLeaseId;
3463 Nullable<DateTime> IfModifiedSince;
3464 Nullable<DateTime> IfUnmodifiedSince;
3465 };
3466 static Response<Models::_detail::ChangeBlobContainerLeaseResult> ChangeLease(
3467 Core::Http::_internal::HttpPipeline& pipeline,
3468 const Core::Url& url,
3469 const ChangeBlobContainerLeaseOptions& options,
3470 const Core::Context& context);
3471 struct ListBlobContainerBlobsOptions final
3472 {
3473 Nullable<std::string> Prefix;
3474 Nullable<std::string> Marker;
3475 Nullable<std::int32_t> MaxResults;
3476 Nullable<Models::ListBlobsIncludeFlags> Include;
3477 Nullable<std::string> StartFrom;
3478 };
3479 static Response<Models::_detail::ListBlobsResult> ListBlobs(
3480 Core::Http::_internal::HttpPipeline& pipeline,
3481 const Core::Url& url,
3482 const ListBlobContainerBlobsOptions& options,
3483 const Core::Context& context);
3484 struct ListBlobContainerBlobsByHierarchyOptions final
3485 {
3486 Nullable<std::string> Prefix;
3487 std::string Delimiter;
3488 Nullable<std::string> Marker;
3489 Nullable<std::int32_t> MaxResults;
3490 Nullable<Models::ListBlobsIncludeFlags> Include;
3491 Nullable<std::string> StartFrom;
3492 Nullable<std::string> ShowOnly;
3493 };
3494 static Response<Models::_detail::ListBlobsByHierarchyResult> ListBlobsByHierarchy(
3495 Core::Http::_internal::HttpPipeline& pipeline,
3496 const Core::Url& url,
3497 const ListBlobContainerBlobsByHierarchyOptions& options,
3498 const Core::Context& context);
3499 struct GetBlobContainerAccountInfoOptions final
3500 {
3501 };
3502 static Response<Models::AccountInfo> GetAccountInfo(
3503 Core::Http::_internal::HttpPipeline& pipeline,
3504 const Core::Url& url,
3505 const GetBlobContainerAccountInfoOptions& options,
3506 const Core::Context& context);
3507 };
3508 class BlobClient final {
3509 public:
3510 struct DownloadBlobOptions final
3511 {
3512 Nullable<std::string> Snapshot;
3513 Nullable<std::string> VersionId;
3514 Nullable<std::string> Range;
3515 Nullable<std::string> LeaseId;
3516 Nullable<bool> RangeGetContentMD5;
3517 Nullable<bool> RangeGetContentCRC64;
3518 Nullable<std::string> EncryptionKey;
3519 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3520 Nullable<std::string> EncryptionAlgorithm;
3521 Nullable<DateTime> IfModifiedSince;
3522 Nullable<DateTime> IfUnmodifiedSince;
3523 ETag IfMatch;
3524 ETag IfNoneMatch;
3525 Nullable<std::string> IfTags;
3526 Nullable<bool> UserPrincipalName;
3527 };
3528 static Response<Models::DownloadBlobResult> Download(
3529 Core::Http::_internal::HttpPipeline& pipeline,
3530 const Core::Url& url,
3531 const DownloadBlobOptions& options,
3532 const Core::Context& context);
3533 struct GetBlobPropertiesOptions final
3534 {
3535 Nullable<std::string> Snapshot;
3536 Nullable<std::string> VersionId;
3537 Nullable<std::string> LeaseId;
3538 Nullable<std::string> EncryptionKey;
3539 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3540 Nullable<std::string> EncryptionAlgorithm;
3541 Nullable<DateTime> IfModifiedSince;
3542 Nullable<DateTime> IfUnmodifiedSince;
3543 ETag IfMatch;
3544 ETag IfNoneMatch;
3545 Nullable<std::string> IfTags;
3546 Nullable<bool> UserPrincipalName;
3547 };
3548 static Response<Models::BlobProperties> GetProperties(
3549 Core::Http::_internal::HttpPipeline& pipeline,
3550 const Core::Url& url,
3551 const GetBlobPropertiesOptions& options,
3552 const Core::Context& context);
3553 struct DeleteBlobOptions final
3554 {
3555 Nullable<std::string> Snapshot;
3556 Nullable<std::string> VersionId;
3557 Nullable<std::string> LeaseId;
3558 Nullable<Models::DeleteSnapshotsOption> DeleteSnapshots;
3559 Nullable<DateTime> IfModifiedSince;
3560 Nullable<DateTime> IfUnmodifiedSince;
3561 ETag IfMatch;
3562 ETag IfNoneMatch;
3563 Nullable<std::string> IfTags;
3564 };
3565 static Response<Models::DeleteBlobResult> Delete(
3566 Core::Http::_internal::HttpPipeline& pipeline,
3567 const Core::Url& url,
3568 const DeleteBlobOptions& options,
3569 const Core::Context& context);
3570 struct UndeleteBlobOptions final
3571 {
3572 };
3573 static Response<Models::UndeleteBlobResult> Undelete(
3574 Core::Http::_internal::HttpPipeline& pipeline,
3575 const Core::Url& url,
3576 const UndeleteBlobOptions& options,
3577 const Core::Context& context);
3578 struct SetBlobExpiryOptions final
3579 {
3580 Models::ScheduleBlobExpiryOriginType ExpiryOptions;
3581 Nullable<std::string> ExpiresOn;
3582 };
3583 static Response<Models::SetBlobExpiryResult> SetExpiry(
3584 Core::Http::_internal::HttpPipeline& pipeline,
3585 const Core::Url& url,
3586 const SetBlobExpiryOptions& options,
3587 const Core::Context& context);
3588 struct SetBlobHttpHeadersOptions final
3589 {
3590 std::string BlobCacheControl;
3591 std::string BlobContentType;
3592 std::vector<std::uint8_t> BlobContentMD5;
3593 std::string BlobContentEncoding;
3594 std::string BlobContentLanguage;
3595 Nullable<std::string> LeaseId;
3596 Nullable<DateTime> IfModifiedSince;
3597 Nullable<DateTime> IfUnmodifiedSince;
3598 ETag IfMatch;
3599 ETag IfNoneMatch;
3600 Nullable<std::string> IfTags;
3601 std::string BlobContentDisposition;
3602 };
3603 static Response<Models::SetBlobHttpHeadersResult> SetHttpHeaders(
3604 Core::Http::_internal::HttpPipeline& pipeline,
3605 const Core::Url& url,
3606 const SetBlobHttpHeadersOptions& options,
3607 const Core::Context& context);
3608 struct SetBlobImmutabilityPolicyOptions final
3609 {
3610 Nullable<DateTime> IfUnmodifiedSince;
3611 Nullable<DateTime> ImmutabilityPolicyExpiry;
3612 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3613 };
3614 static Response<Models::SetBlobImmutabilityPolicyResult> SetImmutabilityPolicy(
3615 Core::Http::_internal::HttpPipeline& pipeline,
3616 const Core::Url& url,
3617 const SetBlobImmutabilityPolicyOptions& options,
3618 const Core::Context& context);
3619 struct DeleteBlobImmutabilityPolicyOptions final
3620 {
3621 };
3622 static Response<Models::DeleteBlobImmutabilityPolicyResult> DeleteImmutabilityPolicy(
3623 Core::Http::_internal::HttpPipeline& pipeline,
3624 const Core::Url& url,
3625 const DeleteBlobImmutabilityPolicyOptions& options,
3626 const Core::Context& context);
3627 struct SetBlobLegalHoldOptions final
3628 {
3629 bool LegalHold = bool();
3630 };
3631 static Response<Models::SetBlobLegalHoldResult> SetLegalHold(
3632 Core::Http::_internal::HttpPipeline& pipeline,
3633 const Core::Url& url,
3634 const SetBlobLegalHoldOptions& options,
3635 const Core::Context& context);
3636 struct SetBlobMetadataOptions final
3637 {
3638 std::map<std::string, std::string> Metadata;
3639 Nullable<std::string> LeaseId;
3640 Nullable<std::string> EncryptionKey;
3641 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3642 Nullable<std::string> EncryptionAlgorithm;
3643 Nullable<std::string> EncryptionScope;
3644 Nullable<DateTime> IfModifiedSince;
3645 Nullable<DateTime> IfUnmodifiedSince;
3646 ETag IfMatch;
3647 ETag IfNoneMatch;
3648 Nullable<std::string> IfTags;
3649 };
3650 static Response<Models::SetBlobMetadataResult> SetMetadata(
3651 Core::Http::_internal::HttpPipeline& pipeline,
3652 const Core::Url& url,
3653 const SetBlobMetadataOptions& options,
3654 const Core::Context& context);
3655 struct AcquireBlobLeaseOptions final
3656 {
3657 Nullable<std::int32_t> Duration;
3658 Nullable<std::string> ProposedLeaseId;
3659 Nullable<DateTime> IfModifiedSince;
3660 Nullable<DateTime> IfUnmodifiedSince;
3661 ETag IfMatch;
3662 ETag IfNoneMatch;
3663 Nullable<std::string> IfTags;
3664 };
3665 static Response<Models::_detail::AcquireBlobLeaseResult> AcquireLease(
3666 Core::Http::_internal::HttpPipeline& pipeline,
3667 const Core::Url& url,
3668 const AcquireBlobLeaseOptions& options,
3669 const Core::Context& context);
3670 struct ReleaseBlobLeaseOptions final
3671 {
3672 std::string LeaseId;
3673 Nullable<DateTime> IfModifiedSince;
3674 Nullable<DateTime> IfUnmodifiedSince;
3675 ETag IfMatch;
3676 ETag IfNoneMatch;
3677 Nullable<std::string> IfTags;
3678 };
3679 static Response<Models::_detail::ReleaseBlobLeaseResult> ReleaseLease(
3680 Core::Http::_internal::HttpPipeline& pipeline,
3681 const Core::Url& url,
3682 const ReleaseBlobLeaseOptions& options,
3683 const Core::Context& context);
3684 struct RenewBlobLeaseOptions final
3685 {
3686 std::string LeaseId;
3687 Nullable<DateTime> IfModifiedSince;
3688 Nullable<DateTime> IfUnmodifiedSince;
3689 ETag IfMatch;
3690 ETag IfNoneMatch;
3691 Nullable<std::string> IfTags;
3692 };
3693 static Response<Models::_detail::RenewBlobLeaseResult> RenewLease(
3694 Core::Http::_internal::HttpPipeline& pipeline,
3695 const Core::Url& url,
3696 const RenewBlobLeaseOptions& options,
3697 const Core::Context& context);
3698 struct ChangeBlobLeaseOptions final
3699 {
3700 std::string LeaseId;
3701 std::string ProposedLeaseId;
3702 Nullable<DateTime> IfModifiedSince;
3703 Nullable<DateTime> IfUnmodifiedSince;
3704 ETag IfMatch;
3705 ETag IfNoneMatch;
3706 Nullable<std::string> IfTags;
3707 };
3708 static Response<Models::_detail::ChangeBlobLeaseResult> ChangeLease(
3709 Core::Http::_internal::HttpPipeline& pipeline,
3710 const Core::Url& url,
3711 const ChangeBlobLeaseOptions& options,
3712 const Core::Context& context);
3713 struct BreakBlobLeaseOptions final
3714 {
3715 Nullable<std::int32_t> BreakPeriod;
3716 Nullable<DateTime> IfModifiedSince;
3717 Nullable<DateTime> IfUnmodifiedSince;
3718 ETag IfMatch;
3719 ETag IfNoneMatch;
3720 Nullable<std::string> IfTags;
3721 };
3722 static Response<Models::_detail::BreakBlobLeaseResult> BreakLease(
3723 Core::Http::_internal::HttpPipeline& pipeline,
3724 const Core::Url& url,
3725 const BreakBlobLeaseOptions& options,
3726 const Core::Context& context);
3727 struct CreateBlobSnapshotOptions final
3728 {
3729 std::map<std::string, std::string> Metadata;
3730 Nullable<std::string> EncryptionKey;
3731 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3732 Nullable<std::string> EncryptionAlgorithm;
3733 Nullable<std::string> EncryptionScope;
3734 Nullable<DateTime> IfModifiedSince;
3735 Nullable<DateTime> IfUnmodifiedSince;
3736 ETag IfMatch;
3737 ETag IfNoneMatch;
3738 Nullable<std::string> IfTags;
3739 Nullable<std::string> LeaseId;
3740 };
3741 static Response<Models::CreateBlobSnapshotResult> CreateSnapshot(
3742 Core::Http::_internal::HttpPipeline& pipeline,
3743 const Core::Url& url,
3744 const CreateBlobSnapshotOptions& options,
3745 const Core::Context& context);
3746 struct StartBlobCopyFromUriOptions final
3747 {
3748 Nullable<std::string> SourceLeaseId;
3749 std::map<std::string, std::string> Metadata;
3750 Nullable<Models::AccessTier> Tier;
3751 Nullable<Models::RehydratePriority> RehydratePriority;
3752 Nullable<DateTime> SourceIfModifiedSince;
3753 Nullable<DateTime> SourceIfUnmodifiedSince;
3754 ETag SourceIfMatch;
3755 ETag SourceIfNoneMatch;
3756 Nullable<std::string> SourceIfTags;
3757 Nullable<DateTime> IfModifiedSince;
3758 Nullable<DateTime> IfUnmodifiedSince;
3759 ETag IfMatch;
3760 ETag IfNoneMatch;
3761 Nullable<std::string> IfTags;
3762 std::string CopySource;
3763 Nullable<std::string> LeaseId;
3764 Nullable<std::string> BlobTagsString;
3765 Nullable<bool> SealBlob;
3766 Nullable<DateTime> ImmutabilityPolicyExpiry;
3767 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3768 Nullable<bool> LegalHold;
3769 };
3770 static Response<Models::_detail::StartBlobCopyFromUriResult> StartCopyFromUri(
3771 Core::Http::_internal::HttpPipeline& pipeline,
3772 const Core::Url& url,
3773 const StartBlobCopyFromUriOptions& options,
3774 const Core::Context& context);
3775 struct CopyBlobFromUriOptions final
3776 {
3777 std::map<std::string, std::string> Metadata;
3778 Nullable<Models::AccessTier> Tier;
3779 Nullable<DateTime> SourceIfModifiedSince;
3780 Nullable<DateTime> SourceIfUnmodifiedSince;
3781 ETag SourceIfMatch;
3782 ETag SourceIfNoneMatch;
3783 Nullable<DateTime> IfModifiedSince;
3784 Nullable<DateTime> IfUnmodifiedSince;
3785 ETag IfMatch;
3786 ETag IfNoneMatch;
3787 Nullable<std::string> IfTags;
3788 std::string CopySource;
3789 Nullable<std::string> LeaseId;
3790 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
3791 Nullable<std::string> BlobTagsString;
3792 Nullable<DateTime> ImmutabilityPolicyExpiry;
3793 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3794 Nullable<bool> LegalHold;
3795 Nullable<std::string> CopySourceAuthorization;
3796 Nullable<std::string> EncryptionScope;
3797 Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
3798 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
3799 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
3800 };
3801 static Response<Models::CopyBlobFromUriResult> CopyFromUri(
3802 Core::Http::_internal::HttpPipeline& pipeline,
3803 const Core::Url& url,
3804 const CopyBlobFromUriOptions& options,
3805 const Core::Context& context);
3806 struct AbortBlobCopyFromUriOptions final
3807 {
3808 std::string CopyId;
3809 Nullable<std::string> LeaseId;
3810 };
3811 static Response<Models::AbortBlobCopyFromUriResult> AbortCopyFromUri(
3812 Core::Http::_internal::HttpPipeline& pipeline,
3813 const Core::Url& url,
3814 const AbortBlobCopyFromUriOptions& options,
3815 const Core::Context& context);
3816 struct SetBlobTierOptions final
3817 {
3818 Nullable<std::string> Snapshot;
3819 Nullable<std::string> VersionId;
3820 Models::AccessTier Tier;
3821 Nullable<Models::RehydratePriority> RehydratePriority;
3822 Nullable<std::string> LeaseId;
3823 Nullable<std::string> IfTags;
3824 };
3825 static Response<Models::SetBlobAccessTierResult> SetTier(
3826 Core::Http::_internal::HttpPipeline& pipeline,
3827 const Core::Url& url,
3828 const SetBlobTierOptions& options,
3829 const Core::Context& context);
3830 struct GetBlobAccountInfoOptions final
3831 {
3832 };
3833 static Response<Models::AccountInfo> GetAccountInfo(
3834 Core::Http::_internal::HttpPipeline& pipeline,
3835 const Core::Url& url,
3836 const GetBlobAccountInfoOptions& options,
3837 const Core::Context& context);
3838 struct QueryBlobOptions final
3839 {
3840 Models::_detail::QueryRequest QueryRequest;
3841 Nullable<std::string> Snapshot;
3842 Nullable<std::string> LeaseId;
3843 Nullable<std::string> EncryptionKey;
3844 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3845 Nullable<std::string> EncryptionAlgorithm;
3846 Nullable<DateTime> IfModifiedSince;
3847 Nullable<DateTime> IfUnmodifiedSince;
3848 ETag IfMatch;
3849 ETag IfNoneMatch;
3850 Nullable<std::string> IfTags;
3851 Nullable<std::string> EncryptionScope;
3852 };
3853 static Response<Models::QueryBlobResult> Query(
3854 Core::Http::_internal::HttpPipeline& pipeline,
3855 const Core::Url& url,
3856 const QueryBlobOptions& options,
3857 const Core::Context& context);
3858 struct GetBlobTagsOptions final
3859 {
3860 Nullable<std::string> Snapshot;
3861 Nullable<std::string> VersionId;
3862 Nullable<std::string> IfTags;
3863 Nullable<std::string> LeaseId;
3864 Nullable<DateTime> IfModifiedSince;
3865 Nullable<DateTime> IfUnmodifiedSince;
3866 ETag IfMatch;
3867 ETag IfNoneMatch;
3868 };
3869 static Response<std::map<std::string, std::string>> GetTags(
3870 Core::Http::_internal::HttpPipeline& pipeline,
3871 const Core::Url& url,
3872 const GetBlobTagsOptions& options,
3873 const Core::Context& context);
3874 struct SetBlobTagsOptions final
3875 {
3876 std::map<std::string, std::string> Tags;
3877 Nullable<std::string> VersionId;
3878 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
3879 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
3880 Nullable<std::string> IfTags;
3881 Nullable<std::string> LeaseId;
3882 Nullable<DateTime> IfModifiedSince;
3883 Nullable<DateTime> IfUnmodifiedSince;
3884 ETag IfMatch;
3885 ETag IfNoneMatch;
3886 };
3887 static Response<Models::SetBlobTagsResult> SetTags(
3888 Core::Http::_internal::HttpPipeline& pipeline,
3889 const Core::Url& url,
3890 const SetBlobTagsOptions& options,
3891 const Core::Context& context);
3892 };
3893 class PageBlobClient final {
3894 public:
3895 struct CreatePageBlobOptions final
3896 {
3897 Nullable<Models::AccessTier> Tier;
3898 std::string BlobContentType;
3899 std::string BlobContentEncoding;
3900 std::string BlobContentLanguage;
3901 std::vector<std::uint8_t> BlobContentMD5;
3902 std::string BlobCacheControl;
3903 std::map<std::string, std::string> Metadata;
3904 Nullable<std::string> LeaseId;
3905 std::string BlobContentDisposition;
3906 Nullable<std::string> EncryptionKey;
3907 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3908 Nullable<std::string> EncryptionAlgorithm;
3909 Nullable<std::string> EncryptionScope;
3910 Nullable<DateTime> IfModifiedSince;
3911 Nullable<DateTime> IfUnmodifiedSince;
3912 ETag IfMatch;
3913 ETag IfNoneMatch;
3914 Nullable<std::string> IfTags;
3915 std::int64_t BlobContentLength = std::int64_t();
3916 Nullable<std::int64_t> BlobSequenceNumber;
3917 Nullable<std::string> BlobTagsString;
3918 Nullable<DateTime> ImmutabilityPolicyExpiry;
3919 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3920 Nullable<bool> LegalHold;
3921 };
3922 static Response<Models::CreatePageBlobResult> Create(
3923 Core::Http::_internal::HttpPipeline& pipeline,
3924 const Core::Url& url,
3925 const CreatePageBlobOptions& options,
3926 const Core::Context& context);
3927 struct UploadPageBlobPagesOptions final
3928 {
3929 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
3930 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
3931 Nullable<std::string> Range;
3932 Nullable<std::string> LeaseId;
3933 Nullable<std::string> EncryptionKey;
3934 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3935 Nullable<std::string> EncryptionAlgorithm;
3936 Nullable<std::string> EncryptionScope;
3937 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3938 Nullable<std::int64_t> IfSequenceNumberLessThan;
3939 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3940 Nullable<DateTime> IfModifiedSince;
3941 Nullable<DateTime> IfUnmodifiedSince;
3942 ETag IfMatch;
3943 ETag IfNoneMatch;
3944 Nullable<std::string> IfTags;
3945 };
3946 static Response<Models::UploadPagesResult> UploadPages(
3947 Core::Http::_internal::HttpPipeline& pipeline,
3948 const Core::Url& url,
3949 Core::IO::BodyStream& requestBody,
3950 const UploadPageBlobPagesOptions& options,
3951 const Core::Context& context);
3952 struct ClearPageBlobPagesOptions final
3953 {
3954 Nullable<std::string> Range;
3955 Nullable<std::string> LeaseId;
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::int64_t> IfSequenceNumberLessThanOrEqualTo;
3961 Nullable<std::int64_t> IfSequenceNumberLessThan;
3962 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3963 Nullable<DateTime> IfModifiedSince;
3964 Nullable<DateTime> IfUnmodifiedSince;
3965 ETag IfMatch;
3966 ETag IfNoneMatch;
3967 Nullable<std::string> IfTags;
3968 };
3969 static Response<Models::ClearPagesResult> ClearPages(
3970 Core::Http::_internal::HttpPipeline& pipeline,
3971 const Core::Url& url,
3972 const ClearPageBlobPagesOptions& options,
3973 const Core::Context& context);
3974 struct UploadPageBlobPagesFromUriOptions final
3975 {
3976 std::string SourceUrl;
3977 std::string SourceRange;
3978 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
3979 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
3980 std::string Range;
3981 Nullable<std::string> EncryptionKey;
3982 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3983 Nullable<std::string> EncryptionAlgorithm;
3984 Nullable<std::string> EncryptionScope;
3985 Nullable<std::string> LeaseId;
3986 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3987 Nullable<std::int64_t> IfSequenceNumberLessThan;
3988 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3989 Nullable<DateTime> IfModifiedSince;
3990 Nullable<DateTime> IfUnmodifiedSince;
3991 ETag IfMatch;
3992 ETag IfNoneMatch;
3993 Nullable<std::string> IfTags;
3994 Nullable<DateTime> SourceIfModifiedSince;
3995 Nullable<DateTime> SourceIfUnmodifiedSince;
3996 ETag SourceIfMatch;
3997 ETag SourceIfNoneMatch;
3998 Nullable<std::string> CopySourceAuthorization;
3999 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4000 };
4001 static Response<Models::UploadPagesFromUriResult> UploadPagesFromUri(
4002 Core::Http::_internal::HttpPipeline& pipeline,
4003 const Core::Url& url,
4004 const UploadPageBlobPagesFromUriOptions& options,
4005 const Core::Context& context);
4006 struct GetPageBlobPageRangesOptions final
4007 {
4008 Nullable<std::string> Snapshot;
4009 Nullable<std::string> Range;
4010 Nullable<std::string> LeaseId;
4011 Nullable<DateTime> IfModifiedSince;
4012 Nullable<DateTime> IfUnmodifiedSince;
4013 ETag IfMatch;
4014 ETag IfNoneMatch;
4015 Nullable<std::string> IfTags;
4016 Nullable<std::string> Marker;
4017 Nullable<std::int32_t> MaxResults;
4018 };
4019 static Response<Models::_detail::GetPageRangesResult> GetPageRanges(
4020 Core::Http::_internal::HttpPipeline& pipeline,
4021 const Core::Url& url,
4022 const GetPageBlobPageRangesOptions& options,
4023 const Core::Context& context);
4024 struct GetPageBlobPageRangesDiffOptions final
4025 {
4026 Nullable<std::string> Snapshot;
4027 Nullable<std::string> Prevsnapshot;
4028 Nullable<std::string> PrevSnapshotUrl;
4029 Nullable<std::string> Range;
4030 Nullable<std::string> LeaseId;
4031 Nullable<DateTime> IfModifiedSince;
4032 Nullable<DateTime> IfUnmodifiedSince;
4033 ETag IfMatch;
4034 ETag IfNoneMatch;
4035 Nullable<std::string> IfTags;
4036 Nullable<std::string> Marker;
4037 Nullable<std::int32_t> MaxResults;
4038 };
4039 static Response<Models::_detail::GetPageRangesDiffResult> GetPageRangesDiff(
4040 Core::Http::_internal::HttpPipeline& pipeline,
4041 const Core::Url& url,
4042 const GetPageBlobPageRangesDiffOptions& options,
4043 const Core::Context& context);
4044 struct ResizePageBlobOptions final
4045 {
4046 Nullable<std::string> LeaseId;
4047 Nullable<std::string> EncryptionKey;
4048 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4049 Nullable<std::string> EncryptionAlgorithm;
4050 Nullable<std::string> EncryptionScope;
4051 Nullable<DateTime> IfModifiedSince;
4052 Nullable<DateTime> IfUnmodifiedSince;
4053 ETag IfMatch;
4054 ETag IfNoneMatch;
4055 Nullable<std::string> IfTags;
4056 std::int64_t BlobContentLength = std::int64_t();
4057 };
4058 static Response<Models::ResizePageBlobResult> Resize(
4059 Core::Http::_internal::HttpPipeline& pipeline,
4060 const Core::Url& url,
4061 const ResizePageBlobOptions& options,
4062 const Core::Context& context);
4063 struct UpdatePageBlobSequenceNumberOptions final
4064 {
4065 Nullable<std::string> LeaseId;
4066 Nullable<DateTime> IfModifiedSince;
4067 Nullable<DateTime> IfUnmodifiedSince;
4068 ETag IfMatch;
4069 ETag IfNoneMatch;
4070 Nullable<std::string> IfTags;
4071 Models::SequenceNumberAction SequenceNumberAction;
4072 Nullable<std::int64_t> BlobSequenceNumber;
4073 };
4074 static Response<Models::UpdateSequenceNumberResult> UpdateSequenceNumber(
4075 Core::Http::_internal::HttpPipeline& pipeline,
4076 const Core::Url& url,
4077 const UpdatePageBlobSequenceNumberOptions& options,
4078 const Core::Context& context);
4079 struct StartPageBlobCopyIncrementalOptions final
4080 {
4081 Nullable<DateTime> IfModifiedSince;
4082 Nullable<DateTime> IfUnmodifiedSince;
4083 ETag IfMatch;
4084 ETag IfNoneMatch;
4085 Nullable<std::string> IfTags;
4086 std::string CopySource;
4087 };
4088 static Response<Models::_detail::StartBlobCopyIncrementalResult> StartCopyIncremental(
4089 Core::Http::_internal::HttpPipeline& pipeline,
4090 const Core::Url& url,
4091 const StartPageBlobCopyIncrementalOptions& options,
4092 const Core::Context& context);
4093 };
4094 class AppendBlobClient final {
4095 public:
4096 struct CreateAppendBlobOptions final
4097 {
4098 std::string BlobContentType;
4099 std::string BlobContentEncoding;
4100 std::string BlobContentLanguage;
4101 std::vector<std::uint8_t> BlobContentMD5;
4102 std::string BlobCacheControl;
4103 std::map<std::string, std::string> Metadata;
4104 Nullable<std::string> LeaseId;
4105 std::string BlobContentDisposition;
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 Nullable<std::string> BlobTagsString;
4116 Nullable<DateTime> ImmutabilityPolicyExpiry;
4117 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4118 Nullable<bool> LegalHold;
4119 };
4120 static Response<Models::CreateAppendBlobResult> Create(
4121 Core::Http::_internal::HttpPipeline& pipeline,
4122 const Core::Url& url,
4123 const CreateAppendBlobOptions& options,
4124 const Core::Context& context);
4125 struct AppendAppendBlobBlockOptions final
4126 {
4127 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4128 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4129 Nullable<std::string> LeaseId;
4130 Nullable<std::int64_t> MaxSize;
4131 Nullable<std::int64_t> AppendPosition;
4132 Nullable<std::string> EncryptionKey;
4133 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4134 Nullable<std::string> EncryptionAlgorithm;
4135 Nullable<std::string> EncryptionScope;
4136 Nullable<DateTime> IfModifiedSince;
4137 Nullable<DateTime> IfUnmodifiedSince;
4138 ETag IfMatch;
4139 ETag IfNoneMatch;
4140 Nullable<std::string> IfTags;
4141 };
4142 static Response<Models::AppendBlockResult> AppendBlock(
4143 Core::Http::_internal::HttpPipeline& pipeline,
4144 const Core::Url& url,
4145 Core::IO::BodyStream& requestBody,
4146 const AppendAppendBlobBlockOptions& options,
4147 const Core::Context& context);
4148 struct AppendAppendBlobBlockFromUriOptions final
4149 {
4150 std::string SourceUrl;
4151 Nullable<std::string> SourceRange;
4152 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4153 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4154 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4155 Nullable<std::string> EncryptionKey;
4156 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4157 Nullable<std::string> EncryptionAlgorithm;
4158 Nullable<std::string> EncryptionScope;
4159 Nullable<std::string> LeaseId;
4160 Nullable<std::int64_t> MaxSize;
4161 Nullable<std::int64_t> AppendPosition;
4162 Nullable<DateTime> IfModifiedSince;
4163 Nullable<DateTime> IfUnmodifiedSince;
4164 ETag IfMatch;
4165 ETag IfNoneMatch;
4166 Nullable<std::string> IfTags;
4167 Nullable<DateTime> SourceIfModifiedSince;
4168 Nullable<DateTime> SourceIfUnmodifiedSince;
4169 ETag SourceIfMatch;
4170 ETag SourceIfNoneMatch;
4171 Nullable<std::string> CopySourceAuthorization;
4172 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4173 };
4174 static Response<Models::AppendBlockFromUriResult> AppendBlockFromUri(
4175 Core::Http::_internal::HttpPipeline& pipeline,
4176 const Core::Url& url,
4177 const AppendAppendBlobBlockFromUriOptions& options,
4178 const Core::Context& context);
4179 struct SealAppendBlobOptions final
4180 {
4181 Nullable<std::string> LeaseId;
4182 Nullable<DateTime> IfModifiedSince;
4183 Nullable<DateTime> IfUnmodifiedSince;
4184 ETag IfMatch;
4185 ETag IfNoneMatch;
4186 Nullable<std::int64_t> AppendPosition;
4187 };
4188 static Response<Models::SealAppendBlobResult> Seal(
4189 Core::Http::_internal::HttpPipeline& pipeline,
4190 const Core::Url& url,
4191 const SealAppendBlobOptions& options,
4192 const Core::Context& context);
4193 };
4194 class BlockBlobClient final {
4195 public:
4196 struct UploadBlockBlobOptions final
4197 {
4198 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4199 std::string BlobContentType;
4200 std::string BlobContentEncoding;
4201 std::string BlobContentLanguage;
4202 std::vector<std::uint8_t> BlobContentMD5;
4203 std::string BlobCacheControl;
4204 std::map<std::string, std::string> Metadata;
4205 Nullable<std::string> LeaseId;
4206 std::string BlobContentDisposition;
4207 Nullable<std::string> EncryptionKey;
4208 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4209 Nullable<std::string> EncryptionAlgorithm;
4210 Nullable<std::string> EncryptionScope;
4211 Nullable<Models::AccessTier> Tier;
4212 Nullable<DateTime> IfModifiedSince;
4213 Nullable<DateTime> IfUnmodifiedSince;
4214 ETag IfMatch;
4215 ETag IfNoneMatch;
4216 Nullable<std::string> IfTags;
4217 Nullable<std::string> BlobTagsString;
4218 Nullable<DateTime> ImmutabilityPolicyExpiry;
4219 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4220 Nullable<bool> LegalHold;
4221 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4222 };
4223 static Response<Models::UploadBlockBlobResult> Upload(
4224 Core::Http::_internal::HttpPipeline& pipeline,
4225 const Core::Url& url,
4226 Core::IO::BodyStream& requestBody,
4227 const UploadBlockBlobOptions& options,
4228 const Core::Context& context);
4229 struct UploadBlockBlobFromUriOptions final
4230 {
4231 std::string BlobContentType;
4232 std::string BlobContentEncoding;
4233 std::string BlobContentLanguage;
4234 std::vector<std::uint8_t> BlobContentMD5;
4235 std::string BlobCacheControl;
4236 std::map<std::string, std::string> Metadata;
4237 Nullable<std::string> LeaseId;
4238 std::string BlobContentDisposition;
4239 Nullable<std::string> EncryptionKey;
4240 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4241 Nullable<std::string> EncryptionAlgorithm;
4242 Nullable<std::string> EncryptionScope;
4243 Nullable<Models::AccessTier> Tier;
4244 Nullable<DateTime> IfModifiedSince;
4245 Nullable<DateTime> IfUnmodifiedSince;
4246 ETag IfMatch;
4247 ETag IfNoneMatch;
4248 Nullable<std::string> IfTags;
4249 Nullable<DateTime> SourceIfModifiedSince;
4250 Nullable<DateTime> SourceIfUnmodifiedSince;
4251 ETag SourceIfMatch;
4252 ETag SourceIfNoneMatch;
4253 Nullable<std::string> SourceIfTags;
4254 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4255 Nullable<std::string> BlobTagsString;
4256 std::string CopySource;
4257 Nullable<bool> CopySourceBlobProperties;
4258 Nullable<std::string> CopySourceAuthorization;
4259 Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
4260 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4261 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4262 };
4263 static Response<Models::UploadBlockBlobFromUriResult> UploadFromUri(
4264 Core::Http::_internal::HttpPipeline& pipeline,
4265 const Core::Url& url,
4266 const UploadBlockBlobFromUriOptions& options,
4267 const Core::Context& context);
4268 struct StageBlockBlobBlockOptions final
4269 {
4270 std::string BlockId;
4271 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4272 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4273 Nullable<std::string> LeaseId;
4274 Nullable<std::string> EncryptionKey;
4275 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4276 Nullable<std::string> EncryptionAlgorithm;
4277 Nullable<std::string> EncryptionScope;
4278 };
4279 static Response<Models::StageBlockResult> StageBlock(
4280 Core::Http::_internal::HttpPipeline& pipeline,
4281 const Core::Url& url,
4282 Core::IO::BodyStream& requestBody,
4283 const StageBlockBlobBlockOptions& options,
4284 const Core::Context& context);
4285 struct StageBlockBlobBlockFromUriOptions final
4286 {
4287 std::string BlockId;
4288 std::string SourceUrl;
4289 Nullable<std::string> SourceRange;
4290 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4291 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4292 Nullable<std::string> EncryptionKey;
4293 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4294 Nullable<std::string> EncryptionAlgorithm;
4295 Nullable<std::string> EncryptionScope;
4296 Nullable<std::string> LeaseId;
4297 Nullable<DateTime> SourceIfModifiedSince;
4298 Nullable<DateTime> SourceIfUnmodifiedSince;
4299 ETag SourceIfMatch;
4300 ETag SourceIfNoneMatch;
4301 Nullable<std::string> CopySourceAuthorization;
4302 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4303 };
4304 static Response<Models::StageBlockFromUriResult> StageBlockFromUri(
4305 Core::Http::_internal::HttpPipeline& pipeline,
4306 const Core::Url& url,
4307 const StageBlockBlobBlockFromUriOptions& options,
4308 const Core::Context& context);
4309 struct CommitBlockBlobBlockListOptions final
4310 {
4311 Models::_detail::BlockLookupList Blocks;
4312 std::string BlobCacheControl;
4313 std::string BlobContentType;
4314 std::string BlobContentEncoding;
4315 std::string BlobContentLanguage;
4316 std::vector<std::uint8_t> BlobContentMD5;
4317 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4318 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4319 std::map<std::string, std::string> Metadata;
4320 Nullable<std::string> LeaseId;
4321 std::string BlobContentDisposition;
4322 Nullable<std::string> EncryptionKey;
4323 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4324 Nullable<std::string> EncryptionAlgorithm;
4325 Nullable<std::string> EncryptionScope;
4326 Nullable<Models::AccessTier> Tier;
4327 Nullable<DateTime> IfModifiedSince;
4328 Nullable<DateTime> IfUnmodifiedSince;
4329 ETag IfMatch;
4330 ETag IfNoneMatch;
4331 Nullable<std::string> IfTags;
4332 Nullable<std::string> BlobTagsString;
4333 Nullable<DateTime> ImmutabilityPolicyExpiry;
4334 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4335 Nullable<bool> LegalHold;
4336 };
4337 static Response<Models::CommitBlockListResult> CommitBlockList(
4338 Core::Http::_internal::HttpPipeline& pipeline,
4339 const Core::Url& url,
4340 const CommitBlockBlobBlockListOptions& options,
4341 const Core::Context& context);
4342 struct GetBlockBlobBlockListOptions final
4343 {
4344 Nullable<std::string> Snapshot;
4345 Models::BlockListType ListType;
4346 Nullable<std::string> LeaseId;
4347 Nullable<std::string> IfTags;
4348 };
4349 static Response<Models::GetBlockListResult> GetBlockList(
4350 Core::Http::_internal::HttpPipeline& pipeline,
4351 const Core::Url& url,
4352 const GetBlockBlobBlockListOptions& options,
4353 const Core::Context& context);
4354 };
4355 } // namespace _detail
4356}}} // 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 P1
Definition rest_client.hpp:945
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P80
Definition rest_client.hpp:971
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Hot
Definition rest_client.hpp:973
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P3
Definition rest_client.hpp:949
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P2
Definition rest_client.hpp:947
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P30
Definition rest_client.hpp:961
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Archive
Definition rest_client.hpp:977
AccessTier(std::string value)
Definition rest_client.hpp:942
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P50
Definition rest_client.hpp:965
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Premium
Definition rest_client.hpp:979
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P6
Definition rest_client.hpp:953
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 P15
Definition rest_client.hpp:957
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P4
Definition rest_client.hpp:951
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier Cold
Definition rest_client.hpp:981
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P20
Definition rest_client.hpp:959
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P40
Definition rest_client.hpp:963
AZ_STORAGE_BLOBS_DLLEXPORT static const AccessTier P10
Definition rest_client.hpp:955
Identifies the account kind.
Definition rest_client.hpp:571
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind BlockBlobStorage
Definition rest_client.hpp:587
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind StorageV2
Definition rest_client.hpp:583
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind BlobStorage
Definition rest_client.hpp:581
AccountKind(std::string value)
Definition rest_client.hpp:576
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind FileStorage
Definition rest_client.hpp:585
AZ_STORAGE_BLOBS_DLLEXPORT static const AccountKind Storage
Definition rest_client.hpp:579
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 RehydratePendingToHot
Definition rest_client.hpp:997
AZ_STORAGE_BLOBS_DLLEXPORT static const ArchiveStatus RehydratePendingToCold
Definition rest_client.hpp:1001
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 Copy
Definition rest_client.hpp:2183
BlobCopySourceTagsMode(std::string value)
Definition rest_client.hpp:2176
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobCopySourceTagsMode Replace
Definition rest_client.hpp:2181
Specifies the immutability policy mode to set on the blob.
Definition rest_client.hpp:1102
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobImmutabilityPolicyMode Locked
Definition rest_client.hpp:1115
BlobImmutabilityPolicyMode(std::string value)
Definition rest_client.hpp:1107
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobImmutabilityPolicyMode Unlocked
Definition rest_client.hpp:1113
Type of blob query arrow field.
Definition rest_client.hpp:2350
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Double
Definition rest_client.hpp:2368
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Timestamp
Definition rest_client.hpp:2364
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType String
Definition rest_client.hpp:2366
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Int64
Definition rest_client.hpp:2360
BlobQueryArrowFieldType(std::string value)
Definition rest_client.hpp:2355
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Bool
Definition rest_client.hpp:2362
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobQueryArrowFieldType Decimal
Definition rest_client.hpp:2370
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 PageBlob
Definition rest_client.hpp:1317
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobType BlockBlob
Definition rest_client.hpp:1315
BlobType(std::string value)
Definition rest_client.hpp:1312
Specifies whether to return the list of committed blocks, the list of uncommitted blocks,...
Definition rest_client.hpp:3183
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType Committed
Definition rest_client.hpp:3191
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType All
Definition rest_client.hpp:3195
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockListType Uncommitted
Definition rest_client.hpp:3193
BlockListType(std::string value)
Definition rest_client.hpp:3188
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 Uncommitted
Definition rest_client.hpp:68
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockType Committed
Definition rest_client.hpp:66
AZ_STORAGE_BLOBS_DLLEXPORT static const BlockType Latest
Definition rest_client.hpp:70
BlockType(std::string value)
Definition rest_client.hpp:63
Status of the copy operation.
Definition rest_client.hpp:918
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Aborted
Definition rest_client.hpp:930
CopyStatus(std::string value)
Definition rest_client.hpp:923
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Pending
Definition rest_client.hpp:926
AZ_STORAGE_BLOBS_DLLEXPORT static const CopyStatus Success
Definition rest_client.hpp:928
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 OnlySnapshots
Definition rest_client.hpp:1835
AZ_STORAGE_BLOBS_DLLEXPORT static const DeleteSnapshotsOption IncludeSnapshots
Definition rest_client.hpp:1833
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
Valid value is backup.
Definition rest_client.hpp:2189
FileShareTokenIntent(std::string value)
Definition rest_client.hpp:2194
AZ_STORAGE_BLOBS_DLLEXPORT static const FileShareTokenIntent Backup
Definition rest_client.hpp:2197
The status of the secondary location.
Definition rest_client.hpp:238
AZ_STORAGE_BLOBS_DLLEXPORT static const GeoReplicationStatus Bootstrap
Definition rest_client.hpp:248
AZ_STORAGE_BLOBS_DLLEXPORT static const GeoReplicationStatus Live
Definition rest_client.hpp:246
GeoReplicationStatus(std::string value)
Definition rest_client.hpp:243
AZ_STORAGE_BLOBS_DLLEXPORT static const GeoReplicationStatus Unavailable
Definition rest_client.hpp:250
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
LeaseDurationType(std::string value)
Definition rest_client.hpp:323
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseDurationType Infinite
Definition rest_client.hpp:326
The current lease state of the blob.
Definition rest_client.hpp:296
LeaseState(std::string value)
Definition rest_client.hpp:301
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Breaking
Definition rest_client.hpp:310
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Leased
Definition rest_client.hpp:306
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Expired
Definition rest_client.hpp:308
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Available
Definition rest_client.hpp:304
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseState Broken
Definition rest_client.hpp:312
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
LeaseStatus(std::string value)
Definition rest_client.hpp:286
AZ_STORAGE_BLOBS_DLLEXPORT static const LeaseStatus Unlocked
Definition rest_client.hpp:291
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 Blob
Definition rest_client.hpp:344
AZ_STORAGE_BLOBS_DLLEXPORT static const PublicAccessType None
Definition rest_client.hpp:346
AZ_STORAGE_BLOBS_DLLEXPORT static const PublicAccessType BlobContainer
Definition rest_client.hpp:342
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 Standard
Definition rest_client.hpp:1017
AZ_STORAGE_BLOBS_DLLEXPORT static const RehydratePriority High
Definition rest_client.hpp:1015
Required. Indicates mode of the expiry time.
Definition rest_client.hpp:1857
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 RelativeToCreation
Definition rest_client.hpp:1870
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:2729
SequenceNumberAction(std::string value)
Definition rest_client.hpp:2734
AZ_STORAGE_BLOBS_DLLEXPORT static const SequenceNumberAction Increment
Definition rest_client.hpp:2741
AZ_STORAGE_BLOBS_DLLEXPORT static const SequenceNumberAction Max
Definition rest_client.hpp:2737
AZ_STORAGE_BLOBS_DLLEXPORT static const SequenceNumberAction Update
Definition rest_client.hpp:2739
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 StandardRagzrs
Definition rest_client.hpp:566
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardRagrs
Definition rest_client.hpp:556
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardGrs
Definition rest_client.hpp:554
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName PremiumZrs
Definition rest_client.hpp:562
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName PremiumLrs
Definition rest_client.hpp:560
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardGzrs
Definition rest_client.hpp:564
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardZrs
Definition rest_client.hpp:558
AZ_STORAGE_BLOBS_DLLEXPORT static const SkuName StandardLrs
Definition rest_client.hpp:552
Response type for Azure::Storage::Blobs::BlobClient::AbortCopyFromUri.
Definition rest_client.hpp:2245
Response type for Azure::Storage::Blobs::BlobServiceClient::GetAccountInfo.
Definition rest_client.hpp:2257
Models::AccountKind AccountKind
Definition rest_client.hpp:2265
Models::SkuName SkuName
Definition rest_client.hpp:2261
bool IsHierarchicalNamespaceEnabled
Definition rest_client.hpp:2270
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:2894
Azure::ETag ETag
Definition rest_client.hpp:2899
std::int64_t AppendOffset
Definition rest_client.hpp:2915
DateTime LastModified
Definition rest_client.hpp:2905
bool IsServerEncrypted
Definition rest_client.hpp:2936
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2931
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2910
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2925
std::int32_t CommittedBlockCount
Definition rest_client.hpp:2920
Response type for Azure::Storage::Blobs::AppendBlobClient::AppendBlock.
Definition rest_client.hpp:2846
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2862
std::int64_t AppendOffset
Definition rest_client.hpp:2867
std::int32_t CommittedBlockCount
Definition rest_client.hpp:2872
Azure::ETag ETag
Definition rest_client.hpp:2851
DateTime LastModified
Definition rest_client.hpp:2857
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2888
bool IsServerEncrypted
Definition rest_client.hpp:2877
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2882
Represents a single block in a block blob. It describes the block's ID and size.
Definition rest_client.hpp:3169
std::string Name
Definition rest_client.hpp:3173
std::int64_t Size
Definition rest_client.hpp:3177
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:2376
Nullable< std::int32_t > Precision
Definition rest_client.hpp:2388
Nullable< std::int32_t > Scale
Definition rest_client.hpp:2392
Nullable< std::string > Name
Definition rest_client.hpp:2384
BlobQueryArrowFieldType Type
Definition rest_client.hpp:2380
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:2598
DateTime LastModified
Definition rest_client.hpp:2609
std::int64_t SequenceNumber
Definition rest_client.hpp:2613
Azure::ETag ETag
Definition rest_client.hpp:2603
Response type for Azure::Storage::Blobs::BlockBlobClient::CommitBlockList.
Definition rest_client.hpp:3124
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3141
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3163
Azure::ETag ETag
Definition rest_client.hpp:3129
bool IsServerEncrypted
Definition rest_client.hpp:3152
Nullable< std::string > VersionId
Definition rest_client.hpp:3147
DateTime LastModified
Definition rest_client.hpp:3135
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3157
Response type for Azure::Storage::Blobs::BlobClient::CopyFromUri.
Definition rest_client.hpp:2203
Models::CopyStatus CopyStatus
Definition rest_client.hpp:2228
DateTime LastModified
Definition rest_client.hpp:2214
Nullable< std::string > VersionId
Definition rest_client.hpp:2220
Azure::ETag ETag
Definition rest_client.hpp:2208
std::string CopyId
Definition rest_client.hpp:2224
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2233
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2239
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:2803
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2834
Azure::ETag ETag
Definition rest_client.hpp:2812
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2840
Nullable< std::string > VersionId
Definition rest_client.hpp:2824
bool IsServerEncrypted
Definition rest_client.hpp:2829
bool Created
Definition rest_client.hpp:2807
DateTime LastModified
Definition rest_client.hpp:2818
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:2508
bool IsServerEncrypted
Definition rest_client.hpp:2539
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2544
Nullable< std::string > VersionId
Definition rest_client.hpp:2534
bool Created
Definition rest_client.hpp:2512
Azure::ETag ETag
Definition rest_client.hpp:2522
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2550
DateTime LastModified
Definition rest_client.hpp:2528
Nullable< std::int64_t > SequenceNumber
Definition rest_client.hpp:2517
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:3201
std::vector< BlobBlock > CommittedBlocks
Definition rest_client.hpp:3220
Azure::ETag ETag
Definition rest_client.hpp:3206
DateTime LastModified
Definition rest_client.hpp:3212
std::vector< BlobBlock > UncommittedBlocks
Definition rest_client.hpp:3224
std::int64_t BlobSize
Definition rest_client.hpp:3216
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:2462
bool IsServerEncrypted
Definition rest_client.hpp:2496
DateTime LastModified
Definition rest_client.hpp:2472
Azure::ETag ETag
Definition rest_client.hpp:2477
Nullable< LeaseDurationType > LeaseDuration
Definition rest_client.hpp:2481
Models::LeaseState LeaseState
Definition rest_client.hpp:2485
std::unique_ptr< Core::IO::BodyStream > BodyStream
Definition rest_client.hpp:2466
Models::LeaseStatus LeaseStatus
Definition rest_client.hpp:2489
Response type for Azure::Storage::Blobs::PageBlobClient::Resize.
Definition rest_client.hpp:2705
Azure::ETag ETag
Definition rest_client.hpp:2710
std::int64_t SequenceNumber
Definition rest_client.hpp:2721
DateTime LastModified
Definition rest_client.hpp:2716
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:2942
bool IsSealed
Definition rest_client.hpp:2957
DateTime LastModified
Definition rest_client.hpp:2953
Azure::ETag ETag
Definition rest_client.hpp:2947
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:2251
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:2502
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:3079
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3085
bool IsServerEncrypted
Definition rest_client.hpp:3090
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3101
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3095
Response type for Azure::Storage::Blobs::BlockBlobClient::StageBlock.
Definition rest_client.hpp:3051
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3073
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3067
bool IsServerEncrypted
Definition rest_client.hpp:3062
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3057
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:2747
Azure::ETag ETag
Definition rest_client.hpp:2752
std::int64_t SequenceNumber
Definition rest_client.hpp:2763
DateTime LastModified
Definition rest_client.hpp:2758
Response type for Azure::Storage::Blobs::BlockBlobClient::UploadFromUri.
Definition rest_client.hpp:3007
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3045
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:3039
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:3023
Nullable< std::string > VersionId
Definition rest_client.hpp:3029
DateTime LastModified
Definition rest_client.hpp:3018
Azure::ETag ETag
Definition rest_client.hpp:3012
bool IsServerEncrypted
Definition rest_client.hpp:3034
Response type for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition rest_client.hpp:2963
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:3001
Azure::ETag ETag
Definition rest_client.hpp:2968
bool IsServerEncrypted
Definition rest_client.hpp:2990
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2979
Nullable< std::string > VersionId
Definition rest_client.hpp:2985
DateTime LastModified
Definition rest_client.hpp:2974
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2995
Response type for Azure::Storage::Blobs::PageBlobClient::UploadPagesFromUri.
Definition rest_client.hpp:2619
std::int64_t SequenceNumber
Definition rest_client.hpp:2639
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2655
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2635
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2649
bool IsServerEncrypted
Definition rest_client.hpp:2644
DateTime LastModified
Definition rest_client.hpp:2630
Azure::ETag ETag
Definition rest_client.hpp:2624
Response type for Azure::Storage::Blobs::PageBlobClient::UploadPages.
Definition rest_client.hpp:2556
Nullable< ContentHash > TransactionalContentHash
Definition rest_client.hpp:2572
std::int64_t SequenceNumber
Definition rest_client.hpp:2576
bool IsServerEncrypted
Definition rest_client.hpp:2581
Azure::ETag ETag
Definition rest_client.hpp:2561
DateTime LastModified
Definition rest_client.hpp:2567
Nullable< std::vector< std::uint8_t > > EncryptionKeySha256
Definition rest_client.hpp:2586
Nullable< std::string > EncryptionScope
Definition rest_client.hpp:2592
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