azure-storage-blobs
Loading...
Searching...
No Matches
blob_options.hpp
1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4#pragma once
5
6#include "azure/storage/blobs/rest_client.hpp"
7
8#include <azure/core/internal/client_options.hpp>
9#include <azure/core/internal/extendable_enumeration.hpp>
10#include <azure/core/match_conditions.hpp>
11#include <azure/core/modified_conditions.hpp>
12#include <azure/storage/common/access_conditions.hpp>
13#include <azure/storage/common/crypt.hpp>
14
15#include <chrono>
16#include <cstdint>
17#include <memory>
18#include <numeric>
19#include <string>
20#include <vector>
21
22namespace Azure { namespace Storage { namespace Blobs {
23
28 class BlobAudience final : public Azure::Core::_internal::ExtendableEnumeration<BlobAudience> {
29 public:
38 explicit BlobAudience(std::string blobAudience) : ExtendableEnumeration(std::move(blobAudience))
39 {
40 }
41
49 static BlobAudience CreateBlobServiceAccountAudience(const std::string& storageAccountName)
50 {
51 return BlobAudience("https://" + storageAccountName + ".blob.core.windows.net/");
52 }
53
58 AZ_STORAGE_BLOBS_DLLEXPORT const static BlobAudience DefaultAudience;
59 };
60
64 struct BlobContainerAccessConditions final : public Azure::ModifiedConditions,
65 public LeaseAccessConditions
66 {
67 };
68
73 {
78 virtual ~TagAccessConditions() = default;
79
85 Azure::Nullable<std::string> TagConditions;
86 };
87
91 struct BlobAccessConditions : public Azure::ModifiedConditions,
92 public Azure::MatchConditions,
93 public LeaseAccessConditions,
95 {
96 };
97
101 struct LeaseBlobAccessConditions final : public Azure::ModifiedConditions,
102 public Azure::MatchConditions,
104 {
105 };
106
111 {
116 Azure::Nullable<int64_t> IfMaxSizeLessThanOrEqual;
117
122 Azure::Nullable<int64_t> IfAppendPositionEqual;
123 };
124
129 {
134 Azure::Nullable<int64_t> IfSequenceNumberLessThan;
135
140 Azure::Nullable<int64_t> IfSequenceNumberLessThanOrEqual;
141
146 Azure::Nullable<int64_t> IfSequenceNumberEqual;
147 };
148
153 struct EncryptionKey final
154 {
158 std::string Key;
159
163 std::vector<uint8_t> KeyHash;
164
169 };
170
174 struct BlobClientOptions final : Azure::Core::_internal::ClientOptions
175 {
179 Azure::Nullable<EncryptionKey> CustomerProvidedKey;
180
184 Azure::Nullable<std::string> EncryptionScope;
185
194
198 std::string ApiVersion;
199
206
212 Azure::Nullable<BlobAudience> Audience;
213 };
214
219 {
224 Azure::Nullable<std::string> Prefix;
225
234 Azure::Nullable<std::string> ContinuationToken;
235
239 Azure::Nullable<int32_t> PageSizeHint;
240
244 Models::ListBlobContainersIncludeFlags Include = Models::ListBlobContainersIncludeFlags::None;
245 };
246
251 {
256 Azure::DateTime StartsOn = std::chrono::system_clock::now();
257 };
258
263 {
264 };
265
270 {
271 };
272
277 {
278 };
279
284 {
285 };
286
291 {
298 Azure::Nullable<std::string> ContinuationToken;
299
303 Azure::Nullable<int32_t> PageSizeHint;
304 };
305
310 {
316
320 Storage::Metadata Metadata;
321
325 Azure::Nullable<std::string> DefaultEncryptionScope;
326
331 Azure::Nullable<bool> PreventEncryptionScopeOverride;
332 };
333
338 {
343 };
344
350 {
351 };
352
357 {
361 LeaseAccessConditions SourceAccessConditions;
362 };
363
368 {
372 LeaseAccessConditions AccessConditions;
373 };
374
379 {
380 struct : public LeaseAccessConditions
381 {
386 Azure::Nullable<Azure::DateTime> IfModifiedSince;
387 }
391 };
392
397 struct ListBlobsOptions final
398 {
403 Azure::Nullable<std::string> Prefix;
404
413 Azure::Nullable<std::string> ContinuationToken;
414
418 Azure::Nullable<int32_t> PageSizeHint;
419
423 Models::ListBlobsIncludeFlags Include = Models::ListBlobsIncludeFlags::None;
424
428 Azure::Nullable<std::string> StartFrom;
429 };
430
435 {
439 LeaseAccessConditions AccessConditions;
440 };
441
446 {
452
457 std::vector<Models::SignedIdentifier> SignedIdentifiers;
458
463 };
464
469 {
474 };
475
480 {
485 };
486
491 {
496 };
497
502 {
508 Azure::Nullable<Models::RehydratePriority> RehydratePriority;
509 struct : public LeaseAccessConditions, public TagAccessConditions
510 {
511 }
515 };
516
521 {
529 Storage::Metadata Metadata;
530
534 std::map<std::string, std::string> Tags;
535
540
541 struct : public Azure::ModifiedConditions,
542 public Azure::MatchConditions,
543 public LeaseAccessConditions,
545 {
546 }
552
556 Azure::Nullable<Models::AccessTier> AccessTier;
557
563 Azure::Nullable<Models::RehydratePriority> RehydratePriority;
564
568 Azure::Nullable<bool> ShouldSealDestination;
569
573 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
574
578 Azure::Nullable<bool> HasLegalHold;
579 };
580
585 {
593 Storage::Metadata Metadata;
594
598 std::map<std::string, std::string> Tags;
599
604
605 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
606 {
607 }
613
617 Azure::Nullable<Models::AccessTier> AccessTier;
618
624 Azure::Nullable<ContentHash> TransactionalContentHash;
625
629 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
633 Azure::Nullable<bool> HasLegalHold;
634
640
648
653 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
654 };
655
660 {
664 LeaseAccessConditions AccessConditions;
665 };
666
671 {
675 Azure::Nullable<Core::Http::HttpRange> Range;
676
681 Azure::Nullable<HashAlgorithm> RangeHashAlgorithm;
682
687 };
688
693 {
697 Azure::Nullable<Core::Http::HttpRange> Range;
698
702 struct
703 {
709 int64_t InitialChunkSize = 256 * 1024 * 1024;
710
714 int64_t ChunkSize = 4 * 1024 * 1024;
715
719 int32_t Concurrency = 5;
721 };
722
727 {
734 Storage::Metadata Metadata;
735
740 };
741
745 struct DeleteBlobOptions final
746 {
752 Azure::Nullable<Models::DeleteSnapshotsOption> DeleteSnapshots;
753
758 };
759
764 {
765 };
766
771 {
776 };
777
781 struct RenewLeaseOptions final
782 {
787 };
788
793 {
798 };
799
804 {
809 };
810
814 struct BreakLeaseOptions final
815 {
823 Azure::Nullable<std::chrono::seconds> BreakPeriod;
824
829 };
830
835 {
836 struct : public Azure::ModifiedConditions,
837 public Azure::MatchConditions,
838 public LeaseAccessConditions,
840 {
841 }
845 };
846
851 {
852 struct : public Azure::ModifiedConditions,
853 public Azure::MatchConditions,
854 public LeaseAccessConditions,
856 {
857 }
861 };
862
867 {
873 Azure::Nullable<ContentHash> TransactionalContentHash;
874
879
883 Storage::Metadata Metadata;
884
888 std::map<std::string, std::string> Tags;
889
893 Azure::Nullable<Models::AccessTier> AccessTier;
894
899
903 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
904
908 Azure::Nullable<bool> HasLegalHold;
909 };
910
915 {
920
924 Storage::Metadata Metadata;
925
929 std::map<std::string, std::string> Tags;
930
934 Azure::Nullable<Models::AccessTier> AccessTier;
935
939 struct
940 {
945 int64_t SingleUploadThreshold = 256 * 1024 * 1024;
946
951 Azure::Nullable<int64_t> ChunkSize;
952
956 int32_t Concurrency = 5;
958
962 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
963
967 Azure::Nullable<bool> HasLegalHold;
968 };
969
974 {
979
984
988 Storage::Metadata Metadata;
989
993 std::map<std::string, std::string> Tags;
994
998 Azure::Nullable<Models::AccessTier> AccessTier;
999
1004
1005 struct : public Azure::ModifiedConditions,
1006 public Azure::MatchConditions,
1007 public TagAccessConditions
1008 {
1009 }
1015
1022 Azure::Nullable<ContentHash> TransactionalContentHash;
1023
1029
1037
1042 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1043 };
1044
1049 {
1055 Azure::Nullable<ContentHash> TransactionalContentHash;
1056
1060 LeaseAccessConditions AccessConditions;
1061 };
1062
1067 {
1071 Azure::Nullable<Core::Http::HttpRange> SourceRange;
1072
1078 Azure::Nullable<ContentHash> TransactionalContentHash;
1079
1083 LeaseAccessConditions AccessConditions;
1084
1085 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
1086 {
1087 }
1091
1099
1104 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1105 };
1106
1111 {
1116
1120 Storage::Metadata Metadata;
1121
1125 std::map<std::string, std::string> Tags;
1126
1130 Azure::Nullable<Models::AccessTier> AccessTier;
1131
1136
1140 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1141
1145 Azure::Nullable<bool> HasLegalHold;
1146 };
1147
1152 {
1158
1159 struct : public LeaseAccessConditions, public TagAccessConditions
1160 {
1161 }
1165 };
1166
1171 public:
1183 const std::string& recordSeparator = std::string(),
1184 const std::string& columnSeparator = std::string(),
1185 const std::string& quotationCharacter = std::string(),
1186 const std::string& escapeCharacter = std::string(),
1187 bool hasHeaders = false);
1195 const std::string& recordSeparator = std::string());
1202
1203 private:
1204 Models::_detail::QueryFormatType m_format;
1205 std::string m_recordSeparator;
1206 std::string m_columnSeparator;
1207 std::string m_quotationCharacter;
1208 std::string m_escapeCharacter;
1209 bool m_hasHeaders = false;
1210
1211 friend class BlockBlobClient;
1212 };
1213
1218 public:
1230 const std::string& recordSeparator = std::string(),
1231 const std::string& columnSeparator = std::string(),
1232 const std::string& quotationCharacter = std::string(),
1233 const std::string& escapeCharacter = std::string(),
1234 bool hasHeaders = false);
1242 const std::string& recordSeparator = std::string());
1250 std::vector<Models::BlobQueryArrowField> schema);
1251
1252 private:
1253 Models::_detail::QueryFormatType m_format;
1254 std::string m_recordSeparator;
1255 std::string m_columnSeparator;
1256 std::string m_quotationCharacter;
1257 std::string m_escapeCharacter;
1258 bool m_hasHeaders = false;
1259 std::vector<Models::BlobQueryArrowField> m_schema;
1260
1261 friend class BlockBlobClient;
1262 };
1263
1267 struct BlobQueryError final
1268 {
1272 std::string Name;
1276 std::string Description;
1280 bool IsFatal = false;
1284 int64_t Position;
1285 };
1286
1290 struct QueryBlobOptions final
1291 {
1307 std::function<void(int64_t, int64_t)> ProgressHandler;
1312 std::function<void(BlobQueryError)> ErrorHandler;
1313 };
1314
1319 {
1324
1328 Storage::Metadata Metadata;
1329
1333 std::map<std::string, std::string> Tags;
1334
1339
1343 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1344
1348 Azure::Nullable<bool> HasLegalHold;
1349 };
1350
1355 {
1361 Azure::Nullable<ContentHash> TransactionalContentHash;
1362
1367 };
1368
1373 {
1377 Azure::Nullable<Core::Http::HttpRange> SourceRange;
1378
1384 Azure::Nullable<ContentHash> TransactionalContentHash;
1385
1390
1398
1403 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1404 };
1405
1410 {
1417 };
1418
1423 {
1428 Azure::Nullable<int64_t> SequenceNumber;
1429
1434
1438 Storage::Metadata Metadata;
1439
1443 Azure::Nullable<Models::AccessTier> AccessTier;
1444
1448 std::map<std::string, std::string> Tags;
1449
1454
1458 Azure::Nullable<Models::BlobImmutabilityPolicy> ImmutabilityPolicy;
1459
1463 Azure::Nullable<bool> HasLegalHold;
1464 };
1465
1470 {
1476 Azure::Nullable<ContentHash> TransactionalContentHash;
1477
1482 };
1483
1488 {
1494 Azure::Nullable<ContentHash> TransactionalContentHash;
1495
1500
1501 struct : public Azure::ModifiedConditions, public Azure::MatchConditions
1502 {
1503 }
1507
1515
1520 Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;
1521 };
1522
1527 {
1532 };
1533
1538 {
1543 };
1544
1549 {
1553 Azure::Nullable<int64_t> SequenceNumber;
1554
1559 };
1560
1565 {
1570 Azure::Nullable<Core::Http::HttpRange> Range;
1571
1576
1583 Azure::Nullable<std::string> ContinuationToken;
1584
1591 Azure::Nullable<int32_t> PageSizeHint;
1592 };
1593
1598 {
1603 };
1604
1609 {
1610 };
1611
1616 {
1620 struct
1621 {
1626 Azure::Nullable<Azure::DateTime> IfUnmodifiedSince;
1628 };
1629
1634 {
1635 };
1636
1641 {
1642 };
1643
1644 namespace _detail {
1645 inline std::string TagsToString(const std::map<std::string, std::string>& tags)
1646 {
1647 return std::accumulate(
1648 tags.begin(),
1649 tags.end(),
1650 std::string(),
1651 [](const std::string& a, const std::pair<std::string, std::string>& b) {
1652 return a + (a.empty() ? "" : "&") + _internal::UrlEncodeQueryParameter(b.first) + "="
1653 + _internal::UrlEncodeQueryParameter(b.second);
1654 });
1655 }
1656 } // namespace _detail
1657}}} // namespace Azure::Storage::Blobs
Audiences available for blob service.
Definition blob_options.hpp:28
AZ_STORAGE_BLOBS_DLLEXPORT static const BlobAudience DefaultAudience
Default Audience. Use to acquire a token for authorizing requests to any Azure Storage account.
Definition blob_options.hpp:58
BlobAudience(std::string blobAudience)
Construct a new BlobAudience object.
Definition blob_options.hpp:38
static BlobAudience CreateBlobServiceAccountAudience(const std::string &storageAccountName)
The service endpoint for a given storage account. Use this method to acquire a token for authorizing ...
Definition blob_options.hpp:49
Blob Query text configuration for input.
Definition blob_options.hpp:1170
static BlobQueryInputTextOptions CreateJsonTextOptions(const std::string &recordSeparator=std::string())
Creates Json text configuration.
static BlobQueryInputTextOptions CreateCsvTextOptions(const std::string &recordSeparator=std::string(), const std::string &columnSeparator=std::string(), const std::string &quotationCharacter=std::string(), const std::string &escapeCharacter=std::string(), bool hasHeaders=false)
Creates CSV text configuration.
static BlobQueryInputTextOptions CreateParquetTextOptions()
Creates Parquet text configuration.
Blob Query text configuration for output.
Definition blob_options.hpp:1217
static BlobQueryOutputTextOptions CreateArrowTextOptions(std::vector< Models::BlobQueryArrowField > schema)
Creates Arrow text configuration.
static BlobQueryOutputTextOptions CreateCsvTextOptions(const std::string &recordSeparator=std::string(), const std::string &columnSeparator=std::string(), const std::string &quotationCharacter=std::string(), const std::string &escapeCharacter=std::string(), bool hasHeaders=false)
Creates CSV text configuration.
static BlobQueryOutputTextOptions CreateJsonTextOptions(const std::string &recordSeparator=std::string())
Creates Json text configuration.
The BlockBlobClient allows you to manipulate Azure Storage block blobs.
Definition block_blob_client.hpp:31
Optional, default 'replace'. Indicates if source tags should be copied or replaced with the tags spec...
Definition rest_client.hpp:2171
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
The algorithm used to produce the encryption key hash. Currently, the only accepted value is "AES256"...
Definition rest_client.hpp:43
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 None
Definition rest_client.hpp:346
Optional parameters for Azure::Storage::Blobs::BlobClient::AbortCopyFromUri.
Definition blob_options.hpp:660
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:664
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Acquire.
Definition blob_options.hpp:771
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:775
Specifies access conditions for an append blob.
Definition blob_options.hpp:111
Azure::Nullable< int64_t > IfAppendPositionEqual
Ensures that the AppendBlock operation succeeds only if the append position is equal to this value.
Definition blob_options.hpp:122
Azure::Nullable< int64_t > IfMaxSizeLessThanOrEqual
Ensures that the AppendBlock operation succeeds only if the append blob's size is less than or equal ...
Definition blob_options.hpp:116
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::AppendBlockFromUri.
Definition blob_options.hpp:1373
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1384
Azure::Nullable< Core::Http::HttpRange > SourceRange
Uploads only the bytes of the source blob in the specified range.
Definition blob_options.hpp:1377
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1403
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1397
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1389
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::AppendBlock.
Definition blob_options.hpp:1355
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1366
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1361
Specifies access conditions for a blob.
Definition blob_options.hpp:95
Client options used to initialize all kinds of blob clients.
Definition blob_options.hpp:175
std::string ApiVersion
Definition blob_options.hpp:198
Azure::Nullable< BlobAudience > Audience
Definition blob_options.hpp:212
std::string SecondaryHostForRetryReads
Definition blob_options.hpp:193
Azure::Nullable< EncryptionKey > CustomerProvidedKey
Holds the customer provided key used when making requests.
Definition blob_options.hpp:179
bool EnableTenantDiscovery
Definition blob_options.hpp:205
Azure::Nullable< std::string > EncryptionScope
Holds the encryption scope used when making requests.
Definition blob_options.hpp:184
Specifies access conditions for a container.
Definition blob_options.hpp:66
Blob Query Error.
Definition blob_options.hpp:1268
bool IsFatal
If the error is a fatal error.
Definition blob_options.hpp:1280
std::string Description
Error description.
Definition blob_options.hpp:1276
std::string Name
Error name.
Definition blob_options.hpp:1272
int64_t Position
Definition blob_options.hpp:1284
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Break.
Definition blob_options.hpp:815
Azure::Nullable< std::chrono::seconds > BreakPeriod
Proposed duration the lease should continue before it is broken, in seconds, between 0 and 60....
Definition blob_options.hpp:823
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:828
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Change.
Definition blob_options.hpp:793
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:797
Optional parameters for Azure::Storage::Blobs::PageBlobClient::ClearPages.
Definition blob_options.hpp:1527
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1531
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::CommitBlockList.
Definition blob_options.hpp:1111
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:1130
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1145
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1135
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1125
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1120
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1140
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1115
Optional parameters for Azure::Storage::Blobs::BlobClient::CopyFromUri.
Definition blob_options.hpp:585
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:633
Azure::Nullable< Models::AccessTier > AccessTier
Specifies the tier to be set on the target blob.
Definition blob_options.hpp:617
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:603
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:629
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:624
Models::BlobCopySourceTagsMode CopySourceTagsMode
Definition blob_options.hpp:639
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:593
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:598
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:653
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:647
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::Create.
Definition blob_options.hpp:1319
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1343
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1328
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1338
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1333
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1323
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1348
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Create.
Definition blob_options.hpp:310
Storage::Metadata Metadata
Name-value pairs to associate with the container as metadata.
Definition blob_options.hpp:320
Azure::Nullable< std::string > DefaultEncryptionScope
The encryption scope to use as the default on the container.
Definition blob_options.hpp:325
Models::PublicAccessType AccessType
Specifies whether data in the container may be accessed publicly and the level of access.
Definition blob_options.hpp:315
Azure::Nullable< bool > PreventEncryptionScopeOverride
If true, prevents any blob upload from specifying a different encryption scope.
Definition blob_options.hpp:331
Optional parameters for Azure::Storage::Blobs::BlobClient::CreateSnapshot.
Definition blob_options.hpp:727
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:734
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:739
Optional parameters for Azure::Storage::Blobs::PageBlobClient::Create.
Definition blob_options.hpp:1423
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:1458
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:1443
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:1438
Azure::Nullable< int64_t > SequenceNumber
The sequence number is a user-controlled value that you can use to track requests....
Definition blob_options.hpp:1428
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1453
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:1448
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:1463
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:1433
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::Delete.
Definition blob_options.hpp:338
BlobContainerAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:342
Optional parameters for Azure::Storage::Blobs::BlobClient::DeleteImmutabilityPolicy.
Definition blob_options.hpp:1634
Optional parameters for Azure::Storage::Blobs::BlobClient::Delete.
Definition blob_options.hpp:746
Azure::Nullable< Models::DeleteSnapshotsOption > DeleteSnapshots
Specifies to delete either the base blob and all of its snapshots, or only the blob's snapshots and n...
Definition blob_options.hpp:752
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:757
Optional parameters for Azure::Storage::Blobs::BlobClient::Download.
Definition blob_options.hpp:671
Azure::Nullable< Core::Http::HttpRange > Range
Downloads only the bytes of the blob in the specified range.
Definition blob_options.hpp:675
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:686
Azure::Nullable< HashAlgorithm > RangeHashAlgorithm
When specified together with Range, service returns hash for the range as long as the range is less t...
Definition blob_options.hpp:681
Optional parameters for Azure::Storage::Blobs::BlobClient::DownloadTo.
Definition blob_options.hpp:693
Azure::Nullable< Core::Http::HttpRange > Range
Downloads only the bytes of the blob in the specified range.
Definition blob_options.hpp:697
int64_t ChunkSize
The maximum number of bytes in a single request.
Definition blob_options.hpp:714
int64_t InitialChunkSize
The size of the first range request in bytes. Blobs smaller than this limit will be downloaded in a s...
Definition blob_options.hpp:709
int32_t Concurrency
The maximum number of threads that may be used in a parallel transfer.
Definition blob_options.hpp:719
struct Azure::Storage::Blobs::DownloadBlobToOptions::@0 TransferOptions
Options for parallel transfer.
Wrapper for an encryption key to be used with client provided key server-side encryption.
Definition blob_options.hpp:154
std::vector< uint8_t > KeyHash
SHA256 hash of the AES256 encryption key.
Definition blob_options.hpp:163
std::string Key
Base64 encoded string of the AES256 encryption key.
Definition blob_options.hpp:158
Models::EncryptionAlgorithmType Algorithm
The algorithm for Azure Blob Storage to encrypt with.
Definition blob_options.hpp:168
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::FindBlobsByTags.
Definition blob_options.hpp:291
Azure::Nullable< std::string > ContinuationToken
A string value that identifies the portion of the result set to be returned with the next operation....
Definition blob_options.hpp:298
Azure::Nullable< int32_t > PageSizeHint
Specifies the maximum number of blobs to return.
Definition blob_options.hpp:303
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetAccountInfo.
Definition blob_options.hpp:277
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetAccessPolicy.
Definition blob_options.hpp:435
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:439
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::GetProperties.
Definition blob_options.hpp:368
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:372
Optional parameters for Azure::Storage::Blobs::BlobClient::GetProperties.
Definition blob_options.hpp:469
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:473
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetStatistics.
Definition blob_options.hpp:284
Optional parameters for Azure::Storage::Blobs::BlobClient::GetTags.
Definition blob_options.hpp:851
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::GetBlockList.
Definition blob_options.hpp:1152
Models::BlockListType ListType
Specifies whether to return the list of committed blocks, the list of uncommitted blocks,...
Definition blob_options.hpp:1157
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::PageBlobClient::GetPageRanges.
Definition blob_options.hpp:1565
Azure::Nullable< Core::Http::HttpRange > Range
Optionally specifies the range of bytes over which to list ranges, inclusively. If omitted,...
Definition blob_options.hpp:1570
Azure::Nullable< std::string > ContinuationToken
This parameter identifies the portion of the ranges to be returned with the next operation....
Definition blob_options.hpp:1583
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1575
Azure::Nullable< int32_t > PageSizeHint
This parameter specifies the maximum number of page ranges to return. If the request specifies a valu...
Definition blob_options.hpp:1591
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetProperties.
Definition blob_options.hpp:270
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::GetUserDelegationKey.
Definition blob_options.hpp:251
Azure::DateTime StartsOn
Start time for the key's validity. The time should be specified in UTC, and will be truncated to seco...
Definition blob_options.hpp:256
Specifies access conditions for blob lease operations.
Definition blob_options.hpp:104
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::ListBlobContainers.
Definition blob_options.hpp:219
Azure::Nullable< std::string > Prefix
Specifies a string that filters the results to return only containers whose name begins with the spec...
Definition blob_options.hpp:224
Azure::Nullable< int32_t > PageSizeHint
Specifies the maximum number of containers to return.
Definition blob_options.hpp:239
Azure::Nullable< std::string > ContinuationToken
A string value that identifies the portion of the list of containers to be returned with the next lis...
Definition blob_options.hpp:234
Models::ListBlobContainersIncludeFlags Include
Specifies that the container's metadata be returned.
Definition blob_options.hpp:244
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::ListBlobs and Azure::Storage::Blo...
Definition blob_options.hpp:398
Azure::Nullable< std::string > Prefix
Specifies a string that filters the results to return only blobs whose name begins with the specified...
Definition blob_options.hpp:403
Azure::Nullable< int32_t > PageSizeHint
Specifies the maximum number of blobs to return.
Definition blob_options.hpp:418
Models::ListBlobsIncludeFlags Include
Specifies one or more datasets to include in the response.
Definition blob_options.hpp:423
Azure::Nullable< std::string > StartFrom
Specifies the relative path to list paths from.
Definition blob_options.hpp:428
Azure::Nullable< std::string > ContinuationToken
A string value that identifies the portion of the list of blobs to be returned with the next listing ...
Definition blob_options.hpp:413
Standard HTTP properties supported by containers and blobs.
Definition rest_client.hpp:1023
Specifies access conditions for a page blob.
Definition blob_options.hpp:129
Azure::Nullable< int64_t > IfSequenceNumberLessThanOrEqual
IfSequenceNumberLessThanOrEqual ensures that the page blob operation succeeds only if the blob's sequ...
Definition blob_options.hpp:140
Azure::Nullable< int64_t > IfSequenceNumberEqual
IfSequenceNumberEqual ensures that the page blob operation succeeds only if the blob's sequence numbe...
Definition blob_options.hpp:146
Azure::Nullable< int64_t > IfSequenceNumberLessThan
IfSequenceNumberLessThan ensures that the page blob operation succeeds only if the blob's sequence nu...
Definition blob_options.hpp:134
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Query.
Definition blob_options.hpp:1291
BlobQueryOutputTextOptions OutputTextConfiguration
Output text configuration.
Definition blob_options.hpp:1299
std::function< void(BlobQueryError)> ErrorHandler
Callback for error handling. If you don't specify one, the default will be used, which will ignore al...
Definition blob_options.hpp:1312
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1303
BlobQueryInputTextOptions InputTextConfiguration
Input text configuration.
Definition blob_options.hpp:1295
std::function< void(int64_t, int64_t)> ProgressHandler
Callback for progress handling.
Definition blob_options.hpp:1307
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Release.
Definition blob_options.hpp:804
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:808
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::RenameBlobContainer.
Definition blob_options.hpp:357
LeaseAccessConditions SourceAccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:361
Optional parameters for Azure::Storage::Blobs::BlobLeaseClient::Renew.
Definition blob_options.hpp:782
LeaseBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:786
Optional parameters for Azure::Storage::Blobs::PageBlobClient::Resize.
Definition blob_options.hpp:1538
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1542
Optional parameters for Azure::Storage::Blobs::AppendBlobClient::Seal.
Definition blob_options.hpp:1410
AppendBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1416
Optional parameters for Azure::Storage::Blobs::BlobClient::SetAccessTier.
Definition blob_options.hpp:502
Azure::Nullable< Models::RehydratePriority > RehydratePriority
Indicates the priority with which to rehydrate an archived blob. The priority can be set on a blob on...
Definition blob_options.hpp:508
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::SetAccessPolicy.
Definition blob_options.hpp:446
BlobContainerAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:462
Models::PublicAccessType AccessType
Specifies whether data in the container may be accessed publicly and the level of access.
Definition blob_options.hpp:451
std::vector< Models::SignedIdentifier > SignedIdentifiers
Stored access policies that you can use to provide fine grained control over container permissions.
Definition blob_options.hpp:457
Optional parameters for Azure::Storage::Blobs::BlobContainerClient::SetMetadata.
Definition blob_options.hpp:379
AccessConditions
Optional conditions that must be met to perform this operation.
Azure::Nullable< Azure::DateTime > IfModifiedSince
Specify this header to perform the operation only if the resource has been modified since the specifi...
Definition blob_options.hpp:386
Optional parameters for Azure::Storage::Blobs::BlobClient::SetHttpHeaders.
Definition blob_options.hpp:480
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:484
Optional parameters for Azure::Storage::Blobs::BlobClient::SetImmutabilityPolicy.
Definition blob_options.hpp:1616
Azure::Nullable< Azure::DateTime > IfUnmodifiedSince
Specify this header to perform the operation only if the resource has not been modified since the spe...
Definition blob_options.hpp:1626
struct Azure::Storage::Blobs::SetBlobImmutabilityPolicyOptions::@2 AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlobClient::SetMetadata.
Definition blob_options.hpp:491
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:495
Optional parameters for Azure::Storage::Blobs::BlobClient::SetTags.
Definition blob_options.hpp:835
AccessConditions
Optional conditions that must be met to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SetProperties.
Definition blob_options.hpp:263
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::StageBlockFromUri.
Definition blob_options.hpp:1067
Azure::Nullable< Core::Http::HttpRange > SourceRange
Uploads only the bytes of the source blob in the specified range.
Definition blob_options.hpp:1071
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1098
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1083
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1104
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1078
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::StageBlock.
Definition blob_options.hpp:1049
LeaseAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1060
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1055
Optional parameters for Azure::Storage::Blobs::BlobClient::StartCopyFromUri.
Definition blob_options.hpp:521
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:539
Azure::Nullable< Models::RehydratePriority > RehydratePriority
Indicates the priority with which to rehydrate an archived blob. The priority can be set on a blob on...
Definition blob_options.hpp:563
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:573
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:534
Azure::Nullable< bool > ShouldSealDestination
If the destination blob should be sealed. Only applicable for Append Blobs.
Definition blob_options.hpp:568
Storage::Metadata Metadata
Specifies user-defined name-value pairs associated with the blob. If no name-value pairs are specifie...
Definition blob_options.hpp:529
Azure::Nullable< Models::AccessTier > AccessTier
Specifies the tier to be set on the target blob.
Definition blob_options.hpp:556
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:578
Optional parameters for Azure::Storage::Blobs::PageBlobClient::StartCopyIncremental.
Definition blob_options.hpp:1598
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1602
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::SubmitBatch.
Definition blob_options.hpp:1641
Specifies HTTP options for conditional requests based on tags.
Definition blob_options.hpp:73
virtual ~TagAccessConditions()=default
Destructor.
Azure::Nullable< std::string > TagConditions
Optional SQL statement to apply to the tags of the Blob. Refer to https://learn.microsoft....
Definition blob_options.hpp:85
Optional parameters for Azure::Storage::Blobs::BlobServiceClient::UndeleteBlobContainer.
Definition blob_options.hpp:350
Optional parameters for Azure::Storage::Blobs::BlobClient::Undelete.
Definition blob_options.hpp:764
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UpdateSequenceNumber.
Definition blob_options.hpp:1549
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1558
Azure::Nullable< int64_t > SequenceNumber
An updated sequence number of your choosing, if Action is Max or Update.
Definition blob_options.hpp:1553
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::UploadFrom.
Definition blob_options.hpp:915
struct Azure::Storage::Blobs::UploadBlockBlobFromOptions::@1 TransferOptions
Options for parallel transfer.
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:967
int32_t Concurrency
The maximum number of threads that may be used in a parallel transfer.
Definition blob_options.hpp:956
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:919
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:962
int64_t SingleUploadThreshold
Blob smaller than this will be uploaded with a single upload operation. This value cannot be larger t...
Definition blob_options.hpp:945
Azure::Nullable< int64_t > ChunkSize
The maximum number of bytes in a single request. This value cannot be larger than 4000 MiB.
Definition blob_options.hpp:951
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:934
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:929
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:924
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::UploadFromUri.
Definition blob_options.hpp:974
Models::BlobCopySourceTagsMode CopySourceTagsMode
Definition blob_options.hpp:1028
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1022
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1003
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:983
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:988
bool CopySourceBlobProperties
Definition blob_options.hpp:978
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:998
SourceAccessConditions
Optional conditions that source must meet to perform this operation.
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1042
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:993
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1036
Optional parameters for Azure::Storage::Blobs::BlockBlobClient::Upload.
Definition blob_options.hpp:867
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:873
Models::BlobHttpHeaders HttpHeaders
The standard HTTP header system properties to set.
Definition blob_options.hpp:878
std::map< std::string, std::string > Tags
The tags to set for this blob.
Definition blob_options.hpp:888
Storage::Metadata Metadata
Name-value pairs associated with the blob as metadata.
Definition blob_options.hpp:883
Azure::Nullable< bool > HasLegalHold
Definition blob_options.hpp:908
BlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:898
Azure::Nullable< Models::AccessTier > AccessTier
Indicates the tier to be set on blob.
Definition blob_options.hpp:893
Azure::Nullable< Models::BlobImmutabilityPolicy > ImmutabilityPolicy
Definition blob_options.hpp:903
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UploadPagesFromUri.
Definition blob_options.hpp:1488
SourceAccessConditions
Optional conditions that the source must meet to perform this operation.
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1499
Azure::Nullable< Models::FileShareTokenIntent > FileRequestIntent
Definition blob_options.hpp:1520
std::string SourceAuthorization
Optional. Source authorization used to access the source file. The format is: <scheme> <signature> On...
Definition blob_options.hpp:1514
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1494
Optional parameters for Azure::Storage::Blobs::PageBlobClient::UploadPages.
Definition blob_options.hpp:1470
Azure::Nullable< ContentHash > TransactionalContentHash
Hash of the blob content. This hash is used to verify the integrity of the blob during transport....
Definition blob_options.hpp:1476
PageBlobAccessConditions AccessConditions
Optional conditions that must be met to perform this operation.
Definition blob_options.hpp:1481