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 = "2025-07-05";
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 };
3478 static Response<Models::_detail::ListBlobsResult> ListBlobs(
3479 Core::Http::_internal::HttpPipeline& pipeline,
3480 const Core::Url& url,
3481 const ListBlobContainerBlobsOptions& options,
3482 const Core::Context& context);
3483 struct ListBlobContainerBlobsByHierarchyOptions final
3484 {
3485 Nullable<std::string> Prefix;
3486 std::string Delimiter;
3487 Nullable<std::string> Marker;
3488 Nullable<std::int32_t> MaxResults;
3489 Nullable<Models::ListBlobsIncludeFlags> Include;
3490 Nullable<std::string> ShowOnly;
3491 };
3492 static Response<Models::_detail::ListBlobsByHierarchyResult> ListBlobsByHierarchy(
3493 Core::Http::_internal::HttpPipeline& pipeline,
3494 const Core::Url& url,
3495 const ListBlobContainerBlobsByHierarchyOptions& options,
3496 const Core::Context& context);
3497 struct GetBlobContainerAccountInfoOptions final
3498 {
3499 };
3500 static Response<Models::AccountInfo> GetAccountInfo(
3501 Core::Http::_internal::HttpPipeline& pipeline,
3502 const Core::Url& url,
3503 const GetBlobContainerAccountInfoOptions& options,
3504 const Core::Context& context);
3505 };
3506 class BlobClient final {
3507 public:
3508 struct DownloadBlobOptions final
3509 {
3510 Nullable<std::string> Snapshot;
3511 Nullable<std::string> VersionId;
3512 Nullable<std::string> Range;
3513 Nullable<std::string> LeaseId;
3514 Nullable<bool> RangeGetContentMD5;
3515 Nullable<bool> RangeGetContentCRC64;
3516 Nullable<std::string> EncryptionKey;
3517 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3518 Nullable<std::string> EncryptionAlgorithm;
3519 Nullable<DateTime> IfModifiedSince;
3520 Nullable<DateTime> IfUnmodifiedSince;
3521 ETag IfMatch;
3522 ETag IfNoneMatch;
3523 Nullable<std::string> IfTags;
3524 Nullable<bool> UserPrincipalName;
3525 };
3526 static Response<Models::DownloadBlobResult> Download(
3527 Core::Http::_internal::HttpPipeline& pipeline,
3528 const Core::Url& url,
3529 const DownloadBlobOptions& options,
3530 const Core::Context& context);
3531 struct GetBlobPropertiesOptions final
3532 {
3533 Nullable<std::string> Snapshot;
3534 Nullable<std::string> VersionId;
3535 Nullable<std::string> LeaseId;
3536 Nullable<std::string> EncryptionKey;
3537 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3538 Nullable<std::string> EncryptionAlgorithm;
3539 Nullable<DateTime> IfModifiedSince;
3540 Nullable<DateTime> IfUnmodifiedSince;
3541 ETag IfMatch;
3542 ETag IfNoneMatch;
3543 Nullable<std::string> IfTags;
3544 Nullable<bool> UserPrincipalName;
3545 };
3546 static Response<Models::BlobProperties> GetProperties(
3547 Core::Http::_internal::HttpPipeline& pipeline,
3548 const Core::Url& url,
3549 const GetBlobPropertiesOptions& options,
3550 const Core::Context& context);
3551 struct DeleteBlobOptions final
3552 {
3553 Nullable<std::string> Snapshot;
3554 Nullable<std::string> VersionId;
3555 Nullable<std::string> LeaseId;
3556 Nullable<Models::DeleteSnapshotsOption> DeleteSnapshots;
3557 Nullable<DateTime> IfModifiedSince;
3558 Nullable<DateTime> IfUnmodifiedSince;
3559 ETag IfMatch;
3560 ETag IfNoneMatch;
3561 Nullable<std::string> IfTags;
3562 };
3563 static Response<Models::DeleteBlobResult> Delete(
3564 Core::Http::_internal::HttpPipeline& pipeline,
3565 const Core::Url& url,
3566 const DeleteBlobOptions& options,
3567 const Core::Context& context);
3568 struct UndeleteBlobOptions final
3569 {
3570 };
3571 static Response<Models::UndeleteBlobResult> Undelete(
3572 Core::Http::_internal::HttpPipeline& pipeline,
3573 const Core::Url& url,
3574 const UndeleteBlobOptions& options,
3575 const Core::Context& context);
3576 struct SetBlobExpiryOptions final
3577 {
3578 Models::ScheduleBlobExpiryOriginType ExpiryOptions;
3579 Nullable<std::string> ExpiresOn;
3580 };
3581 static Response<Models::SetBlobExpiryResult> SetExpiry(
3582 Core::Http::_internal::HttpPipeline& pipeline,
3583 const Core::Url& url,
3584 const SetBlobExpiryOptions& options,
3585 const Core::Context& context);
3586 struct SetBlobHttpHeadersOptions final
3587 {
3588 std::string BlobCacheControl;
3589 std::string BlobContentType;
3590 std::vector<std::uint8_t> BlobContentMD5;
3591 std::string BlobContentEncoding;
3592 std::string BlobContentLanguage;
3593 Nullable<std::string> LeaseId;
3594 Nullable<DateTime> IfModifiedSince;
3595 Nullable<DateTime> IfUnmodifiedSince;
3596 ETag IfMatch;
3597 ETag IfNoneMatch;
3598 Nullable<std::string> IfTags;
3599 std::string BlobContentDisposition;
3600 };
3601 static Response<Models::SetBlobHttpHeadersResult> SetHttpHeaders(
3602 Core::Http::_internal::HttpPipeline& pipeline,
3603 const Core::Url& url,
3604 const SetBlobHttpHeadersOptions& options,
3605 const Core::Context& context);
3606 struct SetBlobImmutabilityPolicyOptions final
3607 {
3608 Nullable<DateTime> IfUnmodifiedSince;
3609 Nullable<DateTime> ImmutabilityPolicyExpiry;
3610 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3611 };
3612 static Response<Models::SetBlobImmutabilityPolicyResult> SetImmutabilityPolicy(
3613 Core::Http::_internal::HttpPipeline& pipeline,
3614 const Core::Url& url,
3615 const SetBlobImmutabilityPolicyOptions& options,
3616 const Core::Context& context);
3617 struct DeleteBlobImmutabilityPolicyOptions final
3618 {
3619 };
3620 static Response<Models::DeleteBlobImmutabilityPolicyResult> DeleteImmutabilityPolicy(
3621 Core::Http::_internal::HttpPipeline& pipeline,
3622 const Core::Url& url,
3623 const DeleteBlobImmutabilityPolicyOptions& options,
3624 const Core::Context& context);
3625 struct SetBlobLegalHoldOptions final
3626 {
3627 bool LegalHold = bool();
3628 };
3629 static Response<Models::SetBlobLegalHoldResult> SetLegalHold(
3630 Core::Http::_internal::HttpPipeline& pipeline,
3631 const Core::Url& url,
3632 const SetBlobLegalHoldOptions& options,
3633 const Core::Context& context);
3634 struct SetBlobMetadataOptions final
3635 {
3636 std::map<std::string, std::string> Metadata;
3637 Nullable<std::string> LeaseId;
3638 Nullable<std::string> EncryptionKey;
3639 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3640 Nullable<std::string> EncryptionAlgorithm;
3641 Nullable<std::string> EncryptionScope;
3642 Nullable<DateTime> IfModifiedSince;
3643 Nullable<DateTime> IfUnmodifiedSince;
3644 ETag IfMatch;
3645 ETag IfNoneMatch;
3646 Nullable<std::string> IfTags;
3647 };
3648 static Response<Models::SetBlobMetadataResult> SetMetadata(
3649 Core::Http::_internal::HttpPipeline& pipeline,
3650 const Core::Url& url,
3651 const SetBlobMetadataOptions& options,
3652 const Core::Context& context);
3653 struct AcquireBlobLeaseOptions final
3654 {
3655 Nullable<std::int32_t> Duration;
3656 Nullable<std::string> ProposedLeaseId;
3657 Nullable<DateTime> IfModifiedSince;
3658 Nullable<DateTime> IfUnmodifiedSince;
3659 ETag IfMatch;
3660 ETag IfNoneMatch;
3661 Nullable<std::string> IfTags;
3662 };
3663 static Response<Models::_detail::AcquireBlobLeaseResult> AcquireLease(
3664 Core::Http::_internal::HttpPipeline& pipeline,
3665 const Core::Url& url,
3666 const AcquireBlobLeaseOptions& options,
3667 const Core::Context& context);
3668 struct ReleaseBlobLeaseOptions final
3669 {
3670 std::string LeaseId;
3671 Nullable<DateTime> IfModifiedSince;
3672 Nullable<DateTime> IfUnmodifiedSince;
3673 ETag IfMatch;
3674 ETag IfNoneMatch;
3675 Nullable<std::string> IfTags;
3676 };
3677 static Response<Models::_detail::ReleaseBlobLeaseResult> ReleaseLease(
3678 Core::Http::_internal::HttpPipeline& pipeline,
3679 const Core::Url& url,
3680 const ReleaseBlobLeaseOptions& options,
3681 const Core::Context& context);
3682 struct RenewBlobLeaseOptions final
3683 {
3684 std::string LeaseId;
3685 Nullable<DateTime> IfModifiedSince;
3686 Nullable<DateTime> IfUnmodifiedSince;
3687 ETag IfMatch;
3688 ETag IfNoneMatch;
3689 Nullable<std::string> IfTags;
3690 };
3691 static Response<Models::_detail::RenewBlobLeaseResult> RenewLease(
3692 Core::Http::_internal::HttpPipeline& pipeline,
3693 const Core::Url& url,
3694 const RenewBlobLeaseOptions& options,
3695 const Core::Context& context);
3696 struct ChangeBlobLeaseOptions final
3697 {
3698 std::string LeaseId;
3699 std::string ProposedLeaseId;
3700 Nullable<DateTime> IfModifiedSince;
3701 Nullable<DateTime> IfUnmodifiedSince;
3702 ETag IfMatch;
3703 ETag IfNoneMatch;
3704 Nullable<std::string> IfTags;
3705 };
3706 static Response<Models::_detail::ChangeBlobLeaseResult> ChangeLease(
3707 Core::Http::_internal::HttpPipeline& pipeline,
3708 const Core::Url& url,
3709 const ChangeBlobLeaseOptions& options,
3710 const Core::Context& context);
3711 struct BreakBlobLeaseOptions final
3712 {
3713 Nullable<std::int32_t> BreakPeriod;
3714 Nullable<DateTime> IfModifiedSince;
3715 Nullable<DateTime> IfUnmodifiedSince;
3716 ETag IfMatch;
3717 ETag IfNoneMatch;
3718 Nullable<std::string> IfTags;
3719 };
3720 static Response<Models::_detail::BreakBlobLeaseResult> BreakLease(
3721 Core::Http::_internal::HttpPipeline& pipeline,
3722 const Core::Url& url,
3723 const BreakBlobLeaseOptions& options,
3724 const Core::Context& context);
3725 struct CreateBlobSnapshotOptions final
3726 {
3727 std::map<std::string, std::string> Metadata;
3728 Nullable<std::string> EncryptionKey;
3729 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3730 Nullable<std::string> EncryptionAlgorithm;
3731 Nullable<std::string> EncryptionScope;
3732 Nullable<DateTime> IfModifiedSince;
3733 Nullable<DateTime> IfUnmodifiedSince;
3734 ETag IfMatch;
3735 ETag IfNoneMatch;
3736 Nullable<std::string> IfTags;
3737 Nullable<std::string> LeaseId;
3738 };
3739 static Response<Models::CreateBlobSnapshotResult> CreateSnapshot(
3740 Core::Http::_internal::HttpPipeline& pipeline,
3741 const Core::Url& url,
3742 const CreateBlobSnapshotOptions& options,
3743 const Core::Context& context);
3744 struct StartBlobCopyFromUriOptions final
3745 {
3746 Nullable<std::string> SourceLeaseId;
3747 std::map<std::string, std::string> Metadata;
3748 Nullable<Models::AccessTier> Tier;
3749 Nullable<Models::RehydratePriority> RehydratePriority;
3750 Nullable<DateTime> SourceIfModifiedSince;
3751 Nullable<DateTime> SourceIfUnmodifiedSince;
3752 ETag SourceIfMatch;
3753 ETag SourceIfNoneMatch;
3754 Nullable<std::string> SourceIfTags;
3755 Nullable<DateTime> IfModifiedSince;
3756 Nullable<DateTime> IfUnmodifiedSince;
3757 ETag IfMatch;
3758 ETag IfNoneMatch;
3759 Nullable<std::string> IfTags;
3760 std::string CopySource;
3761 Nullable<std::string> LeaseId;
3762 Nullable<std::string> BlobTagsString;
3763 Nullable<bool> SealBlob;
3764 Nullable<DateTime> ImmutabilityPolicyExpiry;
3765 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3766 Nullable<bool> LegalHold;
3767 };
3768 static Response<Models::_detail::StartBlobCopyFromUriResult> StartCopyFromUri(
3769 Core::Http::_internal::HttpPipeline& pipeline,
3770 const Core::Url& url,
3771 const StartBlobCopyFromUriOptions& options,
3772 const Core::Context& context);
3773 struct CopyBlobFromUriOptions final
3774 {
3775 std::map<std::string, std::string> Metadata;
3776 Nullable<Models::AccessTier> Tier;
3777 Nullable<DateTime> SourceIfModifiedSince;
3778 Nullable<DateTime> SourceIfUnmodifiedSince;
3779 ETag SourceIfMatch;
3780 ETag SourceIfNoneMatch;
3781 Nullable<DateTime> IfModifiedSince;
3782 Nullable<DateTime> IfUnmodifiedSince;
3783 ETag IfMatch;
3784 ETag IfNoneMatch;
3785 Nullable<std::string> IfTags;
3786 std::string CopySource;
3787 Nullable<std::string> LeaseId;
3788 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
3789 Nullable<std::string> BlobTagsString;
3790 Nullable<DateTime> ImmutabilityPolicyExpiry;
3791 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3792 Nullable<bool> LegalHold;
3793 Nullable<std::string> CopySourceAuthorization;
3794 Nullable<std::string> EncryptionScope;
3795 Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
3796 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
3797 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
3798 };
3799 static Response<Models::CopyBlobFromUriResult> CopyFromUri(
3800 Core::Http::_internal::HttpPipeline& pipeline,
3801 const Core::Url& url,
3802 const CopyBlobFromUriOptions& options,
3803 const Core::Context& context);
3804 struct AbortBlobCopyFromUriOptions final
3805 {
3806 std::string CopyId;
3807 Nullable<std::string> LeaseId;
3808 };
3809 static Response<Models::AbortBlobCopyFromUriResult> AbortCopyFromUri(
3810 Core::Http::_internal::HttpPipeline& pipeline,
3811 const Core::Url& url,
3812 const AbortBlobCopyFromUriOptions& options,
3813 const Core::Context& context);
3814 struct SetBlobTierOptions final
3815 {
3816 Nullable<std::string> Snapshot;
3817 Nullable<std::string> VersionId;
3818 Models::AccessTier Tier;
3819 Nullable<Models::RehydratePriority> RehydratePriority;
3820 Nullable<std::string> LeaseId;
3821 Nullable<std::string> IfTags;
3822 };
3823 static Response<Models::SetBlobAccessTierResult> SetTier(
3824 Core::Http::_internal::HttpPipeline& pipeline,
3825 const Core::Url& url,
3826 const SetBlobTierOptions& options,
3827 const Core::Context& context);
3828 struct GetBlobAccountInfoOptions final
3829 {
3830 };
3831 static Response<Models::AccountInfo> GetAccountInfo(
3832 Core::Http::_internal::HttpPipeline& pipeline,
3833 const Core::Url& url,
3834 const GetBlobAccountInfoOptions& options,
3835 const Core::Context& context);
3836 struct QueryBlobOptions final
3837 {
3838 Models::_detail::QueryRequest QueryRequest;
3839 Nullable<std::string> Snapshot;
3840 Nullable<std::string> LeaseId;
3841 Nullable<std::string> EncryptionKey;
3842 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3843 Nullable<std::string> EncryptionAlgorithm;
3844 Nullable<DateTime> IfModifiedSince;
3845 Nullable<DateTime> IfUnmodifiedSince;
3846 ETag IfMatch;
3847 ETag IfNoneMatch;
3848 Nullable<std::string> IfTags;
3849 Nullable<std::string> EncryptionScope;
3850 };
3851 static Response<Models::QueryBlobResult> Query(
3852 Core::Http::_internal::HttpPipeline& pipeline,
3853 const Core::Url& url,
3854 const QueryBlobOptions& options,
3855 const Core::Context& context);
3856 struct GetBlobTagsOptions final
3857 {
3858 Nullable<std::string> Snapshot;
3859 Nullable<std::string> VersionId;
3860 Nullable<std::string> IfTags;
3861 Nullable<std::string> LeaseId;
3862 };
3863 static Response<std::map<std::string, std::string>> GetTags(
3864 Core::Http::_internal::HttpPipeline& pipeline,
3865 const Core::Url& url,
3866 const GetBlobTagsOptions& options,
3867 const Core::Context& context);
3868 struct SetBlobTagsOptions final
3869 {
3870 std::map<std::string, std::string> Tags;
3871 Nullable<std::string> VersionId;
3872 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
3873 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
3874 Nullable<std::string> IfTags;
3875 Nullable<std::string> LeaseId;
3876 };
3877 static Response<Models::SetBlobTagsResult> SetTags(
3878 Core::Http::_internal::HttpPipeline& pipeline,
3879 const Core::Url& url,
3880 const SetBlobTagsOptions& options,
3881 const Core::Context& context);
3882 };
3883 class PageBlobClient final {
3884 public:
3885 struct CreatePageBlobOptions final
3886 {
3887 Nullable<Models::AccessTier> Tier;
3888 std::string BlobContentType;
3889 std::string BlobContentEncoding;
3890 std::string BlobContentLanguage;
3891 std::vector<std::uint8_t> BlobContentMD5;
3892 std::string BlobCacheControl;
3893 std::map<std::string, std::string> Metadata;
3894 Nullable<std::string> LeaseId;
3895 std::string BlobContentDisposition;
3896 Nullable<std::string> EncryptionKey;
3897 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3898 Nullable<std::string> EncryptionAlgorithm;
3899 Nullable<std::string> EncryptionScope;
3900 Nullable<DateTime> IfModifiedSince;
3901 Nullable<DateTime> IfUnmodifiedSince;
3902 ETag IfMatch;
3903 ETag IfNoneMatch;
3904 Nullable<std::string> IfTags;
3905 std::int64_t BlobContentLength = std::int64_t();
3906 Nullable<std::int64_t> BlobSequenceNumber;
3907 Nullable<std::string> BlobTagsString;
3908 Nullable<DateTime> ImmutabilityPolicyExpiry;
3909 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
3910 Nullable<bool> LegalHold;
3911 };
3912 static Response<Models::CreatePageBlobResult> Create(
3913 Core::Http::_internal::HttpPipeline& pipeline,
3914 const Core::Url& url,
3915 const CreatePageBlobOptions& options,
3916 const Core::Context& context);
3917 struct UploadPageBlobPagesOptions final
3918 {
3919 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
3920 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
3921 Nullable<std::string> Range;
3922 Nullable<std::string> LeaseId;
3923 Nullable<std::string> EncryptionKey;
3924 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3925 Nullable<std::string> EncryptionAlgorithm;
3926 Nullable<std::string> EncryptionScope;
3927 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3928 Nullable<std::int64_t> IfSequenceNumberLessThan;
3929 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3930 Nullable<DateTime> IfModifiedSince;
3931 Nullable<DateTime> IfUnmodifiedSince;
3932 ETag IfMatch;
3933 ETag IfNoneMatch;
3934 Nullable<std::string> IfTags;
3935 };
3936 static Response<Models::UploadPagesResult> UploadPages(
3937 Core::Http::_internal::HttpPipeline& pipeline,
3938 const Core::Url& url,
3939 Core::IO::BodyStream& requestBody,
3940 const UploadPageBlobPagesOptions& options,
3941 const Core::Context& context);
3942 struct ClearPageBlobPagesOptions final
3943 {
3944 Nullable<std::string> Range;
3945 Nullable<std::string> LeaseId;
3946 Nullable<std::string> EncryptionKey;
3947 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3948 Nullable<std::string> EncryptionAlgorithm;
3949 Nullable<std::string> EncryptionScope;
3950 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3951 Nullable<std::int64_t> IfSequenceNumberLessThan;
3952 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3953 Nullable<DateTime> IfModifiedSince;
3954 Nullable<DateTime> IfUnmodifiedSince;
3955 ETag IfMatch;
3956 ETag IfNoneMatch;
3957 Nullable<std::string> IfTags;
3958 };
3959 static Response<Models::ClearPagesResult> ClearPages(
3960 Core::Http::_internal::HttpPipeline& pipeline,
3961 const Core::Url& url,
3962 const ClearPageBlobPagesOptions& options,
3963 const Core::Context& context);
3964 struct UploadPageBlobPagesFromUriOptions final
3965 {
3966 std::string SourceUrl;
3967 std::string SourceRange;
3968 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
3969 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
3970 std::string Range;
3971 Nullable<std::string> EncryptionKey;
3972 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
3973 Nullable<std::string> EncryptionAlgorithm;
3974 Nullable<std::string> EncryptionScope;
3975 Nullable<std::string> LeaseId;
3976 Nullable<std::int64_t> IfSequenceNumberLessThanOrEqualTo;
3977 Nullable<std::int64_t> IfSequenceNumberLessThan;
3978 Nullable<std::int64_t> IfSequenceNumberEqualTo;
3979 Nullable<DateTime> IfModifiedSince;
3980 Nullable<DateTime> IfUnmodifiedSince;
3981 ETag IfMatch;
3982 ETag IfNoneMatch;
3983 Nullable<std::string> IfTags;
3984 Nullable<DateTime> SourceIfModifiedSince;
3985 Nullable<DateTime> SourceIfUnmodifiedSince;
3986 ETag SourceIfMatch;
3987 ETag SourceIfNoneMatch;
3988 Nullable<std::string> CopySourceAuthorization;
3989 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
3990 };
3991 static Response<Models::UploadPagesFromUriResult> UploadPagesFromUri(
3992 Core::Http::_internal::HttpPipeline& pipeline,
3993 const Core::Url& url,
3994 const UploadPageBlobPagesFromUriOptions& options,
3995 const Core::Context& context);
3996 struct GetPageBlobPageRangesOptions final
3997 {
3998 Nullable<std::string> Snapshot;
3999 Nullable<std::string> Range;
4000 Nullable<std::string> LeaseId;
4001 Nullable<DateTime> IfModifiedSince;
4002 Nullable<DateTime> IfUnmodifiedSince;
4003 ETag IfMatch;
4004 ETag IfNoneMatch;
4005 Nullable<std::string> IfTags;
4006 Nullable<std::string> Marker;
4007 Nullable<std::int32_t> MaxResults;
4008 };
4009 static Response<Models::_detail::GetPageRangesResult> GetPageRanges(
4010 Core::Http::_internal::HttpPipeline& pipeline,
4011 const Core::Url& url,
4012 const GetPageBlobPageRangesOptions& options,
4013 const Core::Context& context);
4014 struct GetPageBlobPageRangesDiffOptions final
4015 {
4016 Nullable<std::string> Snapshot;
4017 Nullable<std::string> Prevsnapshot;
4018 Nullable<std::string> PrevSnapshotUrl;
4019 Nullable<std::string> Range;
4020 Nullable<std::string> LeaseId;
4021 Nullable<DateTime> IfModifiedSince;
4022 Nullable<DateTime> IfUnmodifiedSince;
4023 ETag IfMatch;
4024 ETag IfNoneMatch;
4025 Nullable<std::string> IfTags;
4026 Nullable<std::string> Marker;
4027 Nullable<std::int32_t> MaxResults;
4028 };
4029 static Response<Models::_detail::GetPageRangesDiffResult> GetPageRangesDiff(
4030 Core::Http::_internal::HttpPipeline& pipeline,
4031 const Core::Url& url,
4032 const GetPageBlobPageRangesDiffOptions& options,
4033 const Core::Context& context);
4034 struct ResizePageBlobOptions final
4035 {
4036 Nullable<std::string> LeaseId;
4037 Nullable<std::string> EncryptionKey;
4038 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4039 Nullable<std::string> EncryptionAlgorithm;
4040 Nullable<std::string> EncryptionScope;
4041 Nullable<DateTime> IfModifiedSince;
4042 Nullable<DateTime> IfUnmodifiedSince;
4043 ETag IfMatch;
4044 ETag IfNoneMatch;
4045 Nullable<std::string> IfTags;
4046 std::int64_t BlobContentLength = std::int64_t();
4047 };
4048 static Response<Models::ResizePageBlobResult> Resize(
4049 Core::Http::_internal::HttpPipeline& pipeline,
4050 const Core::Url& url,
4051 const ResizePageBlobOptions& options,
4052 const Core::Context& context);
4053 struct UpdatePageBlobSequenceNumberOptions final
4054 {
4055 Nullable<std::string> LeaseId;
4056 Nullable<DateTime> IfModifiedSince;
4057 Nullable<DateTime> IfUnmodifiedSince;
4058 ETag IfMatch;
4059 ETag IfNoneMatch;
4060 Nullable<std::string> IfTags;
4061 Models::SequenceNumberAction SequenceNumberAction;
4062 Nullable<std::int64_t> BlobSequenceNumber;
4063 };
4064 static Response<Models::UpdateSequenceNumberResult> UpdateSequenceNumber(
4065 Core::Http::_internal::HttpPipeline& pipeline,
4066 const Core::Url& url,
4067 const UpdatePageBlobSequenceNumberOptions& options,
4068 const Core::Context& context);
4069 struct StartPageBlobCopyIncrementalOptions final
4070 {
4071 Nullable<DateTime> IfModifiedSince;
4072 Nullable<DateTime> IfUnmodifiedSince;
4073 ETag IfMatch;
4074 ETag IfNoneMatch;
4075 Nullable<std::string> IfTags;
4076 std::string CopySource;
4077 };
4078 static Response<Models::_detail::StartBlobCopyIncrementalResult> StartCopyIncremental(
4079 Core::Http::_internal::HttpPipeline& pipeline,
4080 const Core::Url& url,
4081 const StartPageBlobCopyIncrementalOptions& options,
4082 const Core::Context& context);
4083 };
4084 class AppendBlobClient final {
4085 public:
4086 struct CreateAppendBlobOptions final
4087 {
4088 std::string BlobContentType;
4089 std::string BlobContentEncoding;
4090 std::string BlobContentLanguage;
4091 std::vector<std::uint8_t> BlobContentMD5;
4092 std::string BlobCacheControl;
4093 std::map<std::string, std::string> Metadata;
4094 Nullable<std::string> LeaseId;
4095 std::string BlobContentDisposition;
4096 Nullable<std::string> EncryptionKey;
4097 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4098 Nullable<std::string> EncryptionAlgorithm;
4099 Nullable<std::string> EncryptionScope;
4100 Nullable<DateTime> IfModifiedSince;
4101 Nullable<DateTime> IfUnmodifiedSince;
4102 ETag IfMatch;
4103 ETag IfNoneMatch;
4104 Nullable<std::string> IfTags;
4105 Nullable<std::string> BlobTagsString;
4106 Nullable<DateTime> ImmutabilityPolicyExpiry;
4107 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4108 Nullable<bool> LegalHold;
4109 };
4110 static Response<Models::CreateAppendBlobResult> Create(
4111 Core::Http::_internal::HttpPipeline& pipeline,
4112 const Core::Url& url,
4113 const CreateAppendBlobOptions& options,
4114 const Core::Context& context);
4115 struct AppendAppendBlobBlockOptions final
4116 {
4117 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4118 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4119 Nullable<std::string> LeaseId;
4120 Nullable<std::int64_t> MaxSize;
4121 Nullable<std::int64_t> AppendPosition;
4122 Nullable<std::string> EncryptionKey;
4123 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4124 Nullable<std::string> EncryptionAlgorithm;
4125 Nullable<std::string> EncryptionScope;
4126 Nullable<DateTime> IfModifiedSince;
4127 Nullable<DateTime> IfUnmodifiedSince;
4128 ETag IfMatch;
4129 ETag IfNoneMatch;
4130 Nullable<std::string> IfTags;
4131 };
4132 static Response<Models::AppendBlockResult> AppendBlock(
4133 Core::Http::_internal::HttpPipeline& pipeline,
4134 const Core::Url& url,
4135 Core::IO::BodyStream& requestBody,
4136 const AppendAppendBlobBlockOptions& options,
4137 const Core::Context& context);
4138 struct AppendAppendBlobBlockFromUriOptions final
4139 {
4140 std::string SourceUrl;
4141 Nullable<std::string> SourceRange;
4142 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4143 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4144 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4145 Nullable<std::string> EncryptionKey;
4146 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4147 Nullable<std::string> EncryptionAlgorithm;
4148 Nullable<std::string> EncryptionScope;
4149 Nullable<std::string> LeaseId;
4150 Nullable<std::int64_t> MaxSize;
4151 Nullable<std::int64_t> AppendPosition;
4152 Nullable<DateTime> IfModifiedSince;
4153 Nullable<DateTime> IfUnmodifiedSince;
4154 ETag IfMatch;
4155 ETag IfNoneMatch;
4156 Nullable<std::string> IfTags;
4157 Nullable<DateTime> SourceIfModifiedSince;
4158 Nullable<DateTime> SourceIfUnmodifiedSince;
4159 ETag SourceIfMatch;
4160 ETag SourceIfNoneMatch;
4161 Nullable<std::string> CopySourceAuthorization;
4162 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4163 };
4164 static Response<Models::AppendBlockFromUriResult> AppendBlockFromUri(
4165 Core::Http::_internal::HttpPipeline& pipeline,
4166 const Core::Url& url,
4167 const AppendAppendBlobBlockFromUriOptions& options,
4168 const Core::Context& context);
4169 struct SealAppendBlobOptions final
4170 {
4171 Nullable<std::string> LeaseId;
4172 Nullable<DateTime> IfModifiedSince;
4173 Nullable<DateTime> IfUnmodifiedSince;
4174 ETag IfMatch;
4175 ETag IfNoneMatch;
4176 Nullable<std::int64_t> AppendPosition;
4177 };
4178 static Response<Models::SealAppendBlobResult> Seal(
4179 Core::Http::_internal::HttpPipeline& pipeline,
4180 const Core::Url& url,
4181 const SealAppendBlobOptions& options,
4182 const Core::Context& context);
4183 };
4184 class BlockBlobClient final {
4185 public:
4186 struct UploadBlockBlobOptions final
4187 {
4188 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4189 std::string BlobContentType;
4190 std::string BlobContentEncoding;
4191 std::string BlobContentLanguage;
4192 std::vector<std::uint8_t> BlobContentMD5;
4193 std::string BlobCacheControl;
4194 std::map<std::string, std::string> Metadata;
4195 Nullable<std::string> LeaseId;
4196 std::string BlobContentDisposition;
4197 Nullable<std::string> EncryptionKey;
4198 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4199 Nullable<std::string> EncryptionAlgorithm;
4200 Nullable<std::string> EncryptionScope;
4201 Nullable<Models::AccessTier> Tier;
4202 Nullable<DateTime> IfModifiedSince;
4203 Nullable<DateTime> IfUnmodifiedSince;
4204 ETag IfMatch;
4205 ETag IfNoneMatch;
4206 Nullable<std::string> IfTags;
4207 Nullable<std::string> BlobTagsString;
4208 Nullable<DateTime> ImmutabilityPolicyExpiry;
4209 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4210 Nullable<bool> LegalHold;
4211 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4212 };
4213 static Response<Models::UploadBlockBlobResult> Upload(
4214 Core::Http::_internal::HttpPipeline& pipeline,
4215 const Core::Url& url,
4216 Core::IO::BodyStream& requestBody,
4217 const UploadBlockBlobOptions& options,
4218 const Core::Context& context);
4219 struct UploadBlockBlobFromUriOptions final
4220 {
4221 std::string BlobContentType;
4222 std::string BlobContentEncoding;
4223 std::string BlobContentLanguage;
4224 std::vector<std::uint8_t> BlobContentMD5;
4225 std::string BlobCacheControl;
4226 std::map<std::string, std::string> Metadata;
4227 Nullable<std::string> LeaseId;
4228 std::string BlobContentDisposition;
4229 Nullable<std::string> EncryptionKey;
4230 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4231 Nullable<std::string> EncryptionAlgorithm;
4232 Nullable<std::string> EncryptionScope;
4233 Nullable<Models::AccessTier> Tier;
4234 Nullable<DateTime> IfModifiedSince;
4235 Nullable<DateTime> IfUnmodifiedSince;
4236 ETag IfMatch;
4237 ETag IfNoneMatch;
4238 Nullable<std::string> IfTags;
4239 Nullable<DateTime> SourceIfModifiedSince;
4240 Nullable<DateTime> SourceIfUnmodifiedSince;
4241 ETag SourceIfMatch;
4242 ETag SourceIfNoneMatch;
4243 Nullable<std::string> SourceIfTags;
4244 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4245 Nullable<std::string> BlobTagsString;
4246 std::string CopySource;
4247 Nullable<bool> CopySourceBlobProperties;
4248 Nullable<std::string> CopySourceAuthorization;
4249 Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
4250 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4251 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4252 };
4253 static Response<Models::UploadBlockBlobFromUriResult> UploadFromUri(
4254 Core::Http::_internal::HttpPipeline& pipeline,
4255 const Core::Url& url,
4256 const UploadBlockBlobFromUriOptions& options,
4257 const Core::Context& context);
4258 struct StageBlockBlobBlockOptions final
4259 {
4260 std::string BlockId;
4261 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4262 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4263 Nullable<std::string> LeaseId;
4264 Nullable<std::string> EncryptionKey;
4265 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4266 Nullable<std::string> EncryptionAlgorithm;
4267 Nullable<std::string> EncryptionScope;
4268 };
4269 static Response<Models::StageBlockResult> StageBlock(
4270 Core::Http::_internal::HttpPipeline& pipeline,
4271 const Core::Url& url,
4272 Core::IO::BodyStream& requestBody,
4273 const StageBlockBlobBlockOptions& options,
4274 const Core::Context& context);
4275 struct StageBlockBlobBlockFromUriOptions final
4276 {
4277 std::string BlockId;
4278 std::string SourceUrl;
4279 Nullable<std::string> SourceRange;
4280 Nullable<std::vector<std::uint8_t>> SourceContentMD5;
4281 Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
4282 Nullable<std::string> EncryptionKey;
4283 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4284 Nullable<std::string> EncryptionAlgorithm;
4285 Nullable<std::string> EncryptionScope;
4286 Nullable<std::string> LeaseId;
4287 Nullable<DateTime> SourceIfModifiedSince;
4288 Nullable<DateTime> SourceIfUnmodifiedSince;
4289 ETag SourceIfMatch;
4290 ETag SourceIfNoneMatch;
4291 Nullable<std::string> CopySourceAuthorization;
4292 Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4293 };
4294 static Response<Models::StageBlockFromUriResult> StageBlockFromUri(
4295 Core::Http::_internal::HttpPipeline& pipeline,
4296 const Core::Url& url,
4297 const StageBlockBlobBlockFromUriOptions& options,
4298 const Core::Context& context);
4299 struct CommitBlockBlobBlockListOptions final
4300 {
4301 Models::_detail::BlockLookupList Blocks;
4302 std::string BlobCacheControl;
4303 std::string BlobContentType;
4304 std::string BlobContentEncoding;
4305 std::string BlobContentLanguage;
4306 std::vector<std::uint8_t> BlobContentMD5;
4307 Nullable<std::vector<std::uint8_t>> TransactionalContentMD5;
4308 Nullable<std::vector<std::uint8_t>> TransactionalContentCrc64;
4309 std::map<std::string, std::string> Metadata;
4310 Nullable<std::string> LeaseId;
4311 std::string BlobContentDisposition;
4312 Nullable<std::string> EncryptionKey;
4313 Nullable<std::vector<std::uint8_t>> EncryptionKeySha256;
4314 Nullable<std::string> EncryptionAlgorithm;
4315 Nullable<std::string> EncryptionScope;
4316 Nullable<Models::AccessTier> Tier;
4317 Nullable<DateTime> IfModifiedSince;
4318 Nullable<DateTime> IfUnmodifiedSince;
4319 ETag IfMatch;
4320 ETag IfNoneMatch;
4321 Nullable<std::string> IfTags;
4322 Nullable<std::string> BlobTagsString;
4323 Nullable<DateTime> ImmutabilityPolicyExpiry;
4324 Nullable<Models::BlobImmutabilityPolicyMode> ImmutabilityPolicyMode;
4325 Nullable<bool> LegalHold;
4326 };
4327 static Response<Models::CommitBlockListResult> CommitBlockList(
4328 Core::Http::_internal::HttpPipeline& pipeline,
4329 const Core::Url& url,
4330 const CommitBlockBlobBlockListOptions& options,
4331 const Core::Context& context);
4332 struct GetBlockBlobBlockListOptions final
4333 {
4334 Nullable<std::string> Snapshot;
4335 Models::BlockListType ListType;
4336 Nullable<std::string> LeaseId;
4337 Nullable<std::string> IfTags;
4338 };
4339 static Response<Models::GetBlockListResult> GetBlockList(
4340 Core::Http::_internal::HttpPipeline& pipeline,
4341 const Core::Url& url,
4342 const GetBlockBlobBlockListOptions& options,
4343 const Core::Context& context);
4344 };
4345 } // namespace _detail
4346}}} // 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