App Config to TypeSpec#49272
Open
mrm9084 wants to merge 5 commits into
Open
Conversation
2 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates azure-data-appconfiguration from the legacy Swagger/AutoRest codegen setup to a TypeSpec-based workflow, updating generated implementation surface area while keeping the existing hand-written public clients working via bridging helpers.
Changes:
- Introduces TypeSpec source mapping (
tsp-location.yaml) and removes the old Swagger codegen artifacts/customizations. - Updates the hand-written clients to call the new TypeSpec-generated protocol methods via a new internal
ImplBridge. - Adds/updates TypeSpec-generated implementation models and polling helpers used for snapshot LROs.
Reviewed changes
Copilot reviewed 70 out of 71 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/appconfiguration/azure-data-appconfiguration/tsp-location.yaml | Adds TypeSpec spec repo/commit mapping for code generation. |
| sdk/appconfiguration/azure-data-appconfiguration/swagger/Update-Codegeneration.ps1 | Removes legacy Swagger codegen script. |
| sdk/appconfiguration/azure-data-appconfiguration/swagger/src/main/java/AppConfigCustomization.java | Removes legacy Swagger customization class. |
| sdk/appconfiguration/azure-data-appconfiguration/swagger/README.md | Removes legacy AutoRest configuration README. |
| sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/implementation/ConfigurationSettingSerializerTest.java | Removes tests tied to deleted serialization helper. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/resources/META-INF/azure-data-appconfiguration_metadata.json | Adds TypeSpec metadata describing generated surface/versioning. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/module-info.java | Updates module descriptor to align with regenerated layout. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/package-info.java | Replaces rich package docs with generated minimal description. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/Utility.java | Reworks snapshot update calls to use protocol-style RequestOptions + BinaryData. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/SyncOperationLocationPollingStrategy.java | Adds sync Operation-Location polling strategy helper. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/PollingUtils.java | Adds shared polling utilities (retry-after parsing, deserialization helpers). |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/package-info.java | Updates implementation package description to TypeSpec-generated wording. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/OperationLocationPollingStrategy.java | Adds async Operation-Location polling strategy helper. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/UpdateSnapshotHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/State.java | Removes Swagger-generated operation state enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/SnapshotUpdateParameters.java | Removes Swagger-generated snapshot update body model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/SnapshotStatus.java | Adds TypeSpec-generated snapshot status expandable enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/SnapshotListResult.java | Removes Swagger-generated list result model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/SnapshotFields.java | Adds TypeSpec-generated snapshot fields expandable enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/Snapshot.java | Adds TypeSpec-generated snapshot model used by protocol layer. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/PutLockHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/PutKeyValueHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/package-info.java | Updates implementation-models package description to TypeSpec-generated wording. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/OperationState.java | Adds TypeSpec-generated operation-state expandable enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/OperationDetails.java | Updates operation details model for TypeSpec generation. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/LabelListResult.java | Removes Swagger-generated list result model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/LabelFields.java | Adds TypeSpec-generated label fields expandable enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/Label.java | Adds TypeSpec-generated label model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValueListResult.java | Removes Swagger-generated list result model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValueFilter.java | Adds TypeSpec-generated key-value filter model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValueFields.java | Adds TypeSpec-generated key-value fields expandable enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValue.java | Updates key-value protocol model for TypeSpec generation. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/KeyListResult.java | Removes Swagger-generated list result model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/Key.java | Updates key protocol model for TypeSpec generation. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/InnerError.java | Removes Swagger-generated error model type. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetSnapshotsNextHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetSnapshotsHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetSnapshotHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetRevisionsNextHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetRevisionsHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetLabelsNextHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetLabelsHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetKeyValuesNextHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetKeyValuesHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetKeyValueHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetKeysNextHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/GetKeysHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/ErrorException.java | Removes Swagger-generated exception type. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/ErrorDetail.java | Removes Swagger-generated error detail model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/Error.java | Removes Swagger-generated error model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/DeleteLockHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/DeleteKeyValueHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CreateSnapshotHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CompositionType.java | Adds TypeSpec-generated composition type expandable enum. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckSnapshotsHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckSnapshotHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckRevisionsHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckLabelsHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckKeyValuesHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckKeyValueHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/models/CheckKeysHeaders.java | Removes Swagger-generated response header model. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/ImplBridge.java | Adds an internal adapter to preserve the old typed call shapes over protocol-style methods. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/CreateSnapshotUtilClient.java | Refactors snapshot LRO helper to use protocol-style requests/responses. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/ConfigurationSettingSerializationHelper.java | Removes old custom serialization helper. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/implementation/ConfigurationSettingDeserializationHelper.java | Updates error reporting for failed strong-type deserialization. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationClientBuilder.java | Updates construction of the TypeSpec-generated implementation client. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationClient.java | Switches public sync client implementation to use ImplBridge protocol adapters. |
| sdk/appconfiguration/azure-data-appconfiguration/src/main/java/com/azure/data/appconfiguration/ConfigurationAsyncClient.java | Switches public async client implementation to use ImplBridge protocol adapters. |
| sdk/appconfiguration/azure-data-appconfiguration/customization/src/main/java/AppConfigurationCustomizations.java | Adds TypeSpec customization logic to remove/patch generated public surface and adjust impl visibility. |
| sdk/appconfiguration/azure-data-appconfiguration/customization/pom.xml | Renames customization artifact to align with TypeSpec customization module naming. |
Comment on lines
105
to
+110
| } catch (Exception exception) { | ||
| throw LOGGER.logExceptionAsError( | ||
| new RuntimeException("The setting is neither a 'FeatureFlagConfigurationSetting' nor " | ||
| + "'SecretReferenceConfigurationSetting', return the setting as 'ConfigurationSetting'. " | ||
| + "Error: ", exception)); | ||
| + "'SecretReferenceConfigurationSetting', return the setting as 'ConfigurationSetting'. " + "Key: '" | ||
| + setting.getKey() + "', contentType: '" + contentType + "', value: '" + value + "'. Error: " | ||
| + exception.getClass().getName() + ": " + exception.getMessage(), exception)); |
Comment on lines
5
to
9
| /** | ||
| * <p><a href="https://learn.microsoft.com/azure/azure-app-configuration/">Azure App Configuration Service</a> | ||
| * is a managed service provided by Microsoft Azure that allows developers to centralize configuration settings for | ||
| * their applications. With App Configuration, developers can store and manage application settings, feature flags, | ||
| * and other configuration data in one central location. This simplifies the management of configuration settings and | ||
| * makes it easy to update configuration values for multiple applications.</p> | ||
| * | ||
| * <p>The Azure App Configuration library is a client library that provides Java developers with a simple and | ||
| * easy-to-use interface for accessing and using the Azure App Configuration Service. This library allows developers to | ||
| * easily manage their application's configuration settings, feature flags, and other configuration data stored in the | ||
| * Azure App Configuration Service. | ||
| * </p> | ||
| * | ||
| * <h2>Getting Started</h2> | ||
| * | ||
| * <p>In order to interact with the App Configuration service you'll need to create an instance of the Configuration | ||
| * Client class. To make this possible you'll need the connection string of the configuration store. Alternatively, | ||
| * you can use Entra authentication via | ||
| * <a href="https://learn.microsoft.com/java/api/overview/azure/identity-readme?view=azure-java-stable"> Azure Identity</a> | ||
| * to connect to the service.</p> | ||
| * <ol> | ||
| * <li>Connection string, see {@link com.azure.data.appconfiguration.ConfigurationClientBuilder#connectionString(java.lang.String) connectionString}.</li> | ||
| * <li>Azure Active Directory, see {@link com.azure.data.appconfiguration.ConfigurationClientBuilder#credential(com.azure.core.credential.TokenCredential) TokenCredential}.</li> | ||
| * </ol> | ||
| * | ||
| * <p><strong>Sample: Construct Asynchronous Configuration Client with Connection String</strong></p> | ||
| * | ||
| * <p>The following code sample demonstrates the creation of a {@link com.azure.data.appconfiguration.ConfigurationAsyncClient}, | ||
| * using the {@link com.azure.data.appconfiguration.ConfigurationClientBuilder} to configure it with a connection | ||
| * string.</p> | ||
| * | ||
| * <!-- src_embed com.azure.data.applicationconfig.async.configurationclient.instantiation --> | ||
| * <pre> | ||
| * ConfigurationAsyncClient configurationAsyncClient = new ConfigurationClientBuilder() | ||
| * .connectionString(connectionString) | ||
| * .buildAsyncClient(); | ||
| * </pre> | ||
| * <!-- end com.azure.data.applicationconfig.async.configurationclient.instantiation --> | ||
| * | ||
| * <p><strong>Sample: Construct Synchronous Configuration Client with Connection String</strong></p> | ||
| * | ||
| * <p>The following code sample demonstrates the creation of a {@link com.azure.data.appconfiguration.ConfigurationClient}, | ||
| * using the {@link com.azure.data.appconfiguration.ConfigurationClientBuilder} to configure it with a connection | ||
| * string.</p> | ||
| * | ||
| * <!-- src_embed com.azure.data.applicationconfig.configurationclient.instantiation --> | ||
| * <pre> | ||
| * ConfigurationClient configurationClient = new ConfigurationClientBuilder() | ||
| * .connectionString(connectionString) | ||
| * .buildClient(); | ||
| * </pre> | ||
| * <!-- end com.azure.data.applicationconfig.configurationclient.instantiation --> | ||
| * | ||
| * <p>App Configuration support multiple operations, such as create, update, retrieve, and delete a configuration setting. | ||
| * See methods in client level class below to explore all capabilities that library provides.</p> | ||
| * | ||
| * <p>For more configuration setting types, see | ||
| * {@link com.azure.data.appconfiguration.models.FeatureFlagConfigurationSetting} and | ||
| * {@link com.azure.data.appconfiguration.models.SecretReferenceConfigurationSetting}.</p> | ||
| * | ||
| * <br/> | ||
| * | ||
| * <hr/> | ||
| * | ||
| * <h2>Add Configuration Setting</h2> | ||
| * | ||
| * <p>The {@link com.azure.data.appconfiguration.ConfigurationClient#addConfigurationSetting(com.azure.data.appconfiguration.models.ConfigurationSetting) addConfigurationSetting} | ||
| * method can be used to add a configuration setting in the Azure App Configuration.</p> | ||
| * | ||
| * <p>The sample below shows how to add a setting with the key "prodDBConnection", label "westUS" and value "db_connection" using {@link com.azure.data.appconfiguration.ConfigurationClient}.</p> | ||
| * | ||
| * <!-- src_embed com.azure.data.appconfiguration.ConfigurationClient.addConfigurationSetting#ConfigurationSetting --> | ||
| * <pre> | ||
| * ConfigurationSetting setting = configurationClient.addConfigurationSetting(new ConfigurationSetting() | ||
| * .setKey("prodDBConnection") | ||
| * .setLabel("westUS") | ||
| * .setValue("db_connection")); | ||
| * System.out.printf("Key: %s, Label: %s, Value: %s", setting.getKey(), setting.getLabel(), setting.getValue()); | ||
| * </pre> | ||
| * <!-- end com.azure.data.appconfiguration.ConfigurationClient.addConfigurationSetting#ConfigurationSetting --> | ||
| * | ||
| * <p><strong>Note:</strong> For asynchronous sample, refer to {@link com.azure.data.appconfiguration.ConfigurationAsyncClient}.</p> | ||
| * | ||
| * <br/> | ||
| * | ||
| * <hr/> | ||
| * | ||
| * <h2>Update Configuration Setting</h2> | ||
| * | ||
| * <p>The {@link com.azure.data.appconfiguration.ConfigurationClient#setConfigurationSetting(com.azure.data.appconfiguration.models.ConfigurationSetting) setConfigurationSetting} | ||
| * method can be used to update a configuration setting in the Azure App Configuration.</p> | ||
| * | ||
| * <p>The sample below shows how to update setting's value "db_connection" to "updated_db_connection"</p> | ||
| * | ||
| * <!-- src_embed com.azure.data.appconfiguration.ConfigurationClient.setConfigurationSetting#ConfigurationSetting --> | ||
| * <pre> | ||
| * ConfigurationSetting setting = configurationClient.setConfigurationSetting(new ConfigurationSetting() | ||
| * .setKey("prodDBConnection") | ||
| * .setLabel("westUS") | ||
| * .setValue("db_connection")); | ||
| * System.out.printf("Key: %s, Label: %s, Value: %s", setting.getKey(), setting.getLabel(), setting.getValue()); | ||
| * | ||
| * // Update the value of the setting to "updated_db_connection". | ||
| * setting = configurationClient.setConfigurationSetting(new ConfigurationSetting() | ||
| * .setKey("prodDBConnection") | ||
| * .setLabel("westUS") | ||
| * .setValue("updated_db_connection")); | ||
| * System.out.printf("Key: %s, Label: %s, Value: %s", setting.getKey(), setting.getLabel(), setting.getValue()); | ||
| * </pre> | ||
| * <!-- end com.azure.data.appconfiguration.ConfigurationClient.setConfigurationSetting#ConfigurationSetting --> | ||
| * | ||
| * <p><strong>Note:</strong> For asynchronous sample, refer to {@link com.azure.data.appconfiguration.ConfigurationAsyncClient}.</p> | ||
| * | ||
| * <br/> | ||
| * | ||
| * <hr/> | ||
| * | ||
| * <h2>Get Configuration Setting</h2> | ||
| * | ||
| * <p>The {@link com.azure.data.appconfiguration.ConfigurationClient#getConfigurationSetting(com.azure.data.appconfiguration.models.ConfigurationSetting) getConfigurationSetting} | ||
| * method can be used to get a configuration setting in the Azure App Configuration.</p> | ||
| * | ||
| * <p>The sample below shows how to retrieve the setting with the key "prodDBConnection".</p> | ||
| * | ||
| * <!-- src_embed com.azure.data.applicationconfig.configurationclient.getConfigurationSetting#ConfigurationSetting --> | ||
| * <pre> | ||
| * ConfigurationSetting setting = configurationClient.getConfigurationSetting(new ConfigurationSetting() | ||
| * .setKey("prodDBConnection") | ||
| * .setLabel("westUS")); | ||
| * System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue()); | ||
| * </pre> | ||
| * <!-- end com.azure.data.applicationconfig.configurationclient.getConfigurationSetting#ConfigurationSetting --> | ||
| * | ||
| * <p><strong>Note:</strong> For asynchronous sample, refer to {@link com.azure.data.appconfiguration.ConfigurationAsyncClient}.</p> | ||
| * | ||
| * <br/> | ||
| * | ||
| * <hr/> | ||
| * | ||
| * <h2>Delete Configuration Setting</h2> | ||
| * | ||
| * <p>The {@link com.azure.data.appconfiguration.ConfigurationClient#deleteConfigurationSetting(com.azure.data.appconfiguration.models.ConfigurationSetting) deleteConfigurationSetting} | ||
| * method can be used to delete a configuration setting in the Azure App Configuration.</p> | ||
| * | ||
| * <p>The sample below shows how to delete the setting with the key "prodDBConnection".</p> | ||
| * | ||
| * <!-- src_embed com.azure.data.applicationconfig.configurationclient.deleteConfigurationSetting#ConfigurationSetting --> | ||
| * <pre> | ||
| * ConfigurationSetting setting = configurationClient.deleteConfigurationSetting(new ConfigurationSetting() | ||
| * .setKey("prodDBConnection") | ||
| * .setLabel("westUS")); | ||
| * System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue()); | ||
| * </pre> | ||
| * <!-- end com.azure.data.applicationconfig.configurationclient.deleteConfigurationSetting#ConfigurationSetting --> | ||
| * | ||
| * <p><strong>Note:</strong> For asynchronous sample, refer to {@link com.azure.data.appconfiguration.ConfigurationAsyncClient}.</p> | ||
| * | ||
| * <br/> | ||
| * | ||
| * <hr/> | ||
| * | ||
| * <h2>List Configuration Settings</h2> | ||
| * | ||
| * <p>The {@link com.azure.data.appconfiguration.ConfigurationClient#listConfigurationSettings(com.azure.data.appconfiguration.models.SettingSelector) listConfigurationSettings} | ||
| * method can be used to list configuration settings in the Azure App Configuration.</p> | ||
| * | ||
| * <p>The sample below shows how to list all settings that use the key "prodDBConnection".</p> | ||
| * <!-- src_embed com.azure.data.applicationconfig.configurationclient.listConfigurationSettings#settingSelector --> | ||
| * <pre> | ||
| * SettingSelector settingSelector = new SettingSelector().setKeyFilter("prodDBConnection"); | ||
| * configurationClient.listConfigurationSettings(settingSelector).forEach(setting -> { | ||
| * System.out.printf("Key: %s, Value: %s", setting.getKey(), setting.getValue()); | ||
| * }); | ||
| * </pre> | ||
| * <!-- end com.azure.data.applicationconfig.configurationclient.listConfigurationSettings#settingSelector --> | ||
| * | ||
| * <p><strong>Note:</strong> For asynchronous sample, refer to {@link com.azure.data.appconfiguration.ConfigurationAsyncClient}.</p> | ||
| * | ||
| * @see com.azure.data.appconfiguration.ConfigurationClientBuilder | ||
| * @see com.azure.data.appconfiguration.ConfigurationAsyncClient | ||
| * @see com.azure.data.appconfiguration.ConfigurationClient | ||
| * @see com.azure.data.appconfiguration.models.ConfigurationSetting | ||
| * Package containing the classes for AzureAppConfiguration. | ||
| * Azure App Configuration REST API. | ||
| */ | ||
| package com.azure.data.appconfiguration; |
| @@ -0,0 +1 @@ | |||
| {"flavor":"azure","apiVersions":{"AzureAppConfiguration":"2024-09-01"},"crossLanguagePackageId":"AzureAppConfiguration","crossLanguageVersion":"29f9953822ad","crossLanguageDefinitions":{"com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient":"AzureAppConfiguration","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkKeyValue":"AzureAppConfiguration.checkKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkKeyValueWithResponse":"AzureAppConfiguration.checkKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkKeyValues":"AzureAppConfiguration.checkKeyValues","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkKeyValuesWithResponse":"AzureAppConfiguration.checkKeyValues","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkKeys":"AzureAppConfiguration.checkKeys","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkKeysWithResponse":"AzureAppConfiguration.checkKeys","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkLabels":"AzureAppConfiguration.checkLabels","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkLabelsWithResponse":"AzureAppConfiguration.checkLabels","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkRevisions":"AzureAppConfiguration.checkRevisions","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkRevisionsWithResponse":"AzureAppConfiguration.checkRevisions","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkSnapshot":"AzureAppConfiguration.checkSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkSnapshotWithResponse":"AzureAppConfiguration.checkSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkSnapshots":"AzureAppConfiguration.checkSnapshots","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.checkSnapshotsWithResponse":"AzureAppConfiguration.checkSnapshots","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.deleteConfigurationSetting":"AzureAppConfiguration.deleteKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.deleteConfigurationSettingWithResponse":"AzureAppConfiguration.deleteKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.deleteLock":"AzureAppConfiguration.deleteLock","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.deleteLockWithResponse":"AzureAppConfiguration.deleteLock","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getKeyValue":"AzureAppConfiguration.getKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getKeyValueWithResponse":"AzureAppConfiguration.getKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getKeys":"AzureAppConfiguration.getKeys","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getLabels":"AzureAppConfiguration.getLabels","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getOperationDetails":"AzureAppConfiguration.getOperationDetails","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getOperationDetailsWithResponse":"AzureAppConfiguration.getOperationDetails","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getRevisions":"AzureAppConfiguration.getRevisions","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getSnapshot":"AzureAppConfiguration.getSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getSnapshotWithResponse":"AzureAppConfiguration.getSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.getSnapshots":"AzureAppConfiguration.getSnapshots","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.listConfigurationSettings":"AzureAppConfiguration.getKeyValues","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.putLock":"AzureAppConfiguration.putLock","com.azure.data.appconfiguration.AzureAppConfigurationAsyncClient.putLockWithResponse":"AzureAppConfiguration.putLock","com.azure.data.appconfiguration.AzureAppConfigurationBuilder":"AzureAppConfiguration","com.azure.data.appconfiguration.AzureAppConfigurationClient":"AzureAppConfiguration","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkKeyValue":"AzureAppConfiguration.checkKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkKeyValueWithResponse":"AzureAppConfiguration.checkKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkKeyValues":"AzureAppConfiguration.checkKeyValues","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkKeyValuesWithResponse":"AzureAppConfiguration.checkKeyValues","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkKeys":"AzureAppConfiguration.checkKeys","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkKeysWithResponse":"AzureAppConfiguration.checkKeys","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkLabels":"AzureAppConfiguration.checkLabels","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkLabelsWithResponse":"AzureAppConfiguration.checkLabels","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkRevisions":"AzureAppConfiguration.checkRevisions","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkRevisionsWithResponse":"AzureAppConfiguration.checkRevisions","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkSnapshot":"AzureAppConfiguration.checkSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkSnapshotWithResponse":"AzureAppConfiguration.checkSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkSnapshots":"AzureAppConfiguration.checkSnapshots","com.azure.data.appconfiguration.AzureAppConfigurationClient.checkSnapshotsWithResponse":"AzureAppConfiguration.checkSnapshots","com.azure.data.appconfiguration.AzureAppConfigurationClient.deleteConfigurationSetting":"AzureAppConfiguration.deleteKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationClient.deleteConfigurationSettingWithResponse":"AzureAppConfiguration.deleteKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationClient.deleteLock":"AzureAppConfiguration.deleteLock","com.azure.data.appconfiguration.AzureAppConfigurationClient.deleteLockWithResponse":"AzureAppConfiguration.deleteLock","com.azure.data.appconfiguration.AzureAppConfigurationClient.getKeyValue":"AzureAppConfiguration.getKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationClient.getKeyValueWithResponse":"AzureAppConfiguration.getKeyValue","com.azure.data.appconfiguration.AzureAppConfigurationClient.getKeys":"AzureAppConfiguration.getKeys","com.azure.data.appconfiguration.AzureAppConfigurationClient.getLabels":"AzureAppConfiguration.getLabels","com.azure.data.appconfiguration.AzureAppConfigurationClient.getOperationDetails":"AzureAppConfiguration.getOperationDetails","com.azure.data.appconfiguration.AzureAppConfigurationClient.getOperationDetailsWithResponse":"AzureAppConfiguration.getOperationDetails","com.azure.data.appconfiguration.AzureAppConfigurationClient.getRevisions":"AzureAppConfiguration.getRevisions","com.azure.data.appconfiguration.AzureAppConfigurationClient.getSnapshot":"AzureAppConfiguration.getSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationClient.getSnapshotWithResponse":"AzureAppConfiguration.getSnapshot","com.azure.data.appconfiguration.AzureAppConfigurationClient.getSnapshots":"AzureAppConfiguration.getSnapshots","com.azure.data.appconfiguration.AzureAppConfigurationClient.listConfigurationSettings":"AzureAppConfiguration.getKeyValues","com.azure.data.appconfiguration.AzureAppConfigurationClient.putLock":"AzureAppConfiguration.putLock","com.azure.data.appconfiguration.AzureAppConfigurationClient.putLockWithResponse":"AzureAppConfiguration.putLock","com.azure.data.appconfiguration.implementation.models.CompositionType":"AzureAppConfiguration.CompositionType","com.azure.data.appconfiguration.implementation.models.Key":"AzureAppConfiguration.Key","com.azure.data.appconfiguration.implementation.models.KeyValue":"AzureAppConfiguration.KeyValue","com.azure.data.appconfiguration.implementation.models.KeyValueFields":"AzureAppConfiguration.KeyValueFields","com.azure.data.appconfiguration.implementation.models.KeyValueFilter":"AzureAppConfiguration.KeyValueFilter","com.azure.data.appconfiguration.implementation.models.Label":"AzureAppConfiguration.Label","com.azure.data.appconfiguration.implementation.models.LabelFields":"AzureAppConfiguration.LabelFields","com.azure.data.appconfiguration.implementation.models.OperationDetails":"AzureAppConfiguration.OperationDetails","com.azure.data.appconfiguration.implementation.models.OperationState":"Azure.Core.Foundations.OperationState","com.azure.data.appconfiguration.implementation.models.Snapshot":"AzureAppConfiguration.Snapshot","com.azure.data.appconfiguration.implementation.models.SnapshotFields":"AzureAppConfiguration.SnapshotFields","com.azure.data.appconfiguration.implementation.models.SnapshotStatus":"AzureAppConfiguration.SnapshotStatus"},"generatedFiles":["src/main/java/com/azure/data/appconfiguration/AzureAppConfigurationAsyncClient.java","src/main/java/com/azure/data/appconfiguration/AzureAppConfigurationBuilder.java","src/main/java/com/azure/data/appconfiguration/AzureAppConfigurationClient.java","src/main/java/com/azure/data/appconfiguration/AzureAppConfigurationServiceVersion.java","src/main/java/com/azure/data/appconfiguration/implementation/AzureAppConfigurationImpl.java","src/main/java/com/azure/data/appconfiguration/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/data/appconfiguration/implementation/PollingUtils.java","src/main/java/com/azure/data/appconfiguration/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/data/appconfiguration/implementation/models/CompositionType.java","src/main/java/com/azure/data/appconfiguration/implementation/models/Key.java","src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValue.java","src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValueFields.java","src/main/java/com/azure/data/appconfiguration/implementation/models/KeyValueFilter.java","src/main/java/com/azure/data/appconfiguration/implementation/models/Label.java","src/main/java/com/azure/data/appconfiguration/implementation/models/LabelFields.java","src/main/java/com/azure/data/appconfiguration/implementation/models/OperationDetails.java","src/main/java/com/azure/data/appconfiguration/implementation/models/OperationState.java","src/main/java/com/azure/data/appconfiguration/implementation/models/Snapshot.java","src/main/java/com/azure/data/appconfiguration/implementation/models/SnapshotFields.java","src/main/java/com/azure/data/appconfiguration/implementation/models/SnapshotStatus.java","src/main/java/com/azure/data/appconfiguration/implementation/models/package-info.java","src/main/java/com/azure/data/appconfiguration/implementation/package-info.java","src/main/java/com/azure/data/appconfiguration/package-info.java","src/main/java/module-info.java"]} No newline at end of file | |||
Comment on lines
105
to
129
| @Generated | ||
| public static OperationDetails fromJson(JsonReader jsonReader) throws IOException { | ||
| return jsonReader.readObject(reader -> { | ||
| boolean idFound = false; | ||
| String id = null; | ||
| boolean statusFound = false; | ||
| State status = null; | ||
| ErrorDetail error = null; | ||
| OperationState status = null; | ||
| ResponseError error = null; | ||
| while (reader.nextToken() != JsonToken.END_OBJECT) { | ||
| String fieldName = reader.getFieldName(); | ||
| reader.nextToken(); | ||
|
|
||
| if ("id".equals(fieldName)) { | ||
| id = reader.getString(); | ||
| idFound = true; | ||
| } else if ("status".equals(fieldName)) { | ||
| status = State.fromString(reader.getString()); | ||
| statusFound = true; | ||
| status = OperationState.fromString(reader.getString()); | ||
| } else if ("error".equals(fieldName)) { | ||
| error = ErrorDetail.fromJson(reader); | ||
| error = ResponseError.fromJson(reader); | ||
| } else { | ||
| reader.skipChildren(); | ||
| } | ||
| } | ||
| if (idFound && statusFound) { | ||
| OperationDetails deserializedOperationDetails = new OperationDetails(id, status); | ||
| deserializedOperationDetails.error = error; | ||
|
|
||
| return deserializedOperationDetails; | ||
| } | ||
| List<String> missingProperties = new ArrayList<>(); | ||
| if (!idFound) { | ||
| missingProperties.add("id"); | ||
| } | ||
| if (!statusFound) { | ||
| missingProperties.add("status"); | ||
| } | ||
| OperationDetails deserializedOperationDetails = new OperationDetails(id, status); | ||
| deserializedOperationDetails.error = error; | ||
|
|
||
| throw new IllegalStateException( | ||
| "Missing required property/properties: " + String.join(", ", missingProperties)); | ||
| return deserializedOperationDetails; | ||
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This should be an in place update from swagger to typespec.