diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 92dbd2e57617..8d1eec352c61 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -110,6 +110,7 @@ com.azure:azure-cosmos-test;1.0.0-beta.11;1.0.0-beta.12
com.azure:azure-cosmos-tests;1.0.0-beta.1;1.0.0-beta.1
com.azure.cosmos.kafka:azure-cosmos-kafka-connect;2.2.0;2.3.0-beta.1
com.azure:azure-data-appconfiguration;1.8.0;1.9.0-beta.1
+com.azure:azure-data-appconfiguration-v2;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-data-appconfiguration-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-data-schemaregistry;1.5.4;1.6.0-beta.1
com.azure:azure-data-schemaregistry-apacheavro;1.1.25;1.2.0-beta.3
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/CHANGELOG.md b/sdk/appconfiguration/azure-data-appconfiguration-v2/CHANGELOG.md
new file mode 100644
index 000000000000..13dd08af78ab
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Release History
+
+## 1.0.0-beta.1 (Unreleased)
+
+### Features Added
+
+### Breaking Changes
+
+### Bugs Fixed
+
+### Other Changes
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/README.md b/sdk/appconfiguration/azure-data-appconfiguration-v2/README.md
new file mode 100644
index 000000000000..3d03de8a6410
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/README.md
@@ -0,0 +1,15 @@
+# Azure AppConfiguration client library for Java
+
+## Getting started
+
+## Key concepts
+
+## Examples
+
+## Troubleshooting
+
+## Next steps
+
+## Next steps Samples
+
+## Contributing
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/pom.xml b/sdk/appconfiguration/azure-data-appconfiguration-v2/pom.xml
new file mode 100644
index 000000000000..0d9416fd0b23
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/pom.xml
@@ -0,0 +1,108 @@
+
+
+ 4.0.0
+
+ com.azure.v2
+ azure-client-sdk-parent
+ 2.0.0-beta.1
+ ../../parents/azure-client-sdk-parent-v2
+
+
+ io.clientcore
+ azure-data-appconfiguration-v2
+ 1.0.0-beta.1
+ jar
+
+ SDK for AzureAppConfiguration
+ This package contains AzureAppConfiguration client library.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+ false
+
+
+
+ io.clientcore
+ core
+ 1.0.0-beta.8
+
+
+ com.azure.v2
+ azure-core
+ 2.0.0-beta.1
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.13.0
+
+
+ run-annotation-processing
+ generate-sources
+
+ compile
+
+
+ 1.8
+ 1.8
+ 8
+ only
+ ${project.build.directory}/generated-sources/
+
+
+ io.clientcore
+ annotation-processor
+ 1.0.0-beta.1
+
+
+
+ io.clientcore.annotation.processor.AnnotationProcessor
+
+
+ -Xlint:-options
+
+
+ module-info.java
+
+
+
+
+
+
+ io.clientcore
+ annotation-processor
+ 1.0.0-beta.1
+
+
+
+
+
+
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationClient.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationClient.java
new file mode 100644
index 000000000000..94e07f7ef93e
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationClient.java
@@ -0,0 +1,1283 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration;
+
+import com.azure.v2.data.appconfiguration.implementation.AzureAppConfigurationClientImpl;
+import com.azure.v2.data.appconfiguration.models.ErrorException;
+import com.azure.v2.data.appconfiguration.models.Key;
+import com.azure.v2.data.appconfiguration.models.KeyValue;
+import com.azure.v2.data.appconfiguration.models.KeyValueFields;
+import com.azure.v2.data.appconfiguration.models.Label;
+import com.azure.v2.data.appconfiguration.models.LabelFields;
+import com.azure.v2.data.appconfiguration.models.Snapshot;
+import com.azure.v2.data.appconfiguration.models.SnapshotFields;
+import com.azure.v2.data.appconfiguration.models.SnapshotStatus;
+import com.azure.v2.data.appconfiguration.models.SnapshotUpdateParameters;
+import com.azure.v2.data.appconfiguration.models.UpdateSnapshotRequestContentType;
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.annotations.ReturnType;
+import io.clientcore.core.annotations.ServiceClient;
+import io.clientcore.core.annotations.ServiceMethod;
+import io.clientcore.core.http.models.RequestContext;
+import io.clientcore.core.http.models.Response;
+import io.clientcore.core.http.paging.PagedIterable;
+import java.util.List;
+
+/**
+ * Initializes a new instance of the synchronous AzureAppConfigurationClient type.
+ */
+@ServiceClient(builder = AzureAppConfigurationClientBuilder.class)
+public final class AzureAppConfigurationClient {
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private final AzureAppConfigurationClientImpl serviceClient;
+
+ /**
+ * Initializes an instance of AzureAppConfigurationClient class.
+ *
+ * @param serviceClient the service client implementation.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ AzureAppConfigurationClient(AzureAppConfigurationClientImpl serviceClient) {
+ this.serviceClient = serviceClient;
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeys(String accept, String name, String after, String syncToken,
+ String acceptDatetime) {
+ return this.serviceClient.getKeys(accept, name, after, syncToken, acceptDatetime);
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeys(String accept) {
+ return this.serviceClient.getKeys(accept);
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeys(String accept, String name, String after, String syncToken, String acceptDatetime,
+ RequestContext requestContext) {
+ return this.serviceClient.getKeys(accept, name, after, syncToken, acceptDatetime, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkKeysWithResponse(String name, String after, String syncToken, String acceptDatetime,
+ RequestContext requestContext) {
+ return this.serviceClient.checkKeysWithResponse(name, after, syncToken, acceptDatetime, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeys(String name, String after, String syncToken, String acceptDatetime) {
+ this.serviceClient.checkKeys(name, after, syncToken, acceptDatetime);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeys() {
+ this.serviceClient.checkKeys();
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeyValues(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, String snapshot, String ifMatch, String ifNoneMatch,
+ List tags) {
+ return this.serviceClient.getKeyValues(accept, key, label, syncToken, after, acceptDatetime, select, snapshot,
+ ifMatch, ifNoneMatch, tags);
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeyValues(String accept) {
+ return this.serviceClient.getKeyValues(accept);
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeyValues(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, String snapshot, String ifMatch, String ifNoneMatch,
+ List tags, RequestContext requestContext) {
+ return this.serviceClient.getKeyValues(accept, key, label, syncToken, after, acceptDatetime, select, snapshot,
+ ifMatch, ifNoneMatch, tags, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkKeyValuesWithResponse(String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, String snapshot, String ifMatch, String ifNoneMatch,
+ List tags, RequestContext requestContext) {
+ return this.serviceClient.checkKeyValuesWithResponse(key, label, syncToken, after, acceptDatetime, select,
+ snapshot, ifMatch, ifNoneMatch, tags, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValues(String key, String label, String syncToken, String after, String acceptDatetime,
+ List select, String snapshot, String ifMatch, String ifNoneMatch, List tags) {
+ this.serviceClient.checkKeyValues(key, label, syncToken, after, acceptDatetime, select, snapshot, ifMatch,
+ ifNoneMatch, tags);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValues() {
+ this.serviceClient.checkKeyValues();
+ }
+
+ /**
+ * Gets a single key-value.
+ *
+ * @param key The key of the key-value.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to retrieve.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getKeyValueWithResponse(String key, String accept, String label,
+ List select, String syncToken, String acceptDatetime, String ifMatch, String ifNoneMatch,
+ RequestContext requestContext) {
+ return this.serviceClient.getKeyValueWithResponse(key, accept, label, select, syncToken, acceptDatetime,
+ ifMatch, ifNoneMatch, requestContext);
+ }
+
+ /**
+ * Gets a single key-value.
+ *
+ * @param key The key of the key-value.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to retrieve.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue getKeyValue(String key, String accept, String label, List select, String syncToken,
+ String acceptDatetime, String ifMatch, String ifNoneMatch) {
+ return this.serviceClient.getKeyValue(key, accept, label, select, syncToken, acceptDatetime, ifMatch,
+ ifNoneMatch);
+ }
+
+ /**
+ * Gets a single key-value.
+ *
+ * @param key The key of the key-value.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue getKeyValue(String key, String accept) {
+ return this.serviceClient.getKeyValue(key, accept);
+ }
+
+ /**
+ * Creates a key-value.
+ *
+ * @param key The key of the key-value to create.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to create.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param entity The key-value to create.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putKeyValueWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, String ifNoneMatch, KeyValue entity, RequestContext requestContext) {
+ // Operation 'putKeyValue' can be invoked with multiple content-type. It is difficult to form a correct method
+ // signature for convenience API, and hence the convenience API is not generated.
+ return this.serviceClient.putKeyValueWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, entity,
+ requestContext);
+ }
+
+ /**
+ * Creates a key-value.
+ *
+ * @param key The key of the key-value to create.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to create.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param entity The key-value to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putKeyValue(String key, String accept, String label, String syncToken, String ifMatch,
+ String ifNoneMatch, KeyValue entity) {
+ // Operation 'putKeyValue' can be invoked with multiple content-type. It is difficult to form a correct method
+ // signature for convenience API, and hence the convenience API is not generated.
+ return this.serviceClient.putKeyValue(key, accept, label, syncToken, ifMatch, ifNoneMatch, entity);
+ }
+
+ /**
+ * Creates a key-value.
+ *
+ * @param key The key of the key-value to create.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putKeyValue(String key, String accept) {
+ // Operation 'putKeyValue' can be invoked with multiple content-type. It is difficult to form a correct method
+ // signature for convenience API, and hence the convenience API is not generated.
+ return this.serviceClient.putKeyValue(key, accept);
+ }
+
+ /**
+ * Deletes a key-value.
+ *
+ * @param key The key of the key-value to delete.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to delete.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteKeyValueWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, RequestContext requestContext) {
+ return this.serviceClient.deleteKeyValueWithResponse(key, accept, label, syncToken, ifMatch, requestContext);
+ }
+
+ /**
+ * Deletes a key-value.
+ *
+ * @param key The key of the key-value to delete.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to delete.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteKeyValue(String key, String accept, String label, String syncToken, String ifMatch) {
+ return this.serviceClient.deleteKeyValue(key, accept, label, syncToken, ifMatch);
+ }
+
+ /**
+ * Deletes a key-value.
+ *
+ * @param key The key of the key-value to delete.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteKeyValue(String key, String accept) {
+ return this.serviceClient.deleteKeyValue(key, accept);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key The key of the key-value to retrieve.
+ * @param label The label of the key-value to retrieve.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkKeyValueWithResponse(String key, String label, String syncToken, String acceptDatetime,
+ String ifMatch, String ifNoneMatch, List select, RequestContext requestContext) {
+ return this.serviceClient.checkKeyValueWithResponse(key, label, syncToken, acceptDatetime, ifMatch, ifNoneMatch,
+ select, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key The key of the key-value to retrieve.
+ * @param label The label of the key-value to retrieve.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValue(String key, String label, String syncToken, String acceptDatetime, String ifMatch,
+ String ifNoneMatch, List select) {
+ this.serviceClient.checkKeyValue(key, label, syncToken, acceptDatetime, ifMatch, ifNoneMatch, select);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key The key of the key-value to retrieve.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValue(String key) {
+ this.serviceClient.checkKeyValue(key);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned snapshots.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param status Used to filter returned snapshots by their status property.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getSnapshots(String accept, String name, String after, List select,
+ List status, String syncToken) {
+ return this.serviceClient.getSnapshots(accept, name, after, select, status, syncToken);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getSnapshots(String accept) {
+ return this.serviceClient.getSnapshots(accept);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned snapshots.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param status Used to filter returned snapshots by their status property.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getSnapshots(String accept, String name, String after, List select,
+ List status, String syncToken, RequestContext requestContext) {
+ return this.serviceClient.getSnapshots(accept, name, after, select, status, syncToken, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkSnapshotsWithResponse(String syncToken, String after, RequestContext requestContext) {
+ return this.serviceClient.checkSnapshotsWithResponse(syncToken, after, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshots(String syncToken, String after) {
+ this.serviceClient.checkSnapshots(syncToken, after);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshots() {
+ this.serviceClient.checkSnapshots();
+ }
+
+ /**
+ * Gets a single key-value snapshot.
+ *
+ * @param name The name of the snapshot.
+ * @param accept The accept parameter.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value snapshot.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getSnapshotWithResponse(String name, String accept, List select,
+ String syncToken, String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ return this.serviceClient.getSnapshotWithResponse(name, accept, select, syncToken, ifMatch, ifNoneMatch,
+ requestContext);
+ }
+
+ /**
+ * Gets a single key-value snapshot.
+ *
+ * @param name The name of the snapshot.
+ * @param accept The accept parameter.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value snapshot.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot getSnapshot(String name, String accept, List select, String syncToken,
+ String ifMatch, String ifNoneMatch) {
+ return this.serviceClient.getSnapshot(name, accept, select, syncToken, ifMatch, ifNoneMatch);
+ }
+
+ /**
+ * Gets a single key-value snapshot.
+ *
+ * @param name The name of the snapshot.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value snapshot.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot getSnapshot(String name, String accept) {
+ return this.serviceClient.getSnapshot(name, accept);
+ }
+
+ /**
+ * Updates the state of a key-value snapshot.
+ *
+ * @param contentType Content-Type header.
+ * @param name The name of the key-value snapshot to update.
+ * @param accept The accept parameter.
+ * @param entity The parameters used to update the snapshot.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a snapshot is a named, immutable subset of an App Configuration store's key-values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateSnapshotWithResponse(UpdateSnapshotRequestContentType contentType, String name,
+ String accept, SnapshotUpdateParameters entity, String syncToken, String ifMatch, String ifNoneMatch,
+ RequestContext requestContext) {
+ // Operation 'updateSnapshot' can be invoked with multiple content-type. It is difficult to form a correct
+ // method signature for convenience API, and hence the convenience API is not generated.
+ return this.serviceClient.updateSnapshotWithResponse(contentType, name, accept, entity, syncToken, ifMatch,
+ ifNoneMatch, requestContext);
+ }
+
+ /**
+ * Updates the state of a key-value snapshot.
+ *
+ * @param contentType Content-Type header.
+ * @param name The name of the key-value snapshot to update.
+ * @param accept The accept parameter.
+ * @param entity The parameters used to update the snapshot.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a snapshot is a named, immutable subset of an App Configuration store's key-values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot updateSnapshot(UpdateSnapshotRequestContentType contentType, String name, String accept,
+ SnapshotUpdateParameters entity, String syncToken, String ifMatch, String ifNoneMatch) {
+ // Operation 'updateSnapshot' can be invoked with multiple content-type. It is difficult to form a correct
+ // method signature for convenience API, and hence the convenience API is not generated.
+ return this.serviceClient.updateSnapshot(contentType, name, accept, entity, syncToken, ifMatch, ifNoneMatch);
+ }
+
+ /**
+ * Updates the state of a key-value snapshot.
+ *
+ * @param contentType Content-Type header.
+ * @param name The name of the key-value snapshot to update.
+ * @param accept The accept parameter.
+ * @param entity The parameters used to update the snapshot.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a snapshot is a named, immutable subset of an App Configuration store's key-values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot updateSnapshot(UpdateSnapshotRequestContentType contentType, String name, String accept,
+ SnapshotUpdateParameters entity) {
+ // Operation 'updateSnapshot' can be invoked with multiple content-type. It is difficult to form a correct
+ // method signature for convenience API, and hence the convenience API is not generated.
+ return this.serviceClient.updateSnapshot(contentType, name, accept, entity);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name The name of the key-value snapshot to check.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkSnapshotWithResponse(String name, String syncToken, String ifMatch, String ifNoneMatch,
+ RequestContext requestContext) {
+ return this.serviceClient.checkSnapshotWithResponse(name, syncToken, ifMatch, ifNoneMatch, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name The name of the key-value snapshot to check.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshot(String name, String syncToken, String ifMatch, String ifNoneMatch) {
+ this.serviceClient.checkSnapshot(name, syncToken, ifMatch, ifNoneMatch);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name The name of the key-value snapshot to check.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshot(String name) {
+ this.serviceClient.checkSnapshot(name);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getLabels(String accept, String name, String syncToken, String after,
+ String acceptDatetime, List select) {
+ return this.serviceClient.getLabels(accept, name, syncToken, after, acceptDatetime, select);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getLabels(String accept) {
+ return this.serviceClient.getLabels(accept);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getLabels(String accept, String name, String syncToken, String after,
+ String acceptDatetime, List select, RequestContext requestContext) {
+ return this.serviceClient.getLabels(accept, name, syncToken, after, acceptDatetime, select, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkLabelsWithResponse(String name, String syncToken, String after, String acceptDatetime,
+ List select, RequestContext requestContext) {
+ return this.serviceClient.checkLabelsWithResponse(name, syncToken, after, acceptDatetime, select,
+ requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkLabels(String name, String syncToken, String after, String acceptDatetime,
+ List select) {
+ this.serviceClient.checkLabels(name, syncToken, after, acceptDatetime, select);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkLabels() {
+ this.serviceClient.checkLabels();
+ }
+
+ /**
+ * Locks a key-value.
+ *
+ * @param key The key of the key-value to lock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to lock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putLockWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ return this.serviceClient.putLockWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch,
+ requestContext);
+ }
+
+ /**
+ * Locks a key-value.
+ *
+ * @param key The key of the key-value to lock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to lock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putLock(String key, String accept, String label, String syncToken, String ifMatch,
+ String ifNoneMatch) {
+ return this.serviceClient.putLock(key, accept, label, syncToken, ifMatch, ifNoneMatch);
+ }
+
+ /**
+ * Locks a key-value.
+ *
+ * @param key The key of the key-value to lock.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putLock(String key, String accept) {
+ return this.serviceClient.putLock(key, accept);
+ }
+
+ /**
+ * Unlocks a key-value.
+ *
+ * @param key The key of the key-value to unlock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to unlock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteLockWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ return this.serviceClient.deleteLockWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch,
+ requestContext);
+ }
+
+ /**
+ * Unlocks a key-value.
+ *
+ * @param key The key of the key-value to unlock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to unlock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteLock(String key, String accept, String label, String syncToken, String ifMatch,
+ String ifNoneMatch) {
+ return this.serviceClient.deleteLock(key, accept, label, syncToken, ifMatch, ifNoneMatch);
+ }
+
+ /**
+ * Unlocks a key-value.
+ *
+ * @param key The key of the key-value to unlock.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteLock(String key, String accept) {
+ return this.serviceClient.deleteLock(key, accept);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getRevisions(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, List tags) {
+ return this.serviceClient.getRevisions(accept, key, label, syncToken, after, acceptDatetime, select, tags);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getRevisions(String accept) {
+ return this.serviceClient.getRevisions(accept);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getRevisions(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, List tags, RequestContext requestContext) {
+ return this.serviceClient.getRevisions(accept, key, label, syncToken, after, acceptDatetime, select, tags,
+ requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkRevisionsWithResponse(String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, List tags, RequestContext requestContext) {
+ return this.serviceClient.checkRevisionsWithResponse(key, label, syncToken, after, acceptDatetime, select, tags,
+ requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkRevisions(String key, String label, String syncToken, String after, String acceptDatetime,
+ List select, List tags) {
+ this.serviceClient.checkRevisions(key, label, syncToken, after, acceptDatetime, select, tags);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws ErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkRevisions() {
+ this.serviceClient.checkRevisions();
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationClientBuilder.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationClientBuilder.java
new file mode 100644
index 000000000000..f7c57b30d8b3
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationClientBuilder.java
@@ -0,0 +1,303 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration;
+
+import com.azure.v2.core.credentials.TokenCredential;
+import com.azure.v2.core.http.pipeline.BearerTokenAuthenticationPolicy;
+import com.azure.v2.core.traits.TokenCredentialTrait;
+import com.azure.v2.data.appconfiguration.implementation.AzureAppConfigurationClientImpl;
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.annotations.ServiceClientBuilder;
+import io.clientcore.core.credentials.KeyCredential;
+import io.clientcore.core.http.client.HttpClient;
+import io.clientcore.core.http.models.ProxyOptions;
+import io.clientcore.core.http.pipeline.HttpInstrumentationOptions;
+import io.clientcore.core.http.pipeline.HttpInstrumentationPolicy;
+import io.clientcore.core.http.pipeline.HttpPipeline;
+import io.clientcore.core.http.pipeline.HttpPipelineBuilder;
+import io.clientcore.core.http.pipeline.HttpPipelinePolicy;
+import io.clientcore.core.http.pipeline.HttpRedirectOptions;
+import io.clientcore.core.http.pipeline.HttpRedirectPolicy;
+import io.clientcore.core.http.pipeline.HttpRetryOptions;
+import io.clientcore.core.http.pipeline.HttpRetryPolicy;
+import io.clientcore.core.http.pipeline.KeyCredentialPolicy;
+import io.clientcore.core.http.pipeline.UserAgentOptions;
+import io.clientcore.core.http.pipeline.UserAgentPolicy;
+import io.clientcore.core.traits.ConfigurationTrait;
+import io.clientcore.core.traits.EndpointTrait;
+import io.clientcore.core.traits.HttpTrait;
+import io.clientcore.core.traits.KeyCredentialTrait;
+import io.clientcore.core.traits.ProxyTrait;
+import io.clientcore.core.utils.CoreUtils;
+import io.clientcore.core.utils.configuration.Configuration;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * A builder for creating a new instance of the AzureAppConfigurationClient type.
+ */
+@ServiceClientBuilder(serviceClients = { AzureAppConfigurationClient.class })
+public final class AzureAppConfigurationClientBuilder
+ implements HttpTrait, ProxyTrait,
+ ConfigurationTrait, TokenCredentialTrait,
+ KeyCredentialTrait, EndpointTrait {
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private static final String SDK_NAME = "name";
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private static final String SDK_VERSION = "version";
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private static final String[] DEFAULT_SCOPES = new String[] { "https://azconfig.io/.default" };
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private static final Map PROPERTIES
+ = CoreUtils.getProperties("azure-data-appconfiguration.properties");
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private final List pipelinePolicies;
+
+ /**
+ * Create an instance of the AzureAppConfigurationClientBuilder.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public AzureAppConfigurationClientBuilder() {
+ this.pipelinePolicies = new ArrayList<>();
+ }
+
+ /*
+ * The HTTP client used to send the request.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private HttpClient httpClient;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder httpClient(HttpClient httpClient) {
+ this.httpClient = httpClient;
+ return this;
+ }
+
+ /*
+ * The retry options to configure retry policy for failed requests.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private HttpRetryOptions retryOptions;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder httpRetryOptions(HttpRetryOptions retryOptions) {
+ this.retryOptions = retryOptions;
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder addHttpPipelinePolicy(HttpPipelinePolicy customPolicy) {
+ Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null.");
+ pipelinePolicies.add(customPolicy);
+ return this;
+ }
+
+ /*
+ * The redirect options to configure redirect policy
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private HttpRedirectOptions redirectOptions;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder httpRedirectOptions(HttpRedirectOptions redirectOptions) {
+ this.redirectOptions = redirectOptions;
+ return this;
+ }
+
+ /*
+ * The instrumentation configuration for HTTP requests and responses.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private HttpInstrumentationOptions httpInstrumentationOptions;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder
+ httpInstrumentationOptions(HttpInstrumentationOptions httpInstrumentationOptions) {
+ this.httpInstrumentationOptions = httpInstrumentationOptions;
+ return this;
+ }
+
+ /*
+ * The proxy options used during construction of the service client.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private ProxyOptions proxyOptions;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder proxyOptions(ProxyOptions proxyOptions) {
+ this.proxyOptions = proxyOptions;
+ return this;
+ }
+
+ /*
+ * The configuration store that is used during construction of the service client.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private Configuration configuration;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder configuration(Configuration configuration) {
+ this.configuration = configuration;
+ return this;
+ }
+
+ /*
+ * The TokenCredential used for authentication.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private TokenCredential tokenCredential;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder credential(TokenCredential tokenCredential) {
+ this.tokenCredential = tokenCredential;
+ return this;
+ }
+
+ /*
+ * The KeyCredential used for authentication.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private KeyCredential keyCredential;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder credential(KeyCredential keyCredential) {
+ this.keyCredential = keyCredential;
+ return this;
+ }
+
+ /*
+ * The service endpoint
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String endpoint;
+
+ /**
+ * {@inheritDoc}.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public AzureAppConfigurationClientBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * Version parameter
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String apiVersion;
+
+ /**
+ * Sets Version parameter.
+ *
+ * @param apiVersion the apiVersion value.
+ * @return the AzureAppConfigurationClientBuilder.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public AzureAppConfigurationClientBuilder apiVersion(String apiVersion) {
+ this.apiVersion = apiVersion;
+ return this;
+ }
+
+ /**
+ * Builds an instance of AzureAppConfigurationClientImpl with the provided parameters.
+ *
+ * @return an instance of AzureAppConfigurationClientImpl.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private AzureAppConfigurationClientImpl buildInnerClient() {
+ this.validateClient();
+ String localApiVersion = (apiVersion != null) ? apiVersion : "";
+ AzureAppConfigurationClientImpl client
+ = new AzureAppConfigurationClientImpl(createHttpPipeline(), this.endpoint, localApiVersion);
+ return client;
+ }
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private void validateClient() {
+ // This method is invoked from 'buildInnerClient'/'buildClient' method.
+ // Developer can customize this method, to validate that the necessary conditions are met for the new client.
+ Objects.requireNonNull(endpoint, "'endpoint' cannot be null.");
+ }
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private HttpPipeline createHttpPipeline() {
+ Configuration buildConfiguration
+ = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration;
+ HttpInstrumentationOptions localHttpInstrumentationOptions = this.httpInstrumentationOptions == null
+ ? new HttpInstrumentationOptions()
+ : this.httpInstrumentationOptions;
+ String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName");
+ String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion");
+ HttpPipelineBuilder httpPipelineBuilder = new HttpPipelineBuilder();
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(new UserAgentOptions().setSdkName(clientName).setSdkVersion(clientVersion)));
+ policies.add(redirectOptions == null ? new HttpRedirectPolicy() : new HttpRedirectPolicy(redirectOptions));
+ policies.add(retryOptions == null ? new HttpRetryPolicy() : new HttpRetryPolicy(retryOptions));
+ this.pipelinePolicies.stream().forEach(p -> policies.add(p));
+ if (keyCredential != null) {
+ policies.add(new KeyCredentialPolicy("Connection String", keyCredential, null));
+ }
+ if (tokenCredential != null) {
+ policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
+ }
+ policies.add(new HttpInstrumentationPolicy(localHttpInstrumentationOptions));
+ policies.forEach(httpPipelineBuilder::addPolicy);
+ return httpPipelineBuilder.httpClient(httpClient).build();
+ }
+
+ /**
+ * Builds an instance of AzureAppConfigurationClient class.
+ *
+ * @return an instance of AzureAppConfigurationClient.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public AzureAppConfigurationClient buildClient() {
+ return new AzureAppConfigurationClient(buildInnerClient());
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationServiceVersion.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationServiceVersion.java
new file mode 100644
index 000000000000..1cc1b3a52168
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/AzureAppConfigurationServiceVersion.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration;
+
+import io.clientcore.core.http.models.ServiceVersion;
+
+/**
+ * Service version of AzureAppConfigurationClient.
+ */
+public enum AzureAppConfigurationServiceVersion implements ServiceVersion {
+ /**
+ * Enum value 2023-11-01.
+ */
+ V2023_11_01("2023-11-01");
+
+ private final String version;
+
+ AzureAppConfigurationServiceVersion(String version) {
+ this.version = version;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String getVersion() {
+ return this.version;
+ }
+
+ /**
+ * Gets the latest service version supported by this client library.
+ *
+ * @return The latest {@link AzureAppConfigurationServiceVersion}.
+ */
+ public static AzureAppConfigurationServiceVersion getLatest() {
+ return V2023_11_01;
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/AzureAppConfigurationClientImpl.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/AzureAppConfigurationClientImpl.java
new file mode 100644
index 000000000000..a7fb66eaf735
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/AzureAppConfigurationClientImpl.java
@@ -0,0 +1,2293 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.implementation;
+
+import com.azure.v2.data.appconfiguration.implementation.models.KeyListResult;
+import com.azure.v2.data.appconfiguration.implementation.models.KeyValueListResult;
+import com.azure.v2.data.appconfiguration.implementation.models.LabelListResult;
+import com.azure.v2.data.appconfiguration.implementation.models.SnapshotListResult;
+import com.azure.v2.data.appconfiguration.models.Error;
+import com.azure.v2.data.appconfiguration.models.Key;
+import com.azure.v2.data.appconfiguration.models.KeyValue;
+import com.azure.v2.data.appconfiguration.models.KeyValueFields;
+import com.azure.v2.data.appconfiguration.models.Label;
+import com.azure.v2.data.appconfiguration.models.LabelFields;
+import com.azure.v2.data.appconfiguration.models.Snapshot;
+import com.azure.v2.data.appconfiguration.models.SnapshotFields;
+import com.azure.v2.data.appconfiguration.models.SnapshotStatus;
+import com.azure.v2.data.appconfiguration.models.SnapshotUpdateParameters;
+import com.azure.v2.data.appconfiguration.models.UpdateSnapshotRequestContentType;
+import io.clientcore.core.annotations.ReturnType;
+import io.clientcore.core.annotations.ServiceInterface;
+import io.clientcore.core.annotations.ServiceMethod;
+import io.clientcore.core.http.annotations.BodyParam;
+import io.clientcore.core.http.annotations.HeaderParam;
+import io.clientcore.core.http.annotations.HostParam;
+import io.clientcore.core.http.annotations.HttpRequestInformation;
+import io.clientcore.core.http.annotations.PathParam;
+import io.clientcore.core.http.annotations.QueryParam;
+import io.clientcore.core.http.annotations.UnexpectedResponseExceptionDetail;
+import io.clientcore.core.http.models.HttpMethod;
+import io.clientcore.core.http.models.HttpResponseException;
+import io.clientcore.core.http.models.RequestContext;
+import io.clientcore.core.http.models.Response;
+import io.clientcore.core.http.paging.PagedIterable;
+import io.clientcore.core.http.paging.PagedResponse;
+import io.clientcore.core.http.pipeline.HttpPipeline;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * Initializes a new instance of the AzureAppConfigurationClient type.
+ */
+public final class AzureAppConfigurationClientImpl {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AzureAppConfigurationClientService service;
+
+ /**
+ */
+ private final String endpoint;
+
+ /**
+ * Gets.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Version parameter.
+ */
+ private final String apiVersion;
+
+ /**
+ * Gets Version parameter.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /**
+ * The HTTP pipeline to send requests through.
+ */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /**
+ * Initializes an instance of AzureAppConfigurationClient client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param endpoint
+ * @param apiVersion Version parameter.
+ */
+ public AzureAppConfigurationClientImpl(HttpPipeline httpPipeline, String endpoint, String apiVersion) {
+ this.httpPipeline = httpPipeline;
+ this.endpoint = endpoint;
+ this.apiVersion = apiVersion;
+ this.service = AzureAppConfigurationClientService.getNewInstance(this.httpPipeline);
+ }
+
+ /**
+ * The interface defining all the services for AzureAppConfigurationClient to be used by the proxy service to
+ * perform REST calls.
+ */
+ @ServiceInterface(name = "AzureAppConfiguratio", host = "{endpoint}")
+ public interface AzureAppConfigurationClientService {
+ static AzureAppConfigurationClientService getNewInstance(HttpPipeline pipeline) {
+ try {
+ Class> clazz = Class.forName(
+ "com.azure.v2.data.appconfiguration.implementation.AzureAppConfigurationClientServiceImpl");
+ return (AzureAppConfigurationClientService) clazz.getMethod("getNewInstance", HttpPipeline.class)
+ .invoke(null, pipeline);
+ } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException
+ | InvocationTargetException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/keys", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getKeys(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("name") String name,
+ @QueryParam("After") String after, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/keys", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkKeys(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @QueryParam("name") String name, @QueryParam("After") String after,
+ @HeaderParam("Sync-Token") String syncToken, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/kv", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getKeyValues(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @QueryParam("After") String after, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @QueryParam("$Select") String select, @QueryParam("snapshot") String snapshot,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("If-None-Match") String ifNoneMatch,
+ @QueryParam(value = "tags", multipleQueryParams = true) List tags,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/kv", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkKeyValues(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @QueryParam("After") String after, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @QueryParam("$Select") String select, @QueryParam("snapshot") String snapshot,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("If-None-Match") String ifNoneMatch,
+ @QueryParam(value = "tags", multipleQueryParams = true) List tags,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/kv/{key}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getKeyValue(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("key") String key,
+ @QueryParam("label") String label, @QueryParam("$Select") String select,
+ @HeaderParam("Sync-Token") String syncToken, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("If-None-Match") String ifNoneMatch,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.PUT, path = "/kv/{key}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response putKeyValue(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("If-None-Match") String ifNoneMatch,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") KeyValue entity,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.DELETE, path = "/kv/{key}", expectedStatusCodes = { 200, 204 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response deleteKeyValue(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/kv/{key}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkKeyValue(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @HeaderParam("If-Match") String ifMatch,
+ @HeaderParam("If-None-Match") String ifNoneMatch, @QueryParam("$Select") String select,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/snapshots", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getSnapshots(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("name") String name,
+ @QueryParam("After") String after, @QueryParam("$Select") String select,
+ @QueryParam("status") String status, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/snapshots", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkSnapshots(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Sync-Token") String syncToken,
+ @QueryParam("After") String after, @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/snapshots/{name}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getSnapshot(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("name") String name,
+ @QueryParam("$Select") String select, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("If-None-Match") String ifNoneMatch,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.PATCH, path = "/snapshots/{name}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response updateSnapshot(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Content-Type") UpdateSnapshotRequestContentType contentType, @PathParam("name") String name,
+ @HeaderParam("Sync-Token") String syncToken, @HeaderParam("If-Match") String ifMatch,
+ @HeaderParam("If-None-Match") String ifNoneMatch, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") SnapshotUpdateParameters entity, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/snapshots/{name}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkSnapshot(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("name") String name,
+ @HeaderParam("Sync-Token") String syncToken, @HeaderParam("If-Match") String ifMatch,
+ @HeaderParam("If-None-Match") String ifNoneMatch, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/labels", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getLabels(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("name") String name,
+ @HeaderParam("Sync-Token") String syncToken, @QueryParam("After") String after,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @QueryParam("$Select") String select,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/labels", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkLabels(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @QueryParam("name") String name, @HeaderParam("Sync-Token") String syncToken,
+ @QueryParam("After") String after, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @QueryParam("$Select") String select, @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.PUT, path = "/locks/{key}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response putLock(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("key") String key, @QueryParam("label") String label,
+ @HeaderParam("Sync-Token") String syncToken, @HeaderParam("If-Match") String ifMatch,
+ @HeaderParam("If-None-Match") String ifNoneMatch, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.DELETE, path = "/locks/{key}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response deleteLock(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("If-Match") String ifMatch, @HeaderParam("If-None-Match") String ifNoneMatch,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "/revisions", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getRevisions(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @QueryParam("After") String after, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @QueryParam("$Select") String select,
+ @QueryParam(value = "tags", multipleQueryParams = true) List tags,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.HEAD, path = "/revisions", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response checkRevisions(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @QueryParam("key") String key,
+ @QueryParam("label") String label, @HeaderParam("Sync-Token") String syncToken,
+ @QueryParam("After") String after, @HeaderParam("Accept-Datetime") String acceptDatetime,
+ @QueryParam("$Select") String select,
+ @QueryParam(value = "tags", multipleQueryParams = true) List tags,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "{nextLink}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getKeysNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "{nextLink}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getKeyValuesNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @HeaderParam("If-Match") String ifMatch,
+ @HeaderParam("If-None-Match") String ifNoneMatch, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "{nextLink}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getSnapshotsNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept") String accept, RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "{nextLink}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getLabelsNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+
+ @HttpRequestInformation(method = HttpMethod.GET, path = "{nextLink}", expectedStatusCodes = { 200 })
+ @UnexpectedResponseExceptionDetail(exceptionBodyClass = Error.class)
+ Response getRevisionsNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Sync-Token") String syncToken,
+ @HeaderParam("Accept-Datetime") String acceptDatetime, @HeaderParam("Accept") String accept,
+ RequestContext requestContext);
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeysSinglePage(String accept, String name, String after, String syncToken,
+ String acceptDatetime) {
+ Response res = service.getKeys(this.getEndpoint(), this.getApiVersion(), name, after, syncToken,
+ acceptDatetime, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeysSinglePage(String accept, String name, String after, String syncToken,
+ String acceptDatetime, RequestContext requestContext) {
+ Response res = service.getKeys(this.getEndpoint(), this.getApiVersion(), name, after, syncToken,
+ acceptDatetime, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeys(String accept, String name, String after, String syncToken,
+ String acceptDatetime) {
+ return new PagedIterable<>((pagingOptions) -> getKeysSinglePage(accept, name, after, syncToken, acceptDatetime),
+ (pagingOptions, nextLink) -> getKeysNextSinglePage(nextLink, accept, syncToken, acceptDatetime));
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeys(String accept) {
+ final String name = null;
+ final String after = null;
+ final String syncToken = null;
+ final String acceptDatetime = null;
+ return new PagedIterable<>((pagingOptions) -> getKeysSinglePage(accept, name, after, syncToken, acceptDatetime),
+ (pagingOptions, nextLink) -> getKeysNextSinglePage(nextLink, accept, syncToken, acceptDatetime));
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of keys.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeys(String accept, String name, String after, String syncToken, String acceptDatetime,
+ RequestContext requestContext) {
+ RequestContext requestContextForNextPage = requestContext != null ? requestContext : RequestContext.none();
+ return new PagedIterable<>(
+ (pagingOptions) -> getKeysSinglePage(accept, name, after, syncToken, acceptDatetime, requestContext),
+ (pagingOptions, nextLink) -> getKeysNextSinglePage(nextLink, accept, syncToken, acceptDatetime,
+ requestContextForNextPage));
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkKeysWithResponse(String name, String after, String syncToken, String acceptDatetime,
+ RequestContext requestContext) {
+ final String accept = "application/json";
+ return service.checkKeys(this.getEndpoint(), this.getApiVersion(), name, after, syncToken, acceptDatetime,
+ accept, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned keys.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeys(String name, String after, String syncToken, String acceptDatetime) {
+ checkKeysWithResponse(name, after, syncToken, acceptDatetime, RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeys() {
+ final String name = null;
+ final String after = null;
+ final String syncToken = null;
+ final String acceptDatetime = null;
+ checkKeysWithResponse(name, after, syncToken, acceptDatetime, RequestContext.none());
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeyValuesSinglePage(String accept, String key, String label, String syncToken,
+ String after, String acceptDatetime, List select, String snapshot, String ifMatch,
+ String ifNoneMatch, List tags) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ List tagsConverted = (tags == null)
+ ? new ArrayList<>()
+ : tags.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList());
+ Response res = service.getKeyValues(this.getEndpoint(), this.getApiVersion(), key, label,
+ syncToken, after, acceptDatetime, selectConverted, snapshot, ifMatch, ifNoneMatch, tagsConverted, accept,
+ RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeyValuesSinglePage(String accept, String key, String label, String syncToken,
+ String after, String acceptDatetime, List select, String snapshot, String ifMatch,
+ String ifNoneMatch, List tags, RequestContext requestContext) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ List tagsConverted = (tags == null)
+ ? new ArrayList<>()
+ : tags.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList());
+ Response res
+ = service.getKeyValues(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, after,
+ acceptDatetime, selectConverted, snapshot, ifMatch, ifNoneMatch, tagsConverted, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeyValues(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, String snapshot, String ifMatch, String ifNoneMatch,
+ List tags) {
+ return new PagedIterable<>(
+ (pagingOptions) -> getKeyValuesSinglePage(accept, key, label, syncToken, after, acceptDatetime, select,
+ snapshot, ifMatch, ifNoneMatch, tags),
+ (pagingOptions, nextLink) -> getKeyValuesNextSinglePage(nextLink, accept, syncToken, acceptDatetime,
+ ifMatch, ifNoneMatch));
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeyValues(String accept) {
+ final String key = null;
+ final String label = null;
+ final String syncToken = null;
+ final String after = null;
+ final String acceptDatetime = null;
+ final List select = null;
+ final String snapshot = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ final List tags = null;
+ return new PagedIterable<>(
+ (pagingOptions) -> getKeyValuesSinglePage(accept, key, label, syncToken, after, acceptDatetime, select,
+ snapshot, ifMatch, ifNoneMatch, tags),
+ (pagingOptions, nextLink) -> getKeyValuesNextSinglePage(nextLink, accept, syncToken, acceptDatetime,
+ ifMatch, ifNoneMatch));
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-values.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getKeyValues(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, String snapshot, String ifMatch, String ifNoneMatch,
+ List tags, RequestContext requestContext) {
+ RequestContext requestContextForNextPage = requestContext != null ? requestContext : RequestContext.none();
+ return new PagedIterable<>(
+ (pagingOptions) -> getKeyValuesSinglePage(accept, key, label, syncToken, after, acceptDatetime, select,
+ snapshot, ifMatch, ifNoneMatch, tags, requestContext),
+ (pagingOptions, nextLink) -> getKeyValuesNextSinglePage(nextLink, accept, syncToken, acceptDatetime,
+ ifMatch, ifNoneMatch, requestContextForNextPage));
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkKeyValuesWithResponse(String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, String snapshot, String ifMatch, String ifNoneMatch,
+ List tags, RequestContext requestContext) {
+ final String accept = "application/json";
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ List tagsConverted = (tags == null)
+ ? new ArrayList<>()
+ : tags.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList());
+ return service.checkKeyValues(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, after,
+ acceptDatetime, selectConverted, snapshot, ifMatch, ifNoneMatch, tagsConverted, accept, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param snapshot A filter used get key-values for a snapshot. The value should be the name of
+ * the snapshot. Not valid when used with 'key' and 'label' filters.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/keyvaluefiltering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValues(String key, String label, String syncToken, String after, String acceptDatetime,
+ List select, String snapshot, String ifMatch, String ifNoneMatch, List tags) {
+ checkKeyValuesWithResponse(key, label, syncToken, after, acceptDatetime, select, snapshot, ifMatch, ifNoneMatch,
+ tags, RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValues() {
+ final String key = null;
+ final String label = null;
+ final String syncToken = null;
+ final String after = null;
+ final String acceptDatetime = null;
+ final List select = null;
+ final String snapshot = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ final List tags = null;
+ checkKeyValuesWithResponse(key, label, syncToken, after, acceptDatetime, select, snapshot, ifMatch, ifNoneMatch,
+ tags, RequestContext.none());
+ }
+
+ /**
+ * Gets a single key-value.
+ *
+ * @param key The key of the key-value.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to retrieve.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getKeyValueWithResponse(String key, String accept, String label,
+ List select, String syncToken, String acceptDatetime, String ifMatch, String ifNoneMatch,
+ RequestContext requestContext) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ return service.getKeyValue(this.getEndpoint(), this.getApiVersion(), key, label, selectConverted, syncToken,
+ acceptDatetime, ifMatch, ifNoneMatch, accept, requestContext);
+ }
+
+ /**
+ * Gets a single key-value.
+ *
+ * @param key The key of the key-value.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to retrieve.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue getKeyValue(String key, String accept, String label, List select, String syncToken,
+ String acceptDatetime, String ifMatch, String ifNoneMatch) {
+ return getKeyValueWithResponse(key, accept, label, select, syncToken, acceptDatetime, ifMatch, ifNoneMatch,
+ RequestContext.none()).getValue();
+ }
+
+ /**
+ * Gets a single key-value.
+ *
+ * @param key The key of the key-value.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue getKeyValue(String key, String accept) {
+ final String label = null;
+ final List select = null;
+ final String syncToken = null;
+ final String acceptDatetime = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ return getKeyValueWithResponse(key, accept, label, select, syncToken, acceptDatetime, ifMatch, ifNoneMatch,
+ RequestContext.none()).getValue();
+ }
+
+ /**
+ * Creates a key-value.
+ *
+ * @param key The key of the key-value to create.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to create.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param entity The key-value to create.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putKeyValueWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, String ifNoneMatch, KeyValue entity, RequestContext requestContext) {
+ return service.putKeyValue(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, ifMatch,
+ ifNoneMatch, accept, entity, requestContext);
+ }
+
+ /**
+ * Creates a key-value.
+ *
+ * @param key The key of the key-value to create.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to create.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param entity The key-value to create.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putKeyValue(String key, String accept, String label, String syncToken, String ifMatch,
+ String ifNoneMatch, KeyValue entity) {
+ return putKeyValueWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, entity,
+ RequestContext.none()).getValue();
+ }
+
+ /**
+ * Creates a key-value.
+ *
+ * @param key The key of the key-value to create.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putKeyValue(String key, String accept) {
+ final String label = null;
+ final String syncToken = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ final KeyValue entity = null;
+ return putKeyValueWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, entity,
+ RequestContext.none()).getValue();
+ }
+
+ /**
+ * Deletes a key-value.
+ *
+ * @param key The key of the key-value to delete.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to delete.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteKeyValueWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, RequestContext requestContext) {
+ return service.deleteKeyValue(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, ifMatch, accept,
+ requestContext);
+ }
+
+ /**
+ * Deletes a key-value.
+ *
+ * @param key The key of the key-value to delete.
+ * @param accept The accept parameter.
+ * @param label The label of the key-value to delete.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteKeyValue(String key, String accept, String label, String syncToken, String ifMatch) {
+ return deleteKeyValueWithResponse(key, accept, label, syncToken, ifMatch, RequestContext.none()).getValue();
+ }
+
+ /**
+ * Deletes a key-value.
+ *
+ * @param key The key of the key-value to delete.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteKeyValue(String key, String accept) {
+ final String label = null;
+ final String syncToken = null;
+ final String ifMatch = null;
+ return deleteKeyValueWithResponse(key, accept, label, syncToken, ifMatch, RequestContext.none()).getValue();
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key The key of the key-value to retrieve.
+ * @param label The label of the key-value to retrieve.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkKeyValueWithResponse(String key, String label, String syncToken, String acceptDatetime,
+ String ifMatch, String ifNoneMatch, List select, RequestContext requestContext) {
+ final String accept = "application/json";
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ return service.checkKeyValue(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, acceptDatetime,
+ ifMatch, ifNoneMatch, selectConverted, accept, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key The key of the key-value to retrieve.
+ * @param label The label of the key-value to retrieve.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValue(String key, String label, String syncToken, String acceptDatetime, String ifMatch,
+ String ifNoneMatch, List select) {
+ checkKeyValueWithResponse(key, label, syncToken, acceptDatetime, ifMatch, ifNoneMatch, select,
+ RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key The key of the key-value to retrieve.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkKeyValue(String key) {
+ final String label = null;
+ final String syncToken = null;
+ final String acceptDatetime = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ final List select = null;
+ checkKeyValueWithResponse(key, label, syncToken, acceptDatetime, ifMatch, ifNoneMatch, select,
+ RequestContext.none());
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned snapshots.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param status Used to filter returned snapshots by their status property.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getSnapshotsSinglePage(String accept, String name, String after,
+ List select, List status, String syncToken) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ String statusConverted = (status == null)
+ ? null
+ : status.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ Response res = service.getSnapshots(this.getEndpoint(), this.getApiVersion(), name, after,
+ selectConverted, statusConverted, syncToken, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned snapshots.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param status Used to filter returned snapshots by their status property.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getSnapshotsSinglePage(String accept, String name, String after,
+ List select, List status, String syncToken, RequestContext requestContext) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ String statusConverted = (status == null)
+ ? null
+ : status.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ Response res = service.getSnapshots(this.getEndpoint(), this.getApiVersion(), name, after,
+ selectConverted, statusConverted, syncToken, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned snapshots.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param status Used to filter returned snapshots by their status property.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getSnapshots(String accept, String name, String after, List select,
+ List status, String syncToken) {
+ return new PagedIterable<>(
+ (pagingOptions) -> getSnapshotsSinglePage(accept, name, after, select, status, syncToken),
+ (pagingOptions, nextLink) -> getSnapshotsNextSinglePage(nextLink, accept, syncToken));
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getSnapshots(String accept) {
+ final String name = null;
+ final String after = null;
+ final List select = null;
+ final List status = null;
+ final String syncToken = null;
+ return new PagedIterable<>(
+ (pagingOptions) -> getSnapshotsSinglePage(accept, name, after, select, status, syncToken),
+ (pagingOptions, nextLink) -> getSnapshotsNextSinglePage(nextLink, accept, syncToken));
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned snapshots.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param status Used to filter returned snapshots by their status property.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getSnapshots(String accept, String name, String after, List select,
+ List status, String syncToken, RequestContext requestContext) {
+ RequestContext requestContextForNextPage = requestContext != null ? requestContext : RequestContext.none();
+ return new PagedIterable<>(
+ (pagingOptions) -> getSnapshotsSinglePage(accept, name, after, select, status, syncToken, requestContext),
+ (pagingOptions, nextLink) -> getSnapshotsNextSinglePage(nextLink, accept, syncToken,
+ requestContextForNextPage));
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkSnapshotsWithResponse(String syncToken, String after, RequestContext requestContext) {
+ final String accept = "application/json";
+ return service.checkSnapshots(this.getEndpoint(), this.getApiVersion(), syncToken, after, accept,
+ requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshots(String syncToken, String after) {
+ checkSnapshotsWithResponse(syncToken, after, RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshots() {
+ final String syncToken = null;
+ final String after = null;
+ checkSnapshotsWithResponse(syncToken, after, RequestContext.none());
+ }
+
+ /**
+ * Gets a single key-value snapshot.
+ *
+ * @param name The name of the snapshot.
+ * @param accept The accept parameter.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getSnapshotWithResponse(String name, String accept, List select,
+ String syncToken, String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ return service.getSnapshot(this.getEndpoint(), this.getApiVersion(), name, selectConverted, syncToken, ifMatch,
+ ifNoneMatch, accept, requestContext);
+ }
+
+ /**
+ * Gets a single key-value snapshot.
+ *
+ * @param name The name of the snapshot.
+ * @param accept The accept parameter.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot getSnapshot(String name, String accept, List select, String syncToken,
+ String ifMatch, String ifNoneMatch) {
+ return getSnapshotWithResponse(name, accept, select, syncToken, ifMatch, ifNoneMatch, RequestContext.none())
+ .getValue();
+ }
+
+ /**
+ * Gets a single key-value snapshot.
+ *
+ * @param name The name of the snapshot.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a single key-value snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot getSnapshot(String name, String accept) {
+ final List select = null;
+ final String syncToken = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ return getSnapshotWithResponse(name, accept, select, syncToken, ifMatch, ifNoneMatch, RequestContext.none())
+ .getValue();
+ }
+
+ /**
+ * Updates the state of a key-value snapshot.
+ *
+ * @param contentType Content-Type header.
+ * @param name The name of the key-value snapshot to update.
+ * @param accept The accept parameter.
+ * @param entity The parameters used to update the snapshot.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a snapshot is a named, immutable subset of an App Configuration store's key-values.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateSnapshotWithResponse(UpdateSnapshotRequestContentType contentType, String name,
+ String accept, SnapshotUpdateParameters entity, String syncToken, String ifMatch, String ifNoneMatch,
+ RequestContext requestContext) {
+ return service.updateSnapshot(this.getEndpoint(), this.getApiVersion(), contentType, name, syncToken, ifMatch,
+ ifNoneMatch, accept, entity, requestContext);
+ }
+
+ /**
+ * Updates the state of a key-value snapshot.
+ *
+ * @param contentType Content-Type header.
+ * @param name The name of the key-value snapshot to update.
+ * @param accept The accept parameter.
+ * @param entity The parameters used to update the snapshot.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a snapshot is a named, immutable subset of an App Configuration store's key-values.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot updateSnapshot(UpdateSnapshotRequestContentType contentType, String name, String accept,
+ SnapshotUpdateParameters entity, String syncToken, String ifMatch, String ifNoneMatch) {
+ return updateSnapshotWithResponse(contentType, name, accept, entity, syncToken, ifMatch, ifNoneMatch,
+ RequestContext.none()).getValue();
+ }
+
+ /**
+ * Updates the state of a key-value snapshot.
+ *
+ * @param contentType Content-Type header.
+ * @param name The name of the key-value snapshot to update.
+ * @param accept The accept parameter.
+ * @param entity The parameters used to update the snapshot.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a snapshot is a named, immutable subset of an App Configuration store's key-values.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Snapshot updateSnapshot(UpdateSnapshotRequestContentType contentType, String name, String accept,
+ SnapshotUpdateParameters entity) {
+ final String syncToken = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ return updateSnapshotWithResponse(contentType, name, accept, entity, syncToken, ifMatch, ifNoneMatch,
+ RequestContext.none()).getValue();
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name The name of the key-value snapshot to check.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkSnapshotWithResponse(String name, String syncToken, String ifMatch, String ifNoneMatch,
+ RequestContext requestContext) {
+ final String accept = "application/json";
+ return service.checkSnapshot(this.getEndpoint(), this.getApiVersion(), name, syncToken, ifMatch, ifNoneMatch,
+ accept, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name The name of the key-value snapshot to check.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshot(String name, String syncToken, String ifMatch, String ifNoneMatch) {
+ checkSnapshotWithResponse(name, syncToken, ifMatch, ifNoneMatch, RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name The name of the key-value snapshot to check.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkSnapshot(String name) {
+ final String syncToken = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ checkSnapshotWithResponse(name, syncToken, ifMatch, ifNoneMatch, RequestContext.none());
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getLabelsSinglePage(String accept, String name, String syncToken, String after,
+ String acceptDatetime, List select) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ Response res = service.getLabels(this.getEndpoint(), this.getApiVersion(), name, syncToken,
+ after, acceptDatetime, selectConverted, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getLabelsSinglePage(String accept, String name, String syncToken, String after,
+ String acceptDatetime, List select, RequestContext requestContext) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ Response res = service.getLabels(this.getEndpoint(), this.getApiVersion(), name, syncToken,
+ after, acceptDatetime, selectConverted, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getLabels(String accept, String name, String syncToken, String after,
+ String acceptDatetime, List select) {
+ return new PagedIterable<>(
+ (pagingOptions) -> getLabelsSinglePage(accept, name, syncToken, after, acceptDatetime, select),
+ (pagingOptions, nextLink) -> getLabelsNextSinglePage(nextLink, accept, syncToken, acceptDatetime));
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getLabels(String accept) {
+ final String name = null;
+ final String syncToken = null;
+ final String after = null;
+ final String acceptDatetime = null;
+ final List select = null;
+ return new PagedIterable<>(
+ (pagingOptions) -> getLabelsSinglePage(accept, name, syncToken, after, acceptDatetime, select),
+ (pagingOptions, nextLink) -> getLabelsNextSinglePage(nextLink, accept, syncToken, acceptDatetime));
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * @param accept The accept parameter.
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of labels.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getLabels(String accept, String name, String syncToken, String after,
+ String acceptDatetime, List select, RequestContext requestContext) {
+ RequestContext requestContextForNextPage = requestContext != null ? requestContext : RequestContext.none();
+ return new PagedIterable<>(
+ (pagingOptions) -> getLabelsSinglePage(accept, name, syncToken, after, acceptDatetime, select,
+ requestContext),
+ (pagingOptions, nextLink) -> getLabelsNextSinglePage(nextLink, accept, syncToken, acceptDatetime,
+ requestContextForNextPage));
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkLabelsWithResponse(String name, String syncToken, String after, String acceptDatetime,
+ List select, RequestContext requestContext) {
+ final String accept = "application/json";
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ return service.checkLabels(this.getEndpoint(), this.getApiVersion(), name, syncToken, after, acceptDatetime,
+ selectConverted, accept, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param name A filter for the name of the returned labels.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkLabels(String name, String syncToken, String after, String acceptDatetime,
+ List select) {
+ checkLabelsWithResponse(name, syncToken, after, acceptDatetime, select, RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkLabels() {
+ final String name = null;
+ final String syncToken = null;
+ final String after = null;
+ final String acceptDatetime = null;
+ final List select = null;
+ checkLabelsWithResponse(name, syncToken, after, acceptDatetime, select, RequestContext.none());
+ }
+
+ /**
+ * Locks a key-value.
+ *
+ * @param key The key of the key-value to lock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to lock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putLockWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ return service.putLock(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, ifMatch, ifNoneMatch,
+ accept, requestContext);
+ }
+
+ /**
+ * Locks a key-value.
+ *
+ * @param key The key of the key-value to lock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to lock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putLock(String key, String accept, String label, String syncToken, String ifMatch,
+ String ifNoneMatch) {
+ return putLockWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, RequestContext.none())
+ .getValue();
+ }
+
+ /**
+ * Locks a key-value.
+ *
+ * @param key The key of the key-value to lock.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue putLock(String key, String accept) {
+ final String label = null;
+ final String syncToken = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ return putLockWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, RequestContext.none())
+ .getValue();
+ }
+
+ /**
+ * Unlocks a key-value.
+ *
+ * @param key The key of the key-value to unlock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to unlock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteLockWithResponse(String key, String accept, String label, String syncToken,
+ String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ return service.deleteLock(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, ifMatch, ifNoneMatch,
+ accept, requestContext);
+ }
+
+ /**
+ * Unlocks a key-value.
+ *
+ * @param key The key of the key-value to unlock.
+ * @param accept The accept parameter.
+ * @param label The label, if any, of the key-value to unlock.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteLock(String key, String accept, String label, String syncToken, String ifMatch,
+ String ifNoneMatch) {
+ return deleteLockWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, RequestContext.none())
+ .getValue();
+ }
+
+ /**
+ * Unlocks a key-value.
+ *
+ * @param key The key of the key-value to unlock.
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a key-value pair representing application settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public KeyValue deleteLock(String key, String accept) {
+ final String label = null;
+ final String syncToken = null;
+ final String ifMatch = null;
+ final String ifNoneMatch = null;
+ return deleteLockWithResponse(key, accept, label, syncToken, ifMatch, ifNoneMatch, RequestContext.none())
+ .getValue();
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getRevisionsSinglePage(String accept, String key, String label, String syncToken,
+ String after, String acceptDatetime, List select, List tags) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ List tagsConverted = (tags == null)
+ ? new ArrayList<>()
+ : tags.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList());
+ Response res = service.getRevisions(this.getEndpoint(), this.getApiVersion(), key, label,
+ syncToken, after, acceptDatetime, selectConverted, tagsConverted, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getRevisionsSinglePage(String accept, String key, String label, String syncToken,
+ String after, String acceptDatetime, List select, List tags,
+ RequestContext requestContext) {
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ List tagsConverted = (tags == null)
+ ? new ArrayList<>()
+ : tags.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList());
+ Response res = service.getRevisions(this.getEndpoint(), this.getApiVersion(), key, label,
+ syncToken, after, acceptDatetime, selectConverted, tagsConverted, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getRevisions(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, List tags) {
+ return new PagedIterable<>(
+ (pagingOptions) -> getRevisionsSinglePage(accept, key, label, syncToken, after, acceptDatetime, select,
+ tags),
+ (pagingOptions, nextLink) -> getRevisionsNextSinglePage(nextLink, accept, syncToken, acceptDatetime));
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getRevisions(String accept) {
+ final String key = null;
+ final String label = null;
+ final String syncToken = null;
+ final String after = null;
+ final String acceptDatetime = null;
+ final List select = null;
+ final List tags = null;
+ return new PagedIterable<>(
+ (pagingOptions) -> getRevisionsSinglePage(accept, key, label, syncToken, after, acceptDatetime, select,
+ tags),
+ (pagingOptions, nextLink) -> getRevisionsNextSinglePage(nextLink, accept, syncToken, acceptDatetime));
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * @param accept The accept parameter.
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of key-value revisions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable getRevisions(String accept, String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, List tags, RequestContext requestContext) {
+ RequestContext requestContextForNextPage = requestContext != null ? requestContext : RequestContext.none();
+ return new PagedIterable<>(
+ (pagingOptions) -> getRevisionsSinglePage(accept, key, label, syncToken, after, acceptDatetime, select,
+ tags, requestContext),
+ (pagingOptions, nextLink) -> getRevisionsNextSinglePage(nextLink, accept, syncToken, acceptDatetime,
+ requestContextForNextPage));
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response checkRevisionsWithResponse(String key, String label, String syncToken, String after,
+ String acceptDatetime, List select, List tags, RequestContext requestContext) {
+ final String accept = "application/json";
+ String selectConverted = (select == null)
+ ? null
+ : select.stream()
+ .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+ .collect(Collectors.joining(","));
+ List tagsConverted = (tags == null)
+ ? new ArrayList<>()
+ : tags.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList());
+ return service.checkRevisions(this.getEndpoint(), this.getApiVersion(), key, label, syncToken, after,
+ acceptDatetime, selectConverted, tagsConverted, accept, requestContext);
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @param key A filter used to match keys. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param label A filter used to match labels. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param after Instructs the server to return elements that appear after the element referred
+ * to by the specified token.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param select Used to select what fields are present in the returned resource(s).
+ * @param tags A filter used to query by tags. Syntax reference:
+ * https://aka.ms/azconfig/docs/restapirevisions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkRevisions(String key, String label, String syncToken, String after, String acceptDatetime,
+ List select, List tags) {
+ checkRevisionsWithResponse(key, label, syncToken, after, acceptDatetime, select, tags, RequestContext.none());
+ }
+
+ /**
+ * Requests the headers and status of the given resource.
+ *
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void checkRevisions() {
+ final String key = null;
+ final String label = null;
+ final String syncToken = null;
+ final String after = null;
+ final String acceptDatetime = null;
+ final List select = null;
+ final List tags = null;
+ checkRevisionsWithResponse(key, label, syncToken, after, acceptDatetime, select, tags, RequestContext.none());
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeysNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime) {
+ Response res = service.getKeysNext(nextLink, this.getEndpoint(), syncToken, acceptDatetime,
+ accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of keys.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeysNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime, RequestContext requestContext) {
+ Response res
+ = service.getKeysNext(nextLink, this.getEndpoint(), syncToken, acceptDatetime, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeyValuesNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime, String ifMatch, String ifNoneMatch) {
+ Response res = service.getKeyValuesNext(nextLink, this.getEndpoint(), syncToken,
+ acceptDatetime, ifMatch, ifNoneMatch, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-values.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param ifMatch Used to perform an operation only if the targeted resource's etag matches the
+ * value provided.
+ * @param ifNoneMatch Used to perform an operation only if the targeted resource's etag does not
+ * match the value provided.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getKeyValuesNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime, String ifMatch, String ifNoneMatch, RequestContext requestContext) {
+ Response res = service.getKeyValuesNext(nextLink, this.getEndpoint(), syncToken,
+ acceptDatetime, ifMatch, ifNoneMatch, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a snapshot list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getSnapshotsNextSinglePage(String nextLink, String accept, String syncToken) {
+ Response res
+ = service.getSnapshotsNext(nextLink, this.getEndpoint(), syncToken, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value snapshots.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a snapshot list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getSnapshotsNextSinglePage(String nextLink, String accept, String syncToken,
+ RequestContext requestContext) {
+ Response res
+ = service.getSnapshotsNext(nextLink, this.getEndpoint(), syncToken, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getLabelsNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime) {
+ Response res = service.getLabelsNext(nextLink, this.getEndpoint(), syncToken, acceptDatetime,
+ accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of labels.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getLabelsNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime, RequestContext requestContext) {
+ Response res
+ = service.getLabelsNext(nextLink, this.getEndpoint(), syncToken, acceptDatetime, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getRevisionsNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime) {
+ Response res = service.getRevisionsNext(nextLink, this.getEndpoint(), syncToken,
+ acceptDatetime, accept, RequestContext.none());
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+
+ /**
+ * Gets a list of key-value revisions.
+ *
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param accept The accept parameter.
+ * @param syncToken Used to guarantee real-time consistency between requests.
+ * @param acceptDatetime Requests the server to respond with the state of the resource at the specified
+ * time.
+ * @param requestContext The context to configure the HTTP request before HTTP client sends it.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the service returns an error.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a list request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PagedResponse getRevisionsNextSinglePage(String nextLink, String accept, String syncToken,
+ String acceptDatetime, RequestContext requestContext) {
+ Response res
+ = service.getRevisionsNext(nextLink, this.getEndpoint(), syncToken, acceptDatetime, accept, requestContext);
+ return new PagedResponse<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().getItems(),
+ null, res.getValue().getNextLink(), null, null, null);
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/KeyListResult.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/KeyListResult.java
new file mode 100644
index 000000000000..490cd2a493e0
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/KeyListResult.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.implementation.models;
+
+import com.azure.v2.data.appconfiguration.models.Key;
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The result of a list request.
+ */
+@Metadata(properties = { MetadataProperties.IMMUTABLE })
+public final class KeyListResult implements JsonSerializable {
+ /*
+ * The collection value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private List items;
+
+ /*
+ * The URI that can be used to request the next set of paged results.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String nextLink;
+
+ /**
+ * Creates an instance of KeyListResult class.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private KeyListResult() {
+ }
+
+ /**
+ * Get the items property: The collection value.
+ *
+ * @return the items value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public List getItems() {
+ return this.items;
+ }
+
+ /**
+ * Get the nextLink property: The URI that can be used to request the next set of paged results.
+ *
+ * @return the nextLink value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getNextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("@nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of KeyListResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of KeyListResult if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the KeyListResult.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static KeyListResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ KeyListResult deserializedKeyListResult = new KeyListResult();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("items".equals(fieldName)) {
+ List items = reader.readArray(reader1 -> Key.fromJson(reader1));
+ deserializedKeyListResult.items = items;
+ } else if ("@nextLink".equals(fieldName)) {
+ deserializedKeyListResult.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedKeyListResult;
+ });
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/KeyValueListResult.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/KeyValueListResult.java
new file mode 100644
index 000000000000..597598d7106f
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/KeyValueListResult.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.implementation.models;
+
+import com.azure.v2.data.appconfiguration.models.KeyValue;
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The result of a list request.
+ */
+@Metadata(properties = { MetadataProperties.IMMUTABLE })
+public final class KeyValueListResult implements JsonSerializable {
+ /*
+ * The collection value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private List items;
+
+ /*
+ * An identifier representing the returned state of the resource.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String etag;
+
+ /*
+ * The URI that can be used to request the next set of paged results.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String nextLink;
+
+ /**
+ * Creates an instance of KeyValueListResult class.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private KeyValueListResult() {
+ }
+
+ /**
+ * Get the items property: The collection value.
+ *
+ * @return the items value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public List getItems() {
+ return this.items;
+ }
+
+ /**
+ * Get the etag property: An identifier representing the returned state of the resource.
+ *
+ * @return the etag value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getEtag() {
+ return this.etag;
+ }
+
+ /**
+ * Get the nextLink property: The URI that can be used to request the next set of paged results.
+ *
+ * @return the nextLink value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getNextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("etag", this.etag);
+ jsonWriter.writeStringField("@nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of KeyValueListResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of KeyValueListResult if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the KeyValueListResult.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static KeyValueListResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ KeyValueListResult deserializedKeyValueListResult = new KeyValueListResult();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("items".equals(fieldName)) {
+ List items = reader.readArray(reader1 -> KeyValue.fromJson(reader1));
+ deserializedKeyValueListResult.items = items;
+ } else if ("etag".equals(fieldName)) {
+ deserializedKeyValueListResult.etag = reader.getString();
+ } else if ("@nextLink".equals(fieldName)) {
+ deserializedKeyValueListResult.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedKeyValueListResult;
+ });
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/LabelListResult.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/LabelListResult.java
new file mode 100644
index 000000000000..a663536f0ebb
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/LabelListResult.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.implementation.models;
+
+import com.azure.v2.data.appconfiguration.models.Label;
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The result of a list request.
+ */
+@Metadata(properties = { MetadataProperties.IMMUTABLE })
+public final class LabelListResult implements JsonSerializable {
+ /*
+ * The collection value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private List items;
+
+ /*
+ * The URI that can be used to request the next set of paged results.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String nextLink;
+
+ /**
+ * Creates an instance of LabelListResult class.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private LabelListResult() {
+ }
+
+ /**
+ * Get the items property: The collection value.
+ *
+ * @return the items value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public List getItems() {
+ return this.items;
+ }
+
+ /**
+ * Get the nextLink property: The URI that can be used to request the next set of paged results.
+ *
+ * @return the nextLink value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getNextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("@nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LabelListResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LabelListResult if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the LabelListResult.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static LabelListResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LabelListResult deserializedLabelListResult = new LabelListResult();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("items".equals(fieldName)) {
+ List items = reader.readArray(reader1 -> Label.fromJson(reader1));
+ deserializedLabelListResult.items = items;
+ } else if ("@nextLink".equals(fieldName)) {
+ deserializedLabelListResult.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLabelListResult;
+ });
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/SnapshotListResult.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/SnapshotListResult.java
new file mode 100644
index 000000000000..74f3b49db698
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/SnapshotListResult.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.implementation.models;
+
+import com.azure.v2.data.appconfiguration.models.Snapshot;
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The result of a snapshot list request.
+ */
+@Metadata(properties = { MetadataProperties.IMMUTABLE })
+public final class SnapshotListResult implements JsonSerializable {
+ /*
+ * The collection value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private List items;
+
+ /*
+ * The URI that can be used to request the next set of paged results.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String nextLink;
+
+ /**
+ * Creates an instance of SnapshotListResult class.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private SnapshotListResult() {
+ }
+
+ /**
+ * Get the items property: The collection value.
+ *
+ * @return the items value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public List getItems() {
+ return this.items;
+ }
+
+ /**
+ * Get the nextLink property: The URI that can be used to request the next set of paged results.
+ *
+ * @return the nextLink value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getNextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("@nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SnapshotListResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SnapshotListResult if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SnapshotListResult.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static SnapshotListResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SnapshotListResult deserializedSnapshotListResult = new SnapshotListResult();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("items".equals(fieldName)) {
+ List items = reader.readArray(reader1 -> Snapshot.fromJson(reader1));
+ deserializedSnapshotListResult.items = items;
+ } else if ("@nextLink".equals(fieldName)) {
+ deserializedSnapshotListResult.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSnapshotListResult;
+ });
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/package-info.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/package-info.java
new file mode 100644
index 000000000000..a2a9446e197b
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/models/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+/**
+ * Package containing the data models for AzureAppConfiguration.
+ * Azure App Configuration REST API.
+ */
+package com.azure.v2.data.appconfiguration.implementation.models;
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/package-info.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/package-info.java
new file mode 100644
index 000000000000..8733a5f3e31a
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/implementation/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+/**
+ * Package containing the implementations for AzureAppConfiguration.
+ * Azure App Configuration REST API.
+ */
+package com.azure.v2.data.appconfiguration.implementation;
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/CompositionType.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/CompositionType.java
new file mode 100644
index 000000000000..e7630c21e7d6
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/CompositionType.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.models;
+
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import io.clientcore.core.utils.ExpandableEnum;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.Function;
+
+/**
+ * Composition types.
+ */
+public final class CompositionType implements ExpandableEnum, JsonSerializable {
+ private static final Map VALUES = new ConcurrentHashMap<>();
+
+ private static final Function NEW_INSTANCE = CompositionType::new;
+
+ /**
+ * The 'key' composition type.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static final CompositionType KEY = fromValue("key");
+
+ /**
+ * The 'key_label' composition type.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static final CompositionType KEY_LABEL = fromValue("key_label");
+
+ private final String value;
+
+ private CompositionType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Creates or finds a CompositionType.
+ *
+ * @param value a value to look for.
+ * @return the corresponding CompositionType.
+ * @throws IllegalArgumentException if value is null.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static CompositionType fromValue(String value) {
+ if (value == null) {
+ throw new IllegalArgumentException("'value' cannot be null.");
+ }
+ return VALUES.computeIfAbsent(value, NEW_INSTANCE);
+ }
+
+ /**
+ * Gets known CompositionType values.
+ *
+ * @return Known CompositionType values.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static Collection values() {
+ return new ArrayList<>(VALUES.values());
+ }
+
+ /**
+ * Gets the value of the CompositionType instance.
+ *
+ * @return the value of the CompositionType instance.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public String getValue() {
+ return this.value;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ return jsonWriter.writeString(getValue());
+ }
+
+ /**
+ * Reads an instance of CompositionType from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CompositionType if the JsonReader was pointing to an instance of it, or null if the
+ * JsonReader was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the CompositionType.
+ * @throws IllegalStateException If unexpected JSON token is found.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static CompositionType fromJson(JsonReader jsonReader) throws IOException {
+ JsonToken nextToken = jsonReader.nextToken();
+ if (nextToken == JsonToken.NULL) {
+ return null;
+ }
+ if (nextToken != JsonToken.STRING) {
+ throw new IllegalStateException(
+ String.format("Unexpected JSON token for %s deserialization: %s", JsonToken.STRING, nextToken));
+ }
+ return CompositionType.fromValue(jsonReader.getString());
+ }
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public String toString() {
+ return Objects.toString(this.value);
+ }
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public boolean equals(Object obj) {
+ return this == obj;
+ }
+
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(this.value);
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/Error.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/Error.java
new file mode 100644
index 000000000000..19580c8805ee
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/Error.java
@@ -0,0 +1,156 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.models;
+
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Azure App Configuration error object.
+ */
+@Metadata(properties = { MetadataProperties.IMMUTABLE })
+public final class Error implements JsonSerializable {
+ /*
+ * The type of the error.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String type;
+
+ /*
+ * A brief summary of the error.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String title;
+
+ /*
+ * The name of the parameter that resulted in the error.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String name;
+
+ /*
+ * A detailed description of the error.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private String detail;
+
+ /*
+ * The HTTP status code that the error maps to.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private Integer status;
+
+ /**
+ * Creates an instance of Error class.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ private Error() {
+ }
+
+ /**
+ * Get the type property: The type of the error.
+ *
+ * @return the type value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getType() {
+ return this.type;
+ }
+
+ /**
+ * Get the title property: A brief summary of the error.
+ *
+ * @return the title value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getTitle() {
+ return this.title;
+ }
+
+ /**
+ * Get the name property: The name of the parameter that resulted in the error.
+ *
+ * @return the name value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * Get the detail property: A detailed description of the error.
+ *
+ * @return the detail value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public String getDetail() {
+ return this.detail;
+ }
+
+ /**
+ * Get the status property: The HTTP status code that the error maps to.
+ *
+ * @return the status value.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public Integer getStatus() {
+ return this.status;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("type", this.type);
+ jsonWriter.writeStringField("title", this.title);
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeStringField("detail", this.detail);
+ jsonWriter.writeNumberField("status", this.status);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of Error from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of Error if the JsonReader was pointing to an instance of it, or null if it was pointing to
+ * JSON null.
+ * @throws IOException If an error occurs while reading the Error.
+ */
+ @Metadata(properties = { MetadataProperties.GENERATED })
+ public static Error fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Error deserializedError = new Error();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("type".equals(fieldName)) {
+ deserializedError.type = reader.getString();
+ } else if ("title".equals(fieldName)) {
+ deserializedError.title = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedError.name = reader.getString();
+ } else if ("detail".equals(fieldName)) {
+ deserializedError.detail = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ deserializedError.status = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedError;
+ });
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/ErrorException.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/ErrorException.java
new file mode 100644
index 000000000000..f1d33c16d7fc
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/ErrorException.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.models;
+
+import io.clientcore.core.http.models.HttpResponseException;
+import io.clientcore.core.http.models.Response;
+import io.clientcore.core.models.binarydata.BinaryData;
+
+/**
+ * Exception thrown for an invalid response with Error information.
+ */
+public final class ErrorException extends HttpResponseException {
+ /**
+ * Initializes a new instance of the ErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available.
+ * @param response the HTTP response.
+ */
+ public ErrorException(String message, Response response) {
+ super(message, response, null);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorException class.
+ *
+ * @param message the exception message or the response content if a message is not available.
+ * @param response the HTTP response.
+ * @param value the deserialized response value.
+ */
+ public ErrorException(String message, Response response, Error value) {
+ super(message, response, value);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Error getValue() {
+ return (Error) super.getValue();
+ }
+}
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/Key.java b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/Key.java
new file mode 100644
index 000000000000..816155775267
--- /dev/null
+++ b/sdk/appconfiguration/azure-data-appconfiguration-v2/src/main/java/com/azure/v2/data/appconfiguration/models/Key.java
@@ -0,0 +1,80 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.v2.data.appconfiguration.models;
+
+import io.clientcore.core.annotations.Metadata;
+import io.clientcore.core.annotations.MetadataProperties;
+import io.clientcore.core.serialization.json.JsonReader;
+import io.clientcore.core.serialization.json.JsonSerializable;
+import io.clientcore.core.serialization.json.JsonToken;
+import io.clientcore.core.serialization.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Keys serve as identifiers for key-values and are used to store and retrieve corresponding values.
+ */
+@Metadata(properties = { MetadataProperties.IMMUTABLE })
+public final class Key implements JsonSerializable