azure-security-keyvault-certificates
Loading...
Searching...
No Matches
certificate_client_models.hpp
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
10#pragma once
11
12#include "azure/keyvault/certificates/dll_import_export.hpp"
13
14#include <azure/core/context.hpp>
15#include <azure/core/http/http.hpp>
16#include <azure/core/nullable.hpp>
17#include <azure/core/paged_response.hpp>
18#include <azure/core/response.hpp>
19
20#include <memory>
21#include <string>
22#include <unordered_map>
23#include <vector>
24
25namespace Azure { namespace Security { namespace KeyVault { namespace Certificates {
26 namespace _detail {
27 namespace Models {
28 struct CertificateBundle;
29 struct CertificateIssuerSetParameters;
30 struct CertificateIssuerUpdateParameters;
31 struct DeletedCertificateBundle;
32 struct IssuerBundle;
33 struct Contacts;
34 struct CertificatePolicy;
35 struct CertificateUpdateParameters;
36 struct CertificateMergeParameters;
37 struct CertificateImportParameters;
38 struct CertificateCreateParameters;
39 struct CertificateOperation;
40 struct CertificateItem;
41 struct DeletedCertificateItem;
42 struct CertificateIssuerItem;
43 } // namespace Models
44 class GetCertificatesPagedResponse;
45 class GetCertificateVersionsPagedResponse;
46 class GetDeletedCertificatesPagedResponse;
47 class GetCertificateIssuersPagedResponse;
48 } // namespace _detail
49 class CertificateClient;
50 class KeyVaultCertificateWithPolicy;
51 struct ImportCertificateOptions;
57 {
58 // Attributes
59
65 Azure::Nullable<Azure::DateTime> NotBefore;
66
72 Azure::Nullable<Azure::DateTime> ExpiresOn;
73
78 Azure::Nullable<Azure::DateTime> CreatedOn;
79
84 Azure::Nullable<Azure::DateTime> UpdatedOn;
85
91 Azure::Nullable<int32_t> RecoverableDays;
92
100 Azure::Nullable<std::string> RecoveryLevel;
101
102 // Properties
103
108 std::unordered_map<std::string, std::string> Tags;
109
114 std::string Name;
115
120 std::string IdUrl;
121
126 std::string VaultUrl;
127
132 std::string Version;
133
139 std::vector<uint8_t> X509Thumbprint;
140
145 Azure::Nullable<bool> Enabled;
146
152 Azure::Nullable<bool> PreserveCertificateOrder;
153
159
165 CertificateProperties(std::string const& name) : Name(name) {}
166
167 private:
168 // added friend classes to access private members
169 // for mapping from the old model to the new one
170 friend class CertificateClient;
171 friend class KeyVaultCertificate;
173 CertificateProperties(_detail::Models::CertificateBundle const& bundle);
174 CertificateProperties(_detail::Models::DeletedCertificateBundle const& bundle);
175 _detail::Models::CertificateUpdateParameters ToCertificateUpdateParameters();
176 CertificateProperties(_detail::Models::CertificateItem const& item);
177 };
178
184 public:
189 std::string KeyIdUrl;
190
196 std::string SecretIdUrl;
197
203
210 std::vector<uint8_t> Cer;
211
217 std::string const& Name() const { return Properties.Name; }
218
224 std::string const& IdUrl() const { return Properties.IdUrl; }
225
231 KeyVaultCertificate(CertificateProperties const& properties) : Properties(properties) {}
232
238
243 virtual ~KeyVaultCertificate() = default;
244
245 private:
246 // added friend classes to access private members
247 // for mapping from the old model to the new one
248 friend class CertificateClient;
250 KeyVaultCertificate(_detail::Models::CertificateBundle const& bundle);
251 KeyVaultCertificate(_detail::Models::DeletedCertificateBundle const& bundle);
252 };
253
258 class CertificateKeyType final {
259 private:
260 std::string m_value;
261
262 public:
268 explicit CertificateKeyType(std::string keyType) : m_value(std::move(keyType)) {}
269
275
281 bool operator==(const CertificateKeyType& other) const noexcept
282 {
283 return m_value == other.m_value;
284 }
285
291 bool operator!=(const CertificateKeyType& other) const noexcept { return !operator==(other); }
292
298 std::string const& ToString() const { return m_value; }
299
304 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyType Ec;
305
311 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyType EcHsm;
312
317 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyType Rsa;
318
323 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyType RsaHsm;
324 };
325
331 private:
332 std::string m_value;
333
334 public:
340 explicit CertificateKeyCurveName(std::string value)
341 {
342 if (value.empty())
343 {
344 throw std::invalid_argument("The value for the curve name can not be empty");
345 }
346 m_value = std::move(value);
347 }
348
354
360 bool operator==(const CertificateKeyCurveName& other) const noexcept
361 {
362 return m_value == other.m_value;
363 }
364
370 bool operator!=(const CertificateKeyCurveName& other) const noexcept
371 {
372 return !operator==(other);
373 }
374
379 std::string const& ToString() const { return m_value; }
380
389 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyCurveName P256;
390
399 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyCurveName P256K;
400
409 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyCurveName P384;
410
419 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyCurveName P521;
420 };
421
428 {
433 std::vector<std::string> DnsNames;
434
439 std::vector<std::string> Emails;
440
445 std::vector<std::string> UserPrincipalNames;
446 };
447
453 private:
454 std::string m_value;
455
456 public:
462 explicit CertificateContentType(std::string value)
463 {
464 if (value.empty())
465 {
466 throw std::invalid_argument("The value for the curve name can not be empty");
467 }
468 m_value = std::move(value);
469 }
470
476
482 bool operator==(const CertificateContentType& other) const noexcept
483 {
484 return m_value == other.m_value;
485 }
486
492 bool operator!=(const CertificateContentType& other) const noexcept
493 {
494 return !operator==(other);
495 }
496
501 std::string const& ToString() const { return m_value; }
502
511 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateContentType Pkcs12;
512
521 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateContentType Pem;
522 };
523
529 private:
530 std::string m_value;
531
532 public:
538 explicit CertificateKeyUsage(std::string value)
539 {
540 if (value.empty())
541 {
542 throw std::invalid_argument("The value for the curve name can not be empty");
543 }
544 m_value = std::move(value);
545 }
546
552
558 bool operator==(const CertificateKeyUsage& other) const noexcept
559 {
560 return m_value == other.m_value;
561 }
562
568 bool operator!=(const CertificateKeyUsage& other) const noexcept { return !operator==(other); }
569
574 std::string const& ToString() const { return m_value; }
575
581 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage DigitalSignature;
582
588 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage NonRepudiation;
589
595 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage KeyEncipherment;
596
602 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage DataEncipherment;
603
609 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage KeyAgreement;
610
616 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage KeyCertSign;
617
623 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage CrlSign;
624
630 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage EncipherOnly;
631
637 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificateKeyUsage DecipherOnly;
638 };
639
645 private:
646 std::string m_value;
647
648 public:
654 explicit CertificatePolicyAction(std::string value)
655 {
656 if (value.empty())
657 {
658 throw std::invalid_argument("The value for the curve name can not be empty");
659 }
660 m_value = std::move(value);
661 }
662
668
674 bool operator==(const CertificatePolicyAction& other) const noexcept
675 {
676 return m_value == other.m_value;
677 }
678
684 bool operator!=(const CertificatePolicyAction& other) const noexcept
685 {
686 return !operator==(other);
687 }
688
693 std::string const& ToString() const { return m_value; }
694
703 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificatePolicyAction
705
710 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificatePolicyAction AutoRenew;
711
716 AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT static const CertificatePolicyAction EmailContacts;
717 };
718
723 struct LifetimeAction final
724 {
730
736 Azure::Nullable<int32_t> DaysBeforeExpiry;
737
743 Azure::Nullable<int32_t> LifetimePercentage;
744 };
745
751 struct CertificatePolicy final
752 {
757 Azure::Nullable<CertificateKeyType> KeyType;
758
764 Azure::Nullable<bool> ReuseKey;
765
771 Azure::Nullable<bool> Exportable;
772
777 Azure::Nullable<CertificateKeyCurveName> KeyCurveName;
778
784 Azure::Nullable<int32_t> KeySize;
785
790 std::string Subject;
791
797
803 Azure::Nullable<bool> CertificateTransparency;
804
810 Azure::Nullable<std::string> CertificateType;
811
817 Azure::Nullable<std::string> IssuerName;
818
823 Azure::Nullable<CertificateContentType> ContentType;
824
829 Azure::Nullable<int32_t> ValidityInMonths;
830
836 Azure::Nullable<bool> Enabled;
837
842 Azure::Nullable<Azure::DateTime> UpdatedOn;
843
848 Azure::Nullable<Azure::DateTime> CreatedOn;
849
854 std::vector<CertificateKeyUsage> KeyUsage;
855
860 std::vector<std::string> EnhancedKeyUsage;
861
866 std::vector<LifetimeAction> LifetimeActions;
867
872 CertificatePolicy() = default;
873
874 private:
875 // added friend classes to access private members
876 // for mapping from the old model to the new one
877 friend class CertificateClient;
878 friend struct _detail::Models::CertificatePolicy;
880 friend struct ImportCertificateOptions;
881 friend class CertificateCreateOptions;
882 CertificatePolicy(_detail::Models::CertificatePolicy const& policy);
883 _detail::Models::CertificatePolicy ToCertificatePolicy() const;
884 };
885
891 public:
897
904 : KeyVaultCertificate(properties)
905 {
906 }
907
914
915 private:
916 // added friend classes to access private members
917 // for mapping from the old model to the new one
918 friend class CertificateClient;
919 friend class DeletedCertificate;
920 KeyVaultCertificateWithPolicy(_detail::Models::CertificateBundle const& bundle);
921 KeyVaultCertificateWithPolicy(_detail::Models::DeletedCertificateBundle const& bundle);
922 };
923
929 public:
935
941
946 Azure::Nullable<bool> Enabled() { return Properties.Enabled; }
947
952 std::unordered_map<std::string, std::string> Tags;
953
959
960 private:
961 // added friend classes to access private members
962 // for mapping from the old model to the new one
963 friend class CertificateClient;
964 _detail::Models::CertificateCreateParameters ToCertificateCreateParameters();
965 };
966
972 {
973
979 };
980
985 struct IssuerCredentials final
986 {
991 Azure::Nullable<std::string> AccountId;
992
997 Azure::Nullable<std::string> Password;
998 };
999
1005 {
1010 Azure::Nullable<std::string> FirstName;
1011
1016 Azure::Nullable<std::string> LastName;
1017
1022 Azure::Nullable<std::string> EmailAddress;
1023
1028 Azure::Nullable<std::string> PhoneNumber;
1029 };
1030
1035 struct IssuerProperties final
1036 {
1041 Azure::Nullable<bool> Enabled;
1042
1047 Azure::Nullable<DateTime> Created;
1048
1053 Azure::Nullable<DateTime> Updated;
1054 };
1055
1061 {
1066 Azure::Nullable<std::string> Id;
1067
1072 std::vector<AdministratorDetails> AdminDetails;
1073 };
1074
1080 {
1085 std::string Name;
1086
1091 Azure::Nullable<std::string> IdUrl;
1092
1097 Azure::Nullable<std::string> Provider;
1098
1104
1110
1116
1122
1123 private:
1124 // added friend classes to access private members
1125 // for mapping from the old model to the new one
1126 friend class CertificateClient;
1127 CertificateIssuer(std::string const& name, _detail::Models::IssuerBundle const& issuer);
1128 _detail::Models::CertificateIssuerSetParameters ToCertificateIssuerSetParameters();
1129 _detail::Models::CertificateIssuerUpdateParameters ToCertificateIssuerUpdateParameters();
1130 };
1131
1137 {
1142 std::string EmailAddress;
1143
1148 Azure::Nullable<std::string> Name;
1149
1154 Azure::Nullable<std::string> Phone;
1155 };
1156
1161 class ServerError final {
1162 public:
1163 ~ServerError() = default;
1168 std::string Code;
1169
1174 std::string Message;
1175
1180 std::shared_ptr<ServerError> InnerError;
1181 };
1182
1188 public:
1193 std::string IdUrl;
1194
1199 std::string Name;
1200
1205 std::string VaultUrl;
1206
1211 std::vector<uint8_t> Csr;
1212
1217 Azure::Nullable<bool> CancellationRequested;
1218
1223 Azure::Nullable<std::string> Status;
1224
1229 Azure::Nullable<std::string> StatusDetails;
1230
1235 Azure::Nullable<std::string> Target;
1236
1241 Azure::Nullable<std::string> RequestIdUrl;
1242
1248 Azure::Nullable<std::string> IssuerName;
1249
1255 Azure::Nullable<std::string> CertificateType;
1256
1262 Azure::Nullable<bool> CertificateTransparency;
1263
1268 Azure::Nullable<ServerError> Error;
1269
1275 Azure::Nullable<bool> PreserveCertificateOrder;
1276
1283
1284 private:
1285 // added friend classes to access private members
1286 // for mapping from the old model to the new one
1287 friend class CertificateClient;
1288 CertificateOperationProperties(_detail::Models::CertificateOperation const& operation);
1289 };
1290
1296 public:
1301 std::string RecoveryIdUrl;
1302
1307 Azure::Nullable<DateTime> DeletedOn;
1308
1313 Azure::Nullable<DateTime> ScheduledPurgeDate;
1314
1320
1321 private:
1322 // added friend classes to access private members
1323 // for mapping from the old model to the new one
1324 friend class CertificateClient;
1326 DeletedCertificate(_detail::Models::DeletedCertificateBundle const& bundle);
1327 DeletedCertificate(_detail::Models::DeletedCertificateItem const& item);
1328 };
1329
1335 {
1336 };
1343 {
1348 Azure::Nullable<std::string> NextPageToken;
1353 Azure::Nullable<bool> IncludePending;
1354 };
1355
1362 {
1364 Azure::Nullable<std::string> NextPageToken;
1365 };
1366
1373 {
1375 Azure::Nullable<std::string> NextPageToken;
1376 };
1377
1384 {
1386 Azure::Nullable<std::string> NextPageToken;
1387 };
1393 {
1398 std::vector<uint8_t> Certificate;
1399 };
1400
1406 {
1411 std::string Name;
1416 std::string IdUrl;
1421 std::string Provider;
1422
1428
1429 private:
1430 // added friend classes to access private members
1431 // for mapping from the old model to the new one
1432 friend class CertificateClient;
1433 friend class IssuerPropertiesPagedResponse;
1434 CertificateIssuerItem(_detail::Models::CertificateIssuerItem const& item);
1435 };
1436
1442 : public Azure::Core::PagedResponse<CertificatePropertiesPagedResponse> {
1443 private:
1444 // added friend classes to access private members
1445 // for mapping from the old model to the new one
1446 friend class CertificateClient;
1447 friend class Azure::Core::PagedResponse<CertificatePropertiesPagedResponse>;
1448
1449 std::string m_certificateName;
1450 std::shared_ptr<CertificateClient> m_certificateClient;
1451 void OnNextPage(const Azure::Core::Context&);
1452
1468 CertificatePropertiesPagedResponse&& certificateProperties,
1469 std::unique_ptr<Azure::Core::Http::RawResponse> rawResponse,
1470 std::shared_ptr<CertificateClient> certificateClient,
1471 std::string const& certificateName = std::string())
1472 : PagedResponse(std::move(certificateProperties)), m_certificateName(certificateName),
1473 m_certificateClient(certificateClient), Items(std::move(certificateProperties.Items))
1474 {
1475 RawResponse = std::move(rawResponse);
1476 }
1477 CertificatePropertiesPagedResponse(_detail::GetCertificatesPagedResponse& pagedResponse);
1478 CertificatePropertiesPagedResponse(_detail::GetCertificateVersionsPagedResponse& pagedResponse);
1479
1480 public:
1486
1492 std::vector<CertificateProperties> Items;
1493 };
1494
1500 : public Azure::Core::PagedResponse<IssuerPropertiesPagedResponse> {
1501 private:
1502 // added friend classes to access private members
1503 // for mapping from the old model to the new one
1504 friend class CertificateClient;
1505 friend class Azure::Core::PagedResponse<IssuerPropertiesPagedResponse>;
1506
1507 std::shared_ptr<CertificateClient> m_certificateClient;
1508 void OnNextPage(const Azure::Core::Context&);
1509
1511 IssuerPropertiesPagedResponse&& issuerProperties,
1512 std::unique_ptr<Azure::Core::Http::RawResponse> rawResponse,
1513 std::shared_ptr<CertificateClient> certificateClient)
1514 : PagedResponse(std::move(issuerProperties)), m_certificateClient(certificateClient),
1515 Items(std::move(issuerProperties.Items))
1516 {
1517 RawResponse = std::move(rawResponse);
1518 }
1519 IssuerPropertiesPagedResponse(_detail::GetCertificateIssuersPagedResponse& pagedResponse);
1520
1521 public:
1527
1533 std::vector<CertificateIssuerItem> Items;
1534 };
1535
1541 : public Azure::Core::PagedResponse<DeletedCertificatesPagedResponse> {
1542 private:
1543 friend class CertificateClient;
1544 friend class Azure::Core::PagedResponse<DeletedCertificatesPagedResponse>;
1545
1546 std::shared_ptr<CertificateClient> m_certificateClient;
1547 void OnNextPage(const Azure::Core::Context&);
1548
1550 DeletedCertificatesPagedResponse&& deletedProperties,
1551 std::unique_ptr<Azure::Core::Http::RawResponse> rawResponse,
1552 std::shared_ptr<CertificateClient> certificateClient)
1553 : PagedResponse(std::move(deletedProperties)), m_certificateClient(certificateClient),
1554 Items(std::move(deletedProperties.Items))
1555 {
1556 RawResponse = std::move(rawResponse);
1557 }
1558 DeletedCertificatesPagedResponse(_detail::GetDeletedCertificatesPagedResponse& pagedResponse);
1559
1560 public:
1566
1572 std::vector<DeletedCertificate> Items;
1573 };
1574
1579 struct KeyVaultSecret final
1580 {
1585 Azure::Nullable<CertificateContentType> ContentType;
1590 std::string Value;
1591 };
1592
1598 {
1604 std::string Certificate;
1605
1611 Azure::Nullable<std::string> Password;
1612
1618
1624
1629 std::unordered_map<std::string, std::string> Tags;
1630
1636
1637 private:
1638 // added friend classes to access private members
1639 // for mapping from the old model to the new one
1640 friend class CertificateClient;
1641 _detail::Models::CertificateImportParameters ToCertificateImportParameters();
1642 };
1643
1649 {
1653 std::vector<std::string> Certificates;
1663 std::unordered_map<std::string, std::string> Tags;
1664
1670
1671 private:
1672 // added friend classes to access private members
1673 // for mapping from the old model to the new one
1674 friend class CertificateClient;
1675 _detail::Models::CertificateMergeParameters ToCertificateMergeParameters();
1676 };
1677
1683 {
1693 std::unordered_map<std::string, std::string> Tags;
1694 };
1695
1701 {
1706 std::vector<CertificateContact> Contacts;
1707
1713
1714 private:
1715 // added friend classes to access private members
1716 // for mapping from the old model to the new one
1717 friend class CertificateClient;
1718 CertificateContactsResult(_detail::Models::Contacts contacts);
1719 };
1720
1721}}}} // namespace Azure::Security::KeyVault::Certificates
The CertificateClient provides synchronous methods to manage KeyVaultCertificate in Azure Key Vault.
Definition certificate_client.hpp:39
Content type of the certificate when downloaded from getsecret.
Definition certificate_client_models.hpp:452
std::string const & ToString() const
Get the string value of the key curve.
Definition certificate_client_models.hpp:501
CertificateContentType(std::string value)
Construct a new Key Curve Name object.
Definition certificate_client_models.hpp:462
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateContentType Pkcs12
Get the NIST P-256 elliptic curve, AKA SECG curve SECP256R1.
Definition certificate_client_models.hpp:511
bool operator==(const CertificateContentType &other) const noexcept
Enables using the equal operator for key curve.
Definition certificate_client_models.hpp:482
CertificateContentType()=default
Construct a default key curve.
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateContentType Pem
Get the SECG SECP256K1 elliptic curve.
Definition certificate_client_models.hpp:521
bool operator!=(const CertificateContentType &other) const noexcept
Enables using the not equal operator for JWT.
Definition certificate_client_models.hpp:492
Options for StartCreateCertificate.
Definition certificate_client_models.hpp:928
CertificateCreateOptions()=default
Construct a new Certificate Create Options object.
CertificateProperties Properties
Certificate attributes.
Definition certificate_client_models.hpp:940
Azure::Nullable< bool > Enabled()
Respresents if certificate is enabled.
Definition certificate_client_models.hpp:946
std::unordered_map< std::string, std::string > Tags
Certificate tags.
Definition certificate_client_models.hpp:952
CertificatePolicy Policy
Certificate policy.
Definition certificate_client_models.hpp:934
Elliptic Curve Cryptography (ECC) curve names.
Definition certificate_client_models.hpp:330
std::string const & ToString() const
Get the string value of the key curve.
Definition certificate_client_models.hpp:379
CertificateKeyCurveName(std::string value)
Construct a new Key Curve Name object.
Definition certificate_client_models.hpp:340
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyCurveName P256
Get the NIST P-256 elliptic curve, AKA SECG curve SECP256R1.
Definition certificate_client_models.hpp:389
bool operator==(const CertificateKeyCurveName &other) const noexcept
Enables using the equal operator for key curve.
Definition certificate_client_models.hpp:360
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyCurveName P256K
Get the SECG SECP256K1 elliptic curve.
Definition certificate_client_models.hpp:399
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyCurveName P521
Get the NIST P-521 elliptic curve, AKA SECG curve SECP521R1.
Definition certificate_client_models.hpp:419
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyCurveName P384
Get the NIST P-384 elliptic curve, AKA SECG curve SECP384R1.
Definition certificate_client_models.hpp:409
CertificateKeyCurveName()=default
Construct a default key curve.
bool operator!=(const CertificateKeyCurveName &other) const noexcept
Enables using the not equal operator for JWT.
Definition certificate_client_models.hpp:370
Supported JsonWebKey key types (kty).
Definition certificate_client_models.hpp:258
bool operator!=(const CertificateKeyType &other) const noexcept
Enables using the not equal operator for JWT.
Definition certificate_client_models.hpp:291
bool operator==(const CertificateKeyType &other) const noexcept
Enables using the equal operator for JWT.
Definition certificate_client_models.hpp:281
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyType Ec
An Elliptic Curve Cryptographic (ECC) algorithm.
Definition certificate_client_models.hpp:304
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyType RsaHsm
An RSA cryptographic algorithm backed by a Hardware Security Module (HSM).
Definition certificate_client_models.hpp:323
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyType EcHsm
An Elliptic Curve Cryptographic (ECC) algorithm backed by a Hardware Security Module (HSM).
Definition certificate_client_models.hpp:311
std::string const & ToString() const
Return the JSON Web Token (JWT) as a string.
Definition certificate_client_models.hpp:298
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyType Rsa
An RSA cryptographic algorithm.
Definition certificate_client_models.hpp:317
CertificateKeyType()=default
Construct a new Certificate Key Type object.
CertificateKeyType(std::string keyType)
Construct a new Certificate Key Type object.
Definition certificate_client_models.hpp:268
Supported usages of a certificate key.
Definition certificate_client_models.hpp:528
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage KeyEncipherment
Get a CertificateKeyUsage indicating that the certificate key can be used for key encryption.
Definition certificate_client_models.hpp:595
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage DigitalSignature
Get a CertificateKeyUsage indicating that the certificate key can be used as a digital signatures.
Definition certificate_client_models.hpp:581
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage EncipherOnly
Get a CertificateKeyUsage indicating that the certificate key can be used for encryption only.
Definition certificate_client_models.hpp:630
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage CrlSign
Get a CertificateKeyUsage indicating that the certificate key can be used to sign a certificate revoc...
Definition certificate_client_models.hpp:623
CertificateKeyUsage(std::string value)
Construct a new Key Curve Name object.
Definition certificate_client_models.hpp:538
CertificateKeyUsage()=default
Construct a default key curve.
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage KeyCertSign
Get a CertificateKeyUsage indicating that the certificate key can be used to sign certificates.
Definition certificate_client_models.hpp:616
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage DataEncipherment
Get a CertificateKeyUsage indicating that the certificate key can be used for data encryption.
Definition certificate_client_models.hpp:602
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage NonRepudiation
Get a CertificateKeyUsage indicating that the certificate key can be used for authentication.
Definition certificate_client_models.hpp:588
bool operator!=(const CertificateKeyUsage &other) const noexcept
Enables using the not equal operator for JWT.
Definition certificate_client_models.hpp:568
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage DecipherOnly
Get a CertificateKeyUsage indicating that the certificate key can be used for decryption only.
Definition certificate_client_models.hpp:637
bool operator==(const CertificateKeyUsage &other) const noexcept
Enables using the equal operator for key curve.
Definition certificate_client_models.hpp:558
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificateKeyUsage KeyAgreement
Get a CertificateKeyUsage indicating that the certificate key can be used to determine key agreement,...
Definition certificate_client_models.hpp:609
std::string const & ToString() const
Get the string value of the key curve.
Definition certificate_client_models.hpp:574
A certificate operation.
Definition certificate_client_models.hpp:1187
std::string Name
The certificate name.
Definition certificate_client_models.hpp:1199
Azure::Nullable< bool > CancellationRequested
Indicates if cancellation was requested on the certificate operation.
Definition certificate_client_models.hpp:1217
std::string IdUrl
The certificate id.
Definition certificate_client_models.hpp:1193
Azure::Nullable< std::string > IssuerName
Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'.
Definition certificate_client_models.hpp:1248
Azure::Nullable< bool > CertificateTransparency
Indicates if the certificates generated under this policy should be published to certificate transpar...
Definition certificate_client_models.hpp:1262
std::vector< uint8_t > Csr
The certificate signing request (CSR) that is being used in the certificate operation.
Definition certificate_client_models.hpp:1211
Azure::Nullable< bool > PreserveCertificateOrder
Specifies whether the certificate chain preserves its original order. The default value is false,...
Definition certificate_client_models.hpp:1275
Azure::Nullable< std::string > CertificateType
Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'.
Definition certificate_client_models.hpp:1255
Azure::Nullable< ServerError > Error
Error encountered, if any, during the certificate operation.
Definition certificate_client_models.hpp:1268
Azure::Nullable< std::string > StatusDetails
The status details of the certificate operation.
Definition certificate_client_models.hpp:1229
Azure::Nullable< std::string > RequestIdUrl
Identifier for the certificate operation.
Definition certificate_client_models.hpp:1241
std::string VaultUrl
The vault URI.
Definition certificate_client_models.hpp:1205
Azure::Nullable< std::string > Target
Location which contains the result of the certificate operation.
Definition certificate_client_models.hpp:1235
Azure::Nullable< std::string > Status
Status of the certificate operation.
Definition certificate_client_models.hpp:1223
An action that will be executed.
Definition certificate_client_models.hpp:644
CertificatePolicyAction(std::string value)
Construct a new Key Curve Name object.
Definition certificate_client_models.hpp:654
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificatePolicyAction AutoRenew
Gets a CertificatePolicyAction that will auto-renew a certificate.
Definition certificate_client_models.hpp:710
bool operator!=(const CertificatePolicyAction &other) const noexcept
Enables using the not equal operator for JWT.
Definition certificate_client_models.hpp:684
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificatePolicyAction DigitalSignature
Get the NIST P-256 elliptic curve, AKA SECG curve SECP256R1.
Definition certificate_client_models.hpp:704
CertificatePolicyAction()=default
Construct a default key curve.
static AZ_SECURITY_KEYVAULT_CERTIFICATES_DLLEXPORT const CertificatePolicyAction EmailContacts
Get a CertificatePolicyAction action that will email certificate contacts.
Definition certificate_client_models.hpp:716
std::string const & ToString() const
Get the string value of the key curve.
Definition certificate_client_models.hpp:693
bool operator==(const CertificatePolicyAction &other) const noexcept
Enables using the equal operator for key curve.
Definition certificate_client_models.hpp:674
Define a single page to list the certificates from the Key Vault.
Definition certificate_client_models.hpp:1442
std::vector< CertificateProperties > Items
Each Azure::Security::KeyVault::Certificates::CertificateProperties represent a Key in the Key Vault.
Definition certificate_client_models.hpp:1492
CertificatePropertiesPagedResponse()=default
Construct a new certificate properties object.
Represents a deleted certificate in a KeyVault.
Definition certificate_client_models.hpp:1295
Azure::Nullable< DateTime > ScheduledPurgeDate
DateTime for when the deleted certificate will be purged.
Definition certificate_client_models.hpp:1313
Azure::Nullable< DateTime > DeletedOn
DateTime indicating when the certificate was deleted.
Definition certificate_client_models.hpp:1307
std::string RecoveryIdUrl
Gets the identifier of the deleted certificate.
Definition certificate_client_models.hpp:1301
Define a single page to list the issuers from the Key Vault.
Definition certificate_client_models.hpp:1541
std::vector< DeletedCertificate > Items
Each Azure::Security::KeyVault::Certificates::CertificateProperties represent a Key in the Key Vault.
Definition certificate_client_models.hpp:1572
DeletedCertificatesPagedResponse()=default
Construct a new certificate properties object.
Define a single page to list the issuers from the Key Vault.
Definition certificate_client_models.hpp:1500
std::vector< CertificateIssuerItem > Items
Each Azure::Security::KeyVault::Certificates::CertificateProperties represent a Key in the Key Vault.
Definition certificate_client_models.hpp:1533
IssuerPropertiesPagedResponse()=default
Construct a new certificate properties object.
An Azure Key Vault certificate.
Definition certificate_client_models.hpp:183
virtual ~KeyVaultCertificate()=default
Destroy the Key Vault Certificate object.
KeyVaultCertificate(CertificateProperties const &properties)
Construct a new Key Vault Certificate object.
Definition certificate_client_models.hpp:231
std::string const & IdUrl() const
Get the certificate Id,.
Definition certificate_client_models.hpp:224
std::vector< uint8_t > Cer
Get the CER formatted public X509 certificate.
Definition certificate_client_models.hpp:210
KeyVaultCertificate()=default
Construct a new Key Vault Certificate object.
std::string KeyIdUrl
Get the identifier of the certificate.
Definition certificate_client_models.hpp:189
std::string SecretIdUrl
Get the identifier of the Key Vault Secret which contains the PEM of PFX formatted content of the cer...
Definition certificate_client_models.hpp:196
CertificateProperties Properties
Additional fields for the certificate.
Definition certificate_client_models.hpp:202
std::string const & Name() const
Get the name of the certificate.
Definition certificate_client_models.hpp:217
A KeyVaultCertificate along with its CertificatePolicy.
Definition certificate_client_models.hpp:890
KeyVaultCertificateWithPolicy(CertificateProperties const &properties)
Construct a new Key Vault Certificate With Policy object.
Definition certificate_client_models.hpp:903
KeyVaultCertificateWithPolicy()=default
Default constructorfor Key Vault Certificate With Policy object.
CertificatePolicy Policy
Gets the current policy for the certificate.
Definition certificate_client_models.hpp:896
Key vault server error.
Definition certificate_client_models.hpp:1161
std::string Message
Error Message.
Definition certificate_client_models.hpp:1174
std::shared_ptr< ServerError > InnerError
Inner Error.
Definition certificate_client_models.hpp:1180
std::string Code
Error Code.
Definition certificate_client_models.hpp:1168
Administrator details.
Definition certificate_client_models.hpp:1005
Azure::Nullable< std::string > FirstName
Administrator first name.
Definition certificate_client_models.hpp:1010
Azure::Nullable< std::string > LastName
Administrator last name.
Definition certificate_client_models.hpp:1016
Azure::Nullable< std::string > PhoneNumber
Administrator phone number.
Definition certificate_client_models.hpp:1028
Azure::Nullable< std::string > EmailAddress
Administrator email address.
Definition certificate_client_models.hpp:1022
A certificate backup data.
Definition certificate_client_models.hpp:1393
std::vector< uint8_t > Certificate
The backup blob containing the backed up certificate.
Definition certificate_client_models.hpp:1398
The contact information for the vault certificates.
Definition certificate_client_models.hpp:1137
Azure::Nullable< std::string > Phone
Contact phone number.
Definition certificate_client_models.hpp:1154
std::string EmailAddress
Contact e-mail address.
Definition certificate_client_models.hpp:1142
Azure::Nullable< std::string > Name
Contact name.
Definition certificate_client_models.hpp:1148
The certificate contacts API result.
Definition certificate_client_models.hpp:1701
std::vector< CertificateContact > Contacts
The certificate contacts list.
Definition certificate_client_models.hpp:1706
Certificate issuer.
Definition certificate_client_models.hpp:1080
OrganizationDetails Organization
Certificate issuer organization.
Definition certificate_client_models.hpp:1109
Azure::Nullable< std::string > Provider
Certificate issuer provider.
Definition certificate_client_models.hpp:1097
Azure::Nullable< std::string > IdUrl
Certificate issuer id.
Definition certificate_client_models.hpp:1091
IssuerCredentials Credentials
Certificate issuer credentials.
Definition certificate_client_models.hpp:1103
IssuerProperties Properties
Certificate issuer properties.
Definition certificate_client_models.hpp:1115
std::string Name
Certificate issuer name.
Definition certificate_client_models.hpp:1085
represents on item from GetPropertiesOfIssuers
Definition certificate_client_models.hpp:1406
std::string IdUrl
Certificate issuer identifier.
Definition certificate_client_models.hpp:1416
std::string Name
Certificate issuer name.
Definition certificate_client_models.hpp:1411
std::string Provider
The issuer provider.
Definition certificate_client_models.hpp:1421
The certificate operation update Options.
Definition certificate_client_models.hpp:972
bool CancelationRequested
Indicates if cancellation was requested on the certificate operation.
Definition certificate_client_models.hpp:978
A policy which governs the lifecycle a properties of a certificate managed by Azure Key Vault.
Definition certificate_client_models.hpp:752
Azure::Nullable< bool > ReuseKey
Get a value indicating whether the certificate key should be reused when rotating the certificate.
Definition certificate_client_models.hpp:764
Azure::Nullable< int32_t > ValidityInMonths
Get the validity period for a certificate in months.
Definition certificate_client_models.hpp:829
Azure::Nullable< Azure::DateTime > UpdatedOn
Get a DateTime indicating when the certificate was updated.
Definition certificate_client_models.hpp:842
std::vector< std::string > EnhancedKeyUsage
Get the allowed enhanced key usages (EKUs) of the certificate.
Definition certificate_client_models.hpp:860
std::string Subject
Get the subject name of a certificate.
Definition certificate_client_models.hpp:790
Azure::Nullable< int32_t > KeySize
Get the size of the RSA key. The value must be a valid RSA key length such as 2048 or 4092.
Definition certificate_client_models.hpp:784
Azure::Nullable< bool > CertificateTransparency
Indicates if the certificates generated under this policy should be published to certificate transpar...
Definition certificate_client_models.hpp:803
Azure::Nullable< bool > Enabled
Get a value indicating whether the certificate is currently enabled. If null, the server default will...
Definition certificate_client_models.hpp:836
Azure::Nullable< CertificateContentType > ContentType
Get the CertificateContentType of the certificate.
Definition certificate_client_models.hpp:823
Azure::Nullable< CertificateKeyType > KeyType
Get the type of backing key to be generated when issuing new certificates.
Definition certificate_client_models.hpp:757
Azure::Nullable< Azure::DateTime > CreatedOn
Get a DateTime indicating when the certificate was created.
Definition certificate_client_models.hpp:848
Azure::Nullable< std::string > CertificateType
Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'.
Definition certificate_client_models.hpp:810
std::vector< CertificateKeyUsage > KeyUsage
Gets the allowed usages for the key of the certificate.
Definition certificate_client_models.hpp:854
std::vector< LifetimeAction > LifetimeActions
Get the actions to be executed at specified times in the certificates lifetime.
Definition certificate_client_models.hpp:866
Azure::Nullable< std::string > IssuerName
Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'.
Definition certificate_client_models.hpp:817
Azure::Nullable< bool > Exportable
Get a value indicating whether the certificate key is exportable from the vault or secure certificate...
Definition certificate_client_models.hpp:771
Azure::Nullable< CertificateKeyCurveName > KeyCurveName
Get the curve which back an Elliptic Curve (EC) key.
Definition certificate_client_models.hpp:777
Contains identity and other basic properties of a Certificate.
Definition certificate_client_models.hpp:57
std::string IdUrl
The certificate identifier.
Definition certificate_client_models.hpp:120
Azure::Nullable< Azure::DateTime > NotBefore
Indicate when the certificate will be valid and can be used for cryptographic operations.
Definition certificate_client_models.hpp:65
Azure::Nullable< std::string > RecoveryLevel
The recovery level currently in effect for keys in the Key Vault.
Definition certificate_client_models.hpp:100
std::unordered_map< std::string, std::string > Tags
Dictionary of tags with specific metadata about the certificate.
Definition certificate_client_models.hpp:108
Azure::Nullable< bool > PreserveCertificateOrder
Specifies whether the certificate chain preserves its original order. The default value is false,...
Definition certificate_client_models.hpp:152
std::string Version
The version of the certificate.
Definition certificate_client_models.hpp:132
Azure::Nullable< bool > Enabled
Indicate whether the certificate is enabled and useable for cryptographic operations.
Definition certificate_client_models.hpp:145
Azure::Nullable< Azure::DateTime > CreatedOn
Indicate when the certificate was created.
Definition certificate_client_models.hpp:78
CertificateProperties()=default
Construct a new Certificate Properties object.
Azure::Nullable< Azure::DateTime > ExpiresOn
Indicate when the certificate will expire and cannot be used for cryptographic operations.
Definition certificate_client_models.hpp:72
std::vector< uint8_t > X509Thumbprint
Get the digital thumbprint of the certificate which can be used to uniquely identify it.
Definition certificate_client_models.hpp:139
Azure::Nullable< Azure::DateTime > UpdatedOn
Indicate when the certificate was updated.
Definition certificate_client_models.hpp:84
std::string Name
The name of the certificate.
Definition certificate_client_models.hpp:114
Azure::Nullable< int32_t > RecoverableDays
The number of days a certificate is retained before being deleted for a soft delete-enabled Key Vault...
Definition certificate_client_models.hpp:91
CertificateProperties(std::string const &name)
Construct a new Certificate Properties object.
Definition certificate_client_models.hpp:165
std::string VaultUrl
The Key Vault base Url.
Definition certificate_client_models.hpp:126
The certificate update Options.
Definition certificate_client_models.hpp:1683
CertificateProperties Properties
The attributes of the certificate.
Definition certificate_client_models.hpp:1688
std::unordered_map< std::string, std::string > Tags
Dictionary of tags with specific metadata about the certificate.
Definition certificate_client_models.hpp:1693
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetD...
Definition certificate_client_models.hpp:1384
Azure::Nullable< std::string > NextPageToken
The token for the next page, if present.
Definition certificate_client_models.hpp:1386
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetP...
Definition certificate_client_models.hpp:1362
Azure::Nullable< std::string > NextPageToken
The token for the next page, if present.
Definition certificate_client_models.hpp:1364
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetP...
Definition certificate_client_models.hpp:1343
Azure::Nullable< bool > IncludePending
Include pending certificates.
Definition certificate_client_models.hpp:1353
Azure::Nullable< std::string > NextPageToken
Next page token.
Definition certificate_client_models.hpp:1348
The options for calling an operation Azure::Security::KeyVault::Certificates::CertificateClient::GetP...
Definition certificate_client_models.hpp:1373
Azure::Nullable< std::string > NextPageToken
The token for the next page, if present.
Definition certificate_client_models.hpp:1375
Import Certificate options.
Definition certificate_client_models.hpp:1598
std::unordered_map< std::string, std::string > Tags
Dictionary of tags with specific metadata about the certificate.
Definition certificate_client_models.hpp:1629
std::string Certificate
Base64 encoded representation of the certificate object to import. This certificate needs to contain ...
Definition certificate_client_models.hpp:1604
CertificateProperties Properties
Certificate Properties.
Definition certificate_client_models.hpp:1623
Azure::Nullable< std::string > Password
If the private key in base64EncodedCertificate is encrypted, the password used for encryption.
Definition certificate_client_models.hpp:1611
CertificatePolicy Policy
Management policy for the certificate.
Definition certificate_client_models.hpp:1617
Issuer Credentials.
Definition certificate_client_models.hpp:986
Azure::Nullable< std::string > Password
Password.
Definition certificate_client_models.hpp:997
Azure::Nullable< std::string > AccountId
Account ID.
Definition certificate_client_models.hpp:991
Certificate Issuer Properties.
Definition certificate_client_models.hpp:1036
Azure::Nullable< bool > Enabled
Issuer enabled.
Definition certificate_client_models.hpp:1041
Azure::Nullable< DateTime > Updated
Issuer last update date.
Definition certificate_client_models.hpp:1053
Azure::Nullable< DateTime > Created
Issuer creation date.
Definition certificate_client_models.hpp:1047
Certificate associated secret.
Definition certificate_client_models.hpp:1580
std::string Value
Secret value.
Definition certificate_client_models.hpp:1590
Azure::Nullable< CertificateContentType > ContentType
Content Type.
Definition certificate_client_models.hpp:1585
An action to be executed at a prescribed time in a certificates lifecycle.
Definition certificate_client_models.hpp:724
CertificatePolicyAction Action
Get the CertificatePolicyAction to be performed.
Definition certificate_client_models.hpp:729
Azure::Nullable< int32_t > LifetimePercentage
Get the action should be performed when the certificate reaches the specified percentage of its lifet...
Definition certificate_client_models.hpp:743
Azure::Nullable< int32_t > DaysBeforeExpiry
Get the action should be performed the specified number of days before the certificate will expire.
Definition certificate_client_models.hpp:736
The certificate merge Options.
Definition certificate_client_models.hpp:1649
std::unordered_map< std::string, std::string > Tags
Dictionary of tags with specific metadata about the certificate.
Definition certificate_client_models.hpp:1663
std::vector< std::string > Certificates
The certificate or the certificate chain to merge.
Definition certificate_client_models.hpp:1653
CertificateProperties Properties
The attributes of the certificate.
Definition certificate_client_models.hpp:1658
Organization details.
Definition certificate_client_models.hpp:1061
std::vector< AdministratorDetails > AdminDetails
Organization Administrators collection.
Definition certificate_client_models.hpp:1072
Azure::Nullable< std::string > Id
Organization id.
Definition certificate_client_models.hpp:1066
Define a model for a purged Certificate.
Definition certificate_client_models.hpp:1335
A collection of subject alternative names (SANs) for a X.509 certificate. SANs can be DNS entries,...
Definition certificate_client_models.hpp:428
std::vector< std::string > UserPrincipalNames
Get a collection of user principal names (UPNs).
Definition certificate_client_models.hpp:445
std::vector< std::string > Emails
Get a collection of email addresses.
Definition certificate_client_models.hpp:439
std::vector< std::string > DnsNames
Get a collection of DNS names.
Definition certificate_client_models.hpp:433