Skip to content

App Config to TypeSpec#49272

Open
mrm9084 wants to merge 5 commits into
Azure:mainfrom
mrm9084:MoveToTypeSpec
Open

App Config to TypeSpec#49272
mrm9084 wants to merge 5 commits into
Azure:mainfrom
mrm9084:MoveToTypeSpec

Conversation

@mrm9084
Copy link
Copy Markdown
Member

@mrm9084 mrm9084 commented May 26, 2026

Description

This should be an in place update from swagger to typespec.

Copilot AI review requested due to automatic review settings May 26, 2026 22:02
@mrm9084 mrm9084 requested review from a team, alzimmermsft, avanigupta and nroutray as code owners May 26, 2026 22:02
@github-actions github-actions Bot added the App Configuration Azure.ApplicationModel.Configuration label May 26, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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&#40;&#41;
* .connectionString&#40;connectionString&#41;
* .buildAsyncClient&#40;&#41;;
* </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&#40;&#41;
* .connectionString&#40;connectionString&#41;
* .buildClient&#40;&#41;;
* </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&#40;new ConfigurationSetting&#40;&#41;
* .setKey&#40;&quot;prodDBConnection&quot;&#41;
* .setLabel&#40;&quot;westUS&quot;&#41;
* .setValue&#40;&quot;db_connection&quot;&#41;&#41;;
* System.out.printf&#40;&quot;Key: %s, Label: %s, Value: %s&quot;, setting.getKey&#40;&#41;, setting.getLabel&#40;&#41;, setting.getValue&#40;&#41;&#41;;
* </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&#40;new ConfigurationSetting&#40;&#41;
* .setKey&#40;&quot;prodDBConnection&quot;&#41;
* .setLabel&#40;&quot;westUS&quot;&#41;
* .setValue&#40;&quot;db_connection&quot;&#41;&#41;;
* System.out.printf&#40;&quot;Key: %s, Label: %s, Value: %s&quot;, setting.getKey&#40;&#41;, setting.getLabel&#40;&#41;, setting.getValue&#40;&#41;&#41;;
*
* &#47;&#47; Update the value of the setting to &quot;updated_db_connection&quot;.
* setting = configurationClient.setConfigurationSetting&#40;new ConfigurationSetting&#40;&#41;
* .setKey&#40;&quot;prodDBConnection&quot;&#41;
* .setLabel&#40;&quot;westUS&quot;&#41;
* .setValue&#40;&quot;updated_db_connection&quot;&#41;&#41;;
* System.out.printf&#40;&quot;Key: %s, Label: %s, Value: %s&quot;, setting.getKey&#40;&#41;, setting.getLabel&#40;&#41;, setting.getValue&#40;&#41;&#41;;
* </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&#40;new ConfigurationSetting&#40;&#41;
* .setKey&#40;&quot;prodDBConnection&quot;&#41;
* .setLabel&#40;&quot;westUS&quot;&#41;&#41;;
* System.out.printf&#40;&quot;Key: %s, Value: %s&quot;, setting.getKey&#40;&#41;, setting.getValue&#40;&#41;&#41;;
* </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&#40;new ConfigurationSetting&#40;&#41;
* .setKey&#40;&quot;prodDBConnection&quot;&#41;
* .setLabel&#40;&quot;westUS&quot;&#41;&#41;;
* System.out.printf&#40;&quot;Key: %s, Value: %s&quot;, setting.getKey&#40;&#41;, setting.getValue&#40;&#41;&#41;;
* </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&#40;&#41;.setKeyFilter&#40;&quot;prodDBConnection&quot;&#41;;
* configurationClient.listConfigurationSettings&#40;settingSelector&#41;.forEach&#40;setting -&gt; &#123;
* System.out.printf&#40;&quot;Key: %s, Value: %s&quot;, setting.getKey&#40;&#41;, setting.getValue&#40;&#41;&#41;;
* &#125;&#41;;
* </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;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

App Configuration Azure.ApplicationModel.Configuration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants