diff --git a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt index d399f9e7e..ad3f3d429 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +++ b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt @@ -42,7 +42,7 @@ if(AZURE_TSP_KV_SECRETS_GEN) set(TSP_DESTINATION "keyvault_secrets") #codegen related repo information - set(CODEGEN_SHA "deff0a603a9001da24b8751709075a4a3d40d39a") + set(CODEGEN_SHA "83758baff29b89a8a7bd28fa26a692225f4f208f") set(CODEGEN_DESTINATION "typespec-cpp") #destination folders @@ -77,33 +77,30 @@ set( inc/azure/keyvault/secrets/keyvault_secret_properties.hpp inc/azure/keyvault/secrets/rtti.hpp inc/azure/keyvault/secrets/secret_client.hpp - inc/azure/keyvault/secrets/generated.hpp - inc/azure/keyvault/secrets/generated/dll_import_export.hpp - inc/azure/keyvault/secrets/generated/key_vault_client.hpp - inc/azure/keyvault/secrets/generated/key_vault_client_options.hpp - inc/azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp - inc/azure/keyvault/secrets/generated/models/generated_models.hpp -) + ) set( AZURE_SECURITY_KEYVAULT_SECRETS_SOURCE - src/private/generated_package_version.hpp + src/generated/get_deleted_secrets_paged_response.cpp + src/generated/get_secrets_paged_response.cpp + src/generated/get_secret_versions_paged_response.cpp + src/generated/key_vault_client.cpp + src/generated/key_vault_client.hpp + src/generated/key_vault_client_options.hpp + src/generated/key_vault_client_paged_responses.hpp + src/generated/secrets.cpp + src/generated/secrets_models.hpp src/private/package_version.hpp - src/generated.cpp - src/get_deleted_secrets_paged_response.cpp - src/get_secrets_paged_response.cpp - src/get_secret_versions_paged_response.cpp + src/private/keyvault_protocol.hpp + src/private/package_version.hpp + src/private/secret_constants.hpp + src/private/secret_serializers.hpp src/keyvault_deleted_secret.cpp - src/key_vault_client.cpp src/keyvault_operations.cpp src/keyvault_protocol.cpp src/keyvault_secret.cpp src/keyvault_secret_paged_response.cpp src/keyvault_secret_properties.cpp - src/private/keyvault_protocol.hpp - src/private/package_version.hpp - src/private/secret_constants.hpp - src/private/secret_serializers.hpp src/secret_client.cpp src/secret_serializers.cpp ) diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/dll_import_export.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/dll_import_export.hpp index 942ec0ff0..797951992 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/dll_import_export.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/dll_import_export.hpp @@ -11,44 +11,30 @@ #pragma once /** - * @def AZURE_SECURITY_KEYVAULT_SECRETS_DLLEXPORT + * @def AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT * @brief Applies DLL export attribute, when applicable. * @note See https://learn.microsoft.com/cpp/cpp/dllexport-dllimport?view=msvc-160. */ -#if defined(AZURE_SECURITY_KEYVAULT_SECRETS_DLL) \ - || (0 /*@AZURE_SECURITY_KEYVAULT_SECRETS_DLL_INSTALLED_AS_PACKAGE@*/) -#define AZURE_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL 1 +#if defined(AZ_SECURITY_KEYVAULT_SECRETS_DLL) \ + || (0 /*@AZ_SECURITY_KEYVAULT_SECRETS_DLL_INSTALLED_AS_PACKAGE@*/) +#define AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL 1 #else -#define AZURE_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL 0 +#define AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL 0 #endif -#if AZURE_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL +#if AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL #if defined(_MSC_VER) -#if defined(AZURE_SECURITY_KEYVAULT_SECRETS_BEING_BUILT) -#define AZURE_SECURITY_KEYVAULT_SECRETS_DLLEXPORT __declspec(dllexport) +#if defined(AZ_SECURITY_KEYVAULT_SECRETS_BEING_BUILT) +#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT __declspec(dllexport) #else // !defined(AZURE_SECURITY_KEYVAULT_SECRETS_BEING_BUILT) -#define AZURE_SECURITY_KEYVAULT_SECRETS_DLLEXPORT __declspec(dllimport) -#endif // AZURE_SECURITY_KEYVAULT_SECRETS_BEING_BUILT +#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT __declspec(dllimport) +#endif // AZ_SECURITY_KEYVAULT_SECRETS_BEING_BUILT #else // !defined(_MSC_VER) -#define AZURE_SECURITY_KEYVAULT_SECRETS_DLLEXPORT +#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT #endif // _MSC_VER -#else // !AZURE_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL -#define AZURE_SECURITY_KEYVAULT_SECRETS_DLLEXPORT -#endif // AZURE_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL +#else // !AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL +#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT +#endif // AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL -#undef AZURE_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL - -/** - * @brief Azure SDK abstractions. - * - */ -namespace Azure { - -/** - * @brief Azure Template SDK abstractions. - * - */ -namespace Template { -} -} // namespace Azure +#undef AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated.hpp deleted file mode 100644 index 15593df2a..000000000 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated.hpp +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) TypeSpec Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -#pragma once - -#include -#include -#include -#include -#include -#include diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/dll_import_export.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/dll_import_export.hpp deleted file mode 100644 index 154784243..000000000 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/dll_import_export.hpp +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) TypeSpec Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -#pragma once - -#if defined(AZ_SECURITY_KEYVAULT_SECRETS_DLL) \ - || (0 /*@AZ_SECURITY_KEYVAULT_SECRETS_DLL_INSTALLED_AS_PACKAGE@*/) -#define AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL 1 -#else -#define AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL 0 -#endif - -#if AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL -#if defined(_MSC_VER) -#if defined(AZ_SECURITY_KEYVAULT_SECRETS_BEING_BUILT) -#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT __declspec(dllexport) -#else // !defined(AZ_SECURITY_KEYVAULT_SECRETS_BEING_BUILT) -#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT __declspec(dllimport) -#endif // AZ_SECURITY_KEYVAULT_SECRETS_BEING_BUILT -#else // !defined(_MSC_VER) -#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT -#endif // _MSC_VER -#else // !AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL -#define AZ_SECURITY_KEYVAULT_SECRETS_DLLEXPORT -#endif // AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL - -#undef AZ_SECURITY_KEYVAULT_SECRETS_BUILT_AS_DLL diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/rtti.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/rtti.hpp deleted file mode 100644 index 8a71b9e2d..000000000 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/rtti.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) TypeSpec Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -#pragma once - -#if defined(AZURE_RTTI) || (0 /*@AZ_SECURITY_KEYVAULT_SECRETS_RTTI@*/) -#define AZ_SECURITY_KEYVAULT_SECRETS_RTTI -#endif diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_options.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_options.hpp index 3f2b367ec..243d8d506 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_options.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_options.hpp @@ -6,7 +6,6 @@ * @brief Keyvault Secret actions options */ #pragma once -#include "azure/keyvault/secrets/generated/key_vault_client_options.hpp" #include "dll_import_export.hpp" #include @@ -22,7 +21,7 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { * @brief Service Version used. * */ - std::string ApiVersion{_detail::KeyVaultClientOptions().ApiVersion}; + std::string ApiVersion{"7.6-preview.2"}; }; /** diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_secret_paged_response.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_secret_paged_response.hpp index b2c0c6dae..dc502be92 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_secret_paged_response.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/keyvault_secret_paged_response.hpp @@ -8,7 +8,6 @@ #pragma once -#include "azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp" #include "azure/keyvault/secrets/keyvault_deleted_secret.hpp" #include "azure/keyvault/secrets/keyvault_secret_properties.hpp" @@ -19,7 +18,11 @@ #include namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { - + namespace _detail { + class GetSecretsPagedResponse; + class GetSecretVersionsPagedResponse; + class GetDeletedSecretsPagedResponse; + } // namespace _detail // forward definition class SecretClient; @@ -35,8 +38,8 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { std::string m_secretName; std::shared_ptr m_secretClient; - _detail::GetSecretsPagedResponse m_generatedResponse; - _detail::GetSecretVersionsPagedResponse m_generatedVersionResponse; + std::shared_ptr<_detail::GetSecretsPagedResponse> m_generatedResponse; + std::shared_ptr<_detail::GetSecretVersionsPagedResponse> m_generatedVersionResponse; void OnNextPage(const Azure::Core::Context& context); SecretPropertiesPagedResponse( @@ -54,31 +57,13 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { _detail::GetSecretsPagedResponse& secretPagedResponse, std::unique_ptr rawResponse, std::shared_ptr secretClient, - std::string const& secretName = std::string()) - : m_secretName(secretName), m_secretClient(std::move(secretClient)), - m_generatedResponse(std::move(secretPagedResponse)) - { - for (auto& item : m_generatedResponse.Value.Value()) - { - Items.push_back(KeyVaultSecret(item).Properties); - } - RawResponse = std::move(rawResponse); - } + std::string const& secretName = std::string()); SecretPropertiesPagedResponse( _detail::GetSecretVersionsPagedResponse& secretPagedResponse, std::unique_ptr rawResponse, std::shared_ptr secretClient, - std::string const& secretName = std::string()) - : m_secretName(secretName), m_secretClient(std::move(secretClient)), - m_generatedVersionResponse(std::move(secretPagedResponse)) - { - for (auto& item : m_generatedVersionResponse.Value.Value()) - { - Items.push_back(KeyVaultSecret(item).Properties); - } - RawResponse = std::move(rawResponse); - } + std::string const& secretName = std::string()); public: /** @@ -106,7 +91,7 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { friend class Azure::Core::PagedResponse; std::shared_ptr m_secretClient; - _detail::GetDeletedSecretsPagedResponse m_generatedResponse; + std::shared_ptr<_detail::GetDeletedSecretsPagedResponse> m_generatedResponse; void OnNextPage(const Azure::Core::Context& context); @@ -123,16 +108,7 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { DeletedSecretPagedResponse( _detail::GetDeletedSecretsPagedResponse& secretPagedResponse, std::unique_ptr rawResponse, - std::shared_ptr secretClient) - : m_secretClient(std::move(secretClient)), - m_generatedResponse(std::move(secretPagedResponse)) - { - for (auto& item : m_generatedResponse.Value.Value()) - { - Items.push_back(DeletedSecret(item)); - } - RawResponse = std::move(rawResponse); - } + std::shared_ptr secretClient); public: /** diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/secret_client.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/secret_client.hpp index 03953a841..8967fd39b 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/secret_client.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/secret_client.hpp @@ -15,7 +15,6 @@ #include "azure/keyvault/secrets/keyvault_secret.hpp" #include "azure/keyvault/secrets/keyvault_secret_paged_response.hpp" #include "dll_import_export.hpp" -#include "generated.hpp" #include #include @@ -29,7 +28,9 @@ namespace Azure { namespace Security { namespace KeyVault { namespace _detail { }}}} // namespace Azure::Security::KeyVault::_detail namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { - + namespace _detail { + class KeyVaultClient; + } /** * @brief Define a model for a purged key. * @@ -275,6 +276,6 @@ namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { * * @return The key secret's primary URL endpoint. */ - std::string GetUrl() const { return m_client->GetUrl(); } + std::string GetUrl() const; }; }}}} // namespace Azure::Security::KeyVault::Secrets diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/get_deleted_secrets_paged_response.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_deleted_secrets_paged_response.cpp similarity index 81% rename from sdk/keyvault/azure-security-keyvault-secrets/src/get_deleted_secrets_paged_response.cpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_deleted_secrets_paged_response.cpp index 018eebb19..50745c977 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/get_deleted_secrets_paged_response.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_deleted_secrets_paged_response.cpp @@ -3,8 +3,8 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. -#include "azure/keyvault/secrets/generated/key_vault_client.hpp" -#include "azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp" +#include "key_vault_client.hpp" +#include "key_vault_client_paged_responses.hpp" using namespace Azure::Security::KeyVault::Secrets::_detail; diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/get_secret_versions_paged_response.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_secret_versions_paged_response.cpp similarity index 82% rename from sdk/keyvault/azure-security-keyvault-secrets/src/get_secret_versions_paged_response.cpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_secret_versions_paged_response.cpp index afa60c6eb..7cce8344c 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/get_secret_versions_paged_response.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_secret_versions_paged_response.cpp @@ -3,8 +3,8 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. -#include "azure/keyvault/secrets/generated/key_vault_client.hpp" -#include "azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp" +#include "key_vault_client.hpp" +#include "key_vault_client_paged_responses.hpp" using namespace Azure::Security::KeyVault::Secrets::_detail; diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/get_secrets_paged_response.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_secrets_paged_response.cpp similarity index 81% rename from sdk/keyvault/azure-security-keyvault-secrets/src/get_secrets_paged_response.cpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_secrets_paged_response.cpp index 65b7c28c9..30cf25601 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/get_secrets_paged_response.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/get_secrets_paged_response.cpp @@ -3,8 +3,8 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. -#include "azure/keyvault/secrets/generated/key_vault_client.hpp" -#include "azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp" +#include "key_vault_client.hpp" +#include "key_vault_client_paged_responses.hpp" using namespace Azure::Security::KeyVault::Secrets::_detail; diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/key_vault_client.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client.cpp similarity index 99% rename from sdk/keyvault/azure-security-keyvault-secrets/src/key_vault_client.cpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client.cpp index 625805fb7..c6518aa9a 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/key_vault_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client.cpp @@ -3,9 +3,9 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. -#include "azure/keyvault/secrets/generated/key_vault_client.hpp" +#include "key_vault_client.hpp" -#include "private/package_version.hpp" +#include "../private/package_version.hpp" #include #include @@ -15,8 +15,17 @@ #include #include +// codegen: insert after includes +#include "azure/keyvault/shared/keyvault_challenge_based_auth.hpp" +#include "azure/keyvault/shared/keyvault_shared.hpp" + +using Azure::Security::KeyVault::_internal::KeyVaultChallengeBasedAuthenticationPolicy; +using Azure::Security::KeyVault::_internal::UrlScope; +// codegen: end insert after includes + using namespace Azure::Security::KeyVault::Secrets::_detail; +// codegen: replace KeyVaultClient::KeyVaultClient KeyVaultClient::KeyVaultClient( const std::string& url, const std::shared_ptr& credential, @@ -29,9 +38,8 @@ KeyVaultClient::KeyVaultClient( { Core::Credentials::TokenRequestContext tokenRequestContext; tokenRequestContext.Scopes = {"https://vault.azure.net/.default"}; - perRetryPolicies.emplace_back( - std::make_unique( - credential, tokenRequestContext)); + perRetryPolicies.emplace_back(std::make_unique( + credential, tokenRequestContext)); } m_pipeline = std::make_shared( @@ -41,6 +49,7 @@ KeyVaultClient::KeyVaultClient( std::move(perRetryPolicies), std::move(perCallPolicies)); } +// codegen: end replace KeyVaultClient::KeyVaultClient std::string KeyVaultClient::GetUrl() const { return m_url.GetAbsoluteUrl(); } diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client.hpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client.hpp similarity index 97% rename from sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client.hpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client.hpp index dee1f0a77..310e7799d 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client.hpp @@ -5,9 +5,9 @@ #pragma once -#include "azure/keyvault/secrets/generated/key_vault_client_options.hpp" -#include "azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp" -#include "azure/keyvault/secrets/generated/models/generated_models.hpp" +#include "key_vault_client_options.hpp" +#include "key_vault_client_paged_responses.hpp" +#include "secrets_models.hpp" #include #include diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client_options.hpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client_options.hpp similarity index 96% rename from sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client_options.hpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client_options.hpp index dce9ec0e8..e740c1c1b 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client_options.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client_options.hpp @@ -5,7 +5,7 @@ #pragma once -#include "azure/keyvault/secrets/generated/models/generated_models.hpp" +#include "secrets_models.hpp" #include #include diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client_paged_responses.hpp similarity index 94% rename from sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client_paged_responses.hpp index 400da47c5..3ae1c04dd 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/key_vault_client_paged_responses.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/key_vault_client_paged_responses.hpp @@ -5,8 +5,8 @@ #pragma once -#include "azure/keyvault/secrets/generated/key_vault_client_options.hpp" -#include "azure/keyvault/secrets/generated/models/generated_models.hpp" +#include "key_vault_client_options.hpp" +#include "secrets_models.hpp" #include #include diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/generated.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/secrets.cpp similarity index 93% rename from sdk/keyvault/azure-security-keyvault-secrets/src/generated.cpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/secrets.cpp index ac14b0edc..3bdc7a1b9 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/generated.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/secrets.cpp @@ -3,7 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. -#include "azure/keyvault/secrets/generated/models/generated_models.hpp" +#include "secrets_models.hpp" using namespace Azure::Security::KeyVault::Secrets::_detail::Models; diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/models/generated_models.hpp b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/secrets_models.hpp similarity index 99% rename from sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/models/generated_models.hpp rename to sdk/keyvault/azure-security-keyvault-secrets/src/generated/secrets_models.hpp index 4c34da3e9..46c5b52a0 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/secrets/generated/models/generated_models.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/generated/secrets_models.hpp @@ -5,7 +5,7 @@ #pragma once -#include "azure/keyvault/secrets/generated/dll_import_export.hpp" +#include "azure/keyvault/secrets/dll_import_export.hpp" #include #include diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_deleted_secret.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_deleted_secret.cpp index bbbaf1f01..5ad81dd3d 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_deleted_secret.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_deleted_secret.cpp @@ -5,7 +5,7 @@ #include "azure/keyvault/secrets/keyvault_deleted_secret.hpp" -#include "azure/keyvault/secrets/generated/models/generated_models.hpp" +#include "./generated/secrets_models.hpp" namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { DeletedSecret::DeletedSecret(_detail::Models::DeletedSecretBundle const& deletedSecret) diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret.cpp index 7a4bfcaad..23b17851b 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret.cpp @@ -5,7 +5,7 @@ #include "azure/keyvault/secrets/keyvault_secret.hpp" -#include "azure/keyvault/secrets/generated/models/generated_models.hpp" +#include "./generated/secrets_models.hpp" namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { KeyVaultSecret::KeyVaultSecret(std::string const& name, std::string const& value) diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_paged_response.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_paged_response.cpp index dec8725dd..d238343b4 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_paged_response.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_paged_response.cpp @@ -8,8 +8,8 @@ #include "azure/keyvault/secrets/keyvault_secret_paged_response.hpp" +#include "./generated/key_vault_client_paged_responses.hpp" #include "azure/keyvault/secrets/secret_client.hpp" - using namespace Azure::Security::KeyVault::Secrets; void SecretPropertiesPagedResponse::OnNextPage(const Azure::Core::Context& context) @@ -41,3 +41,50 @@ void DeletedSecretPagedResponse::OnNextPage(const Azure::Core::Context& context) *this = m_secretClient->GetDeletedSecrets(options, context); CurrentPageToken = options.NextPageToken.Value(); } + +SecretPropertiesPagedResponse::SecretPropertiesPagedResponse( + _detail::GetSecretsPagedResponse& secretPagedResponse, + std::unique_ptr rawResponse, + std::shared_ptr secretClient, + std::string const& secretName) + : m_secretName(secretName), m_secretClient(std::move(secretClient)), + m_generatedResponse( + std::make_shared<_detail::GetSecretsPagedResponse>(std::move(secretPagedResponse))) +{ + for (auto& item : m_generatedResponse->Value.Value()) + { + Items.push_back(KeyVaultSecret(item).Properties); + } + RawResponse = std::move(rawResponse); +} + +SecretPropertiesPagedResponse::SecretPropertiesPagedResponse( + _detail::GetSecretVersionsPagedResponse& secretPagedResponse, + std::unique_ptr rawResponse, + std::shared_ptr secretClient, + std::string const& secretName) + : m_secretName(secretName), m_secretClient(std::move(secretClient)), + m_generatedVersionResponse( + std::make_shared<_detail::GetSecretVersionsPagedResponse>(std::move(secretPagedResponse))) +{ + for (auto& item : m_generatedVersionResponse->Value.Value()) + { + Items.push_back(KeyVaultSecret(item).Properties); + } + RawResponse = std::move(rawResponse); +} + +DeletedSecretPagedResponse::DeletedSecretPagedResponse( + _detail::GetDeletedSecretsPagedResponse& secretPagedResponse, + std::unique_ptr rawResponse, + std::shared_ptr secretClient) + : m_secretClient(std::move(secretClient)), + m_generatedResponse( + std::make_shared<_detail::GetDeletedSecretsPagedResponse>(std::move(secretPagedResponse))) +{ + for (auto& item : m_generatedResponse->Value.Value()) + { + Items.push_back(DeletedSecret(item)); + } + RawResponse = std::move(rawResponse); +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_properties.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_properties.cpp index 59d534904..ddaf22824 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_properties.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/keyvault_secret_properties.cpp @@ -6,11 +6,10 @@ * */ +#include "./generated/secrets_models.hpp" #include "azure/keyvault/secrets/keyvault_secret.hpp" #include "private/secret_serializers.hpp" -#include - using namespace Azure::Security::KeyVault::Secrets; SecretProperties SecretProperties::CreateFromURL(std::string const& url) diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/private/generated_package_version.hpp b/sdk/keyvault/azure-security-keyvault-secrets/src/private/generated_package_version.hpp deleted file mode 100644 index 22d79e9af..000000000 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/private/generated_package_version.hpp +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) TypeSpec Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -#pragma once - -#include - -#define AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MAJOR 1 -#define AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MINOR 0 -#define AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PATCH 0 -#define AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PRERELEASE "beta.1" - -#define AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA_HELPER(i) #i -#define AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA(i) \ - AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA_HELPER(i) - -namespace Azure { - namespace Security { - namespace KeyVault { - namespace Secrets { - namespace Generated { - namespace _detail { - class PackageVersion final { - public: - static constexpr std::int32_t Major = AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MAJOR; - static constexpr std::int32_t Minor = AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MINOR; - static constexpr std::int32_t Patch = AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PATCH; - - static constexpr bool IsPreRelease - = sizeof(AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PRERELEASE) != sizeof(""); - - static constexpr const char* ToString() - { - return IsPreRelease - ? AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA(AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MAJOR) "." AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA( - AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MINOR) "." AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA(AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PATCH) "-" AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PRERELEASE - : AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA(AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MAJOR) "." AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA( - AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MINOR) "." AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA(AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PATCH); - } - }; -}}}}}} // namespace Azure::Security::KeyVault::Secrets::Generated::_detail - -#undef AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA_HELPER -#undef AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_ITOA -#undef AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MAJOR -#undef AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_MINOR -#undef AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PATCH -#undef AZURE_SECURITY_KEYVAULT_SECRETS_GENERATED_VERSION_PRERELEASE diff --git a/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp b/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp index ebf884122..ffd71e326 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/src/secret_client.cpp @@ -8,7 +8,7 @@ #include "azure/keyvault/secrets/secret_client.hpp" -#include "azure/keyvault/secrets/generated.hpp" +#include "./generated/key_vault_client.hpp" #include "azure/keyvault/secrets/keyvault_operations.hpp" #include "private/keyvault_protocol.hpp" #include "private/package_version.hpp" @@ -34,16 +34,12 @@ SecretClient::SecretClient( std::shared_ptr credential, SecretClientOptions options) { - _detail::KeyVaultClientOptions generatedOptions; - generatedOptions.ApiVersion = options.ApiVersion; - generatedOptions.Log = options.Log; - generatedOptions.Retry = options.Retry; - generatedOptions.Transport = options.Transport; - generatedOptions.Telemetry = options.Telemetry; - generatedOptions.PerOperationPolicies = std::move(options.PerOperationPolicies); - generatedOptions.PerRetryPolicies = std::move(options.PerRetryPolicies); + _detail::KeyVaultClientOptions generatedClientOptions; + static_cast(generatedClientOptions) + = static_cast(options); + generatedClientOptions.ApiVersion = options.ApiVersion; m_client = std::make_shared<_detail::KeyVaultClient>( - _detail::KeyVaultClient(vaultUrl, credential, generatedOptions)); + _detail::KeyVaultClient(vaultUrl, credential, generatedClientOptions)); } Azure::Response SecretClient::GetSecret( @@ -205,3 +201,5 @@ DeletedSecretPagedResponse SecretClient::GetDeletedSecrets( return deletedSecretPagedResponse; } + +std::string SecretClient::GetUrl() const { return m_client->GetUrl(); } diff --git a/sdk/keyvault/azure-security-keyvault-secrets/tspconfig.yaml b/sdk/keyvault/azure-security-keyvault-secrets/tspconfig.yaml index ff65e03cb..7ac8c68f8 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/tspconfig.yaml +++ b/sdk/keyvault/azure-security-keyvault-secrets/tspconfig.yaml @@ -19,4 +19,5 @@ options: flavor: azure package-dir: "azure-security-keyvault-secrets" namespace: "Azure::Security::KeyVault::Secrets::_detail" - headersOutputPath: "azure/keyvault/secrets/generated" + headersOutputPath: "azure/keyvault/secrets" + noPublicHeaders: true