From 3531504c9a80bd038b73aab18d63905a92f41bb1 Mon Sep 17 00:00:00 2001 From: catalinaperalta Date: Tue, 14 May 2024 10:17:23 -0700 Subject: [PATCH] [AppConfig] Migrate App Configuration swagger to TypeSpec (#28634) * initial commit + cleanup * add docs + cleanup linter warnings * add auth + update swagger * convert models to resources * update routes with standard ops + more accuracy * regenerate openapi * add examples * flavor: azure * tsp format * add spec examples * fix accept header + spec consistency * fix nextLink + headers * use encodedName * fix accept header * fix enums * format * move accept header * remove comment * format * spelling * test examples * fix examples * wip * content type header * fix delete content type + getlabels op * clean up * update suppression * add consumes * fix error * rename alias * alias sync token header * tsp compile * fix errors * improvements * more improvements * fix datetimes * client generation fixes * more clean up * add scope + request id headers * add service op template * improve template * client request id header * property type fix * tsp compile * client.tsp * tsp update --------- Co-authored-by: Catalina Peralta --- .../AppConfiguration/client.tsp | 9 + .../examples/2023-11-01/CheckKeyValue.json | 19 + .../2023-11-01/CheckKeyValue_IfMatch.json | 20 + .../2023-11-01/CheckKeyValue_IfNoneMatch.json | 20 + .../examples/2023-11-01/CheckKeyValues.json | 15 + .../2023-11-01/CheckKeyValues_IfMatch.json | 17 + .../CheckKeyValues_IfNoneMatch.json | 17 + .../examples/2023-11-01/CheckKeys.json | 15 + .../examples/2023-11-01/CheckLabels.json | 15 + .../examples/2023-11-01/CheckRevisions.json | 15 + .../examples/2023-11-01/CheckSnapshot.json | 20 + .../2023-11-01/CheckSnapshot_IfMatch.json | 21 + .../2023-11-01/CheckSnapshot_IfNoneMatch.json | 21 + .../examples/2023-11-01/CheckSnapshots.json | 15 + .../examples/2023-11-01/CreateSnapshot.json | 46 + .../examples/2023-11-01/DeleteKeyValue.json | 30 + .../2023-11-01/DeleteKeyValue_IfMatch.json | 31 + .../examples/2023-11-01/DeleteLock.json | 29 + .../2023-11-01/DeleteLock_IfMatch.json | 30 + .../examples/2023-11-01/GetKeyValue.json | 29 + .../2023-11-01/GetKeyValue_IfMatch.json | 30 + .../2023-11-01/GetKeyValue_IfNoneMatch.json | 30 + .../examples/2023-11-01/GetKeyValues.json | 59 + .../2023-11-01/GetKeyValues_IfMatch.json | 61 + .../2023-11-01/GetKeyValues_IfNoneMatch.json | 61 + .../examples/2023-11-01/GetKeys.json | 25 + .../examples/2023-11-01/GetLabels.json | 34 + .../2023-11-01/GetOperationStatus.json | 24 + .../examples/2023-11-01/GetRevisions.json | 49 + .../examples/2023-11-01/GetSnapshot.json | 39 + .../2023-11-01/GetSnapshot_Failed.json | 40 + .../2023-11-01/GetSnapshot_IfMatch.json | 40 + .../2023-11-01/GetSnapshot_IfNoneMatch.json | 40 + .../examples/2023-11-01/GetSnapshots.json | 38 + .../examples/2023-11-01/PutKeyValue.json | 29 + .../2023-11-01/PutKeyValue_IfMatch.json | 30 + .../examples/2023-11-01/PutLock.json | 29 + .../examples/2023-11-01/PutLock_IfMatch.json | 30 + .../examples/2023-11-01/UpdateSnapshot.json | 40 + .../2023-11-01/UpdateSnapshot_IfMatch.json | 41 + .../AppConfiguration/main.tsp | 38 + .../AppConfiguration/models.tsp | 330 ++ .../AppConfiguration/routes.tsp | 952 +++++ .../AppConfiguration/tspconfig.yaml | 40 + .../stable/2023-11-01/appconfiguration.json | 3454 +++++++++++------ .../2023-11-01/examples/CheckKeyValue.json | 2 + .../examples/CheckKeyValue_IfMatch.json | 2 + .../examples/CheckKeyValue_IfNoneMatch.json | 2 + .../2023-11-01/examples/CheckKeyValues.json | 2 + .../examples/CheckKeyValues_IfMatch.json | 2 + .../examples/CheckKeyValues_IfNoneMatch.json | 2 + .../stable/2023-11-01/examples/CheckKeys.json | 2 + .../2023-11-01/examples/CheckLabels.json | 2 + .../2023-11-01/examples/CheckRevisions.json | 2 + .../2023-11-01/examples/CheckSnapshot.json | 2 + .../examples/CheckSnapshot_IfMatch.json | 2 + .../examples/CheckSnapshot_IfNoneMatch.json | 2 + .../2023-11-01/examples/CheckSnapshots.json | 2 + .../2023-11-01/examples/CreateSnapshot.json | 2 + .../2023-11-01/examples/DeleteKeyValue.json | 2 + .../examples/DeleteKeyValue_IfMatch.json | 2 + .../2023-11-01/examples/DeleteLock.json | 2 + .../examples/DeleteLock_IfMatch.json | 2 + .../2023-11-01/examples/GetKeyValue.json | 2 + .../examples/GetKeyValue_IfMatch.json | 2 + .../examples/GetKeyValue_IfNoneMatch.json | 2 + .../2023-11-01/examples/GetKeyValues.json | 2 + .../examples/GetKeyValues_IfMatch.json | 2 + .../examples/GetKeyValues_IfNoneMatch.json | 2 + .../stable/2023-11-01/examples/GetKeys.json | 2 + .../stable/2023-11-01/examples/GetLabels.json | 2 + .../examples/GetOperationStatus.json | 2 + .../2023-11-01/examples/GetRevisions.json | 2 + .../2023-11-01/examples/GetSnapshot.json | 2 + .../examples/GetSnapshot_Failed.json | 2 + .../examples/GetSnapshot_IfMatch.json | 2 + .../examples/GetSnapshot_IfNoneMatch.json | 2 + .../2023-11-01/examples/GetSnapshots.json | 2 + .../2023-11-01/examples/PutKeyValue.json | 2 + .../examples/PutKeyValue_IfMatch.json | 2 + .../stable/2023-11-01/examples/PutLock.json | 2 + .../2023-11-01/examples/PutLock_IfMatch.json | 2 + .../2023-11-01/examples/UpdateSnapshot.json | 2 + .../examples/UpdateSnapshot_IfMatch.json | 2 + 84 files changed, 4955 insertions(+), 1140 deletions(-) create mode 100644 specification/appconfiguration/AppConfiguration/client.tsp create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfNoneMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfNoneMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeys.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckLabels.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckRevisions.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfNoneMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshots.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/CreateSnapshot.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfNoneMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfNoneMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeys.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetLabels.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetOperationStatus.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetRevisions.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_Failed.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfNoneMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshots.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot.json create mode 100644 specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot_IfMatch.json create mode 100644 specification/appconfiguration/AppConfiguration/main.tsp create mode 100644 specification/appconfiguration/AppConfiguration/models.tsp create mode 100644 specification/appconfiguration/AppConfiguration/routes.tsp create mode 100644 specification/appconfiguration/AppConfiguration/tspconfig.yaml diff --git a/specification/appconfiguration/AppConfiguration/client.tsp b/specification/appconfiguration/AppConfiguration/client.tsp new file mode 100644 index 000000000000..1a8ac8c8372c --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/client.tsp @@ -0,0 +1,9 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using AzureAppConfiguration; + +namespace SdkCustomizations; + +@@clientName(Error, "AppConfigError", "python"); diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue.json new file mode 100644 index 000000000000..ee7894cccf21 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue.json @@ -0,0 +1,19 @@ +{ + "operationId": "CheckKeyValue", + "title": "Requests the headers and status of the given resource.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfMatch.json new file mode 100644 index 000000000000..60bfcc2d08da --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfMatch.json @@ -0,0 +1,20 @@ +{ + "operationId": "CheckKeyValue", + "title": "Requests the headers and status of the given resource using the If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfNoneMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfNoneMatch.json new file mode 100644 index 000000000000..99c734d49a33 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValue_IfNoneMatch.json @@ -0,0 +1,20 @@ +{ + "operationId": "CheckKeyValue", + "title": "Requests the headers and status of the given resource using the If-None-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-None-Match": "L10qpBghN693OaxydgTkLmrBbV5" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues.json new file mode 100644 index 000000000000..dbb838dd401c --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues.json @@ -0,0 +1,15 @@ +{ + "operationId": "CheckKeyValues", + "title": "Requests the headers and status of the given resource.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfMatch.json new file mode 100644 index 000000000000..5db8e75168ca --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfMatch.json @@ -0,0 +1,17 @@ +{ + "operationId": "CheckKeyValues", + "title": "Requests the headers and status of the given resource using the If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfNoneMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfNoneMatch.json new file mode 100644 index 000000000000..d75ff972ef92 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeyValues_IfNoneMatch.json @@ -0,0 +1,17 @@ +{ + "operationId": "CheckKeyValues", + "title": "Requests the headers and status of the given resource using the If-None-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "If-None-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json", + "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeys.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeys.json new file mode 100644 index 000000000000..6bd0ec2c707b --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckKeys.json @@ -0,0 +1,15 @@ +{ + "operationId": "CheckKeys", + "title": "Check keys", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.keyset+json" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckLabels.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckLabels.json new file mode 100644 index 000000000000..402f3629ee66 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckLabels.json @@ -0,0 +1,15 @@ +{ + "operationId": "CheckLabels", + "title": "Requests the headers and status of the given resource.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.labelset+json" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckRevisions.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckRevisions.json new file mode 100644 index 000000000000..040d308b5173 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckRevisions.json @@ -0,0 +1,15 @@ +{ + "operationId": "CheckRevisions", + "title": "Requests the headers and status of the given resource.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot.json new file mode 100644 index 000000000000..45b5ee0815f5 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot.json @@ -0,0 +1,20 @@ +{ + "operationId": "CheckSnapshot", + "title": "Requests the headers and status of the given resource.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfMatch.json new file mode 100644 index 000000000000..2dcbba03f108 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfMatch.json @@ -0,0 +1,21 @@ +{ + "operationId": "CheckSnapshot", + "title": "Requests the headers and status of the given resource using If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "If-Match": "\"4f6dd610dd5e4deebc7fbaef685fb903\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfNoneMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfNoneMatch.json new file mode 100644 index 000000000000..f2e9a483a329 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshot_IfNoneMatch.json @@ -0,0 +1,21 @@ +{ + "operationId": "CheckSnapshot", + "title": "Requests the headers and status of the given resource using If-None-Match header", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "If-None-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshots.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshots.json new file mode 100644 index 000000000000..c295f1e37314 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CheckSnapshots.json @@ -0,0 +1,15 @@ +{ + "operationId": "CheckSnapshots", + "title": "Requests the headers and status of the given resource.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshotset+json" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CreateSnapshot.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CreateSnapshot.json new file mode 100644 index 000000000000..8a901985a616 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/CreateSnapshot.json @@ -0,0 +1,46 @@ +{ + "operationId": "CreateSnapshot", + "title": "Creates a key-value snapshot.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "entity": { + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "retention_period": 3600 + } + }, + "responses": { + "201": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Operation-Location": "https://{exampleAppConfigurationName}.azconfig.io/operations?snapshot=Prod-2022-08-01&Api-Version=2023-11-01" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "provisioning", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "size": 0, + "items_count": 0, + "retention_period": 3600, + "tags": {} + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue.json new file mode 100644 index 000000000000..e31901058239 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue.json @@ -0,0 +1,30 @@ +{ + "operationId": "DeleteKeyValue", + "title": "Deletes a key-value.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "7XpB48ET4VAlB9068ft6fKMyA3m", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + }, + "204": {} + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue_IfMatch.json new file mode 100644 index 000000000000..8b6116880786 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteKeyValue_IfMatch.json @@ -0,0 +1,31 @@ +{ + "operationId": "DeleteKeyValue", + "title": "Deletes a key-value using If-Match header", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "L10qpBghN693OaxydgTkLmrBbV5", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + }, + "204": {} + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock.json new file mode 100644 index 000000000000..2d997b00baff --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock.json @@ -0,0 +1,29 @@ +{ + "operationId": "DeleteLock", + "title": "Unlocks a key-value.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"0BGYCoQ6iNdp5NtQ7N8shrobo6s\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "0BGYCoQ6iNdp5NtQ7N8shrobo6s", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock_IfMatch.json new file mode 100644 index 000000000000..25e5e3d0b23f --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/DeleteLock_IfMatch.json @@ -0,0 +1,30 @@ +{ + "operationId": "DeleteLock", + "title": "Unlocks a key-value using If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "L10qpBghN693OaxydgTkLmrBbV5", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue.json new file mode 100644 index 000000000000..ec851c13dd77 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue.json @@ -0,0 +1,29 @@ +{ + "operationId": "GetKeyValue", + "title": "Gets a single key-value.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "7XpB48ET4VAlB9068ft6fKMyA3m", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfMatch.json new file mode 100644 index 000000000000..2fbf97a49407 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfMatch.json @@ -0,0 +1,30 @@ +{ + "operationId": "GetKeyValue", + "title": "Gets a single key-value using the If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "L10qpBghN693OaxydgTkLmrBbV5", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfNoneMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfNoneMatch.json new file mode 100644 index 000000000000..57bdb584920c --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValue_IfNoneMatch.json @@ -0,0 +1,30 @@ +{ + "operationId": "GetKeyValue", + "title": "Gets a single key-value using the If-None-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-None-Match": "L10qpBghN693OaxydgTkLmrBbV5" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"7XpB48ET4VAlB9068ft6fKMyA3m\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "7XpB48ET4VAlB9068ft6fKMyA3m", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues.json new file mode 100644 index 000000000000..911f05352447 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues.json @@ -0,0 +1,59 @@ +{ + "operationId": "GetKeyValues", + "title": "Gets a list of key-values.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json" + }, + "body": { + "items": [ + { + "etag": "CTgHR5UrDKNj2nsoGWDOipST9Pv", + "key": "Background", + "label": "Asset1", + "content_type": null, + "value": "blue", + "tags": {}, + "locked": false, + "last_modified": "2019-03-04T17:12:23+00:00" + }, + { + "etag": "UTSN1zePHbBQ0npbRB6elGRRuH7", + "key": "MaxLogFiles", + "label": "Asset1", + "content_type": null, + "value": "50", + "tags": {}, + "locked": false, + "last_modified": "2019-03-04T17:12:23+00:00" + }, + { + "etag": "7XpB48ET4VAlB9068ft6fKMyA3m", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World", + "tags": {}, + "locked": false, + "last_modified": "2019-06-20T16:52:23+00:00" + }, + { + "etag": "fAFm4jkGNB1hsIr4o0S5hnhCCvY", + "key": "WebDemo:Settings:BackgroundColor", + "label": null, + "content_type": null, + "value": "blue", + "tags": {}, + "locked": false, + "last_modified": "2019-06-20T15:48:01+00:00" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfMatch.json new file mode 100644 index 000000000000..82dc74b81d45 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfMatch.json @@ -0,0 +1,61 @@ +{ + "operationId": "GetKeyValues", + "title": "Gets a list of key-values using the If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "body": { + "items": [ + { + "etag": "CTgHR5UrDKNj2nsoGWDOipST9Pv", + "key": "Background", + "label": "Asset1", + "content_type": null, + "value": "blue", + "tags": {}, + "locked": false, + "last_modified": "2019-03-04T17:12:23+00:00" + }, + { + "etag": "UTSN1zePHbBQ0npbRB6elGRRuH7", + "key": "MaxLogFiles", + "label": "Asset1", + "content_type": null, + "value": "50", + "tags": {}, + "locked": false, + "last_modified": "2019-03-04T17:12:23+00:00" + }, + { + "etag": "7XpB48ET4VAlB9068ft6fKMyA3m", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World", + "tags": {}, + "locked": false, + "last_modified": "2019-06-20T16:52:23+00:00" + }, + { + "etag": "fAFm4jkGNB1hsIr4o0S5hnhCCvY", + "key": "WebDemo:Settings:BackgroundColor", + "label": null, + "content_type": null, + "value": "blue", + "tags": {}, + "locked": false, + "last_modified": "2019-06-20T15:48:01+00:00" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfNoneMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfNoneMatch.json new file mode 100644 index 000000000000..f519472e16c8 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeyValues_IfNoneMatch.json @@ -0,0 +1,61 @@ +{ + "operationId": "GetKeyValues", + "title": "Gets a list of key-values using the If-None-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "If-None-Match": "L10qpBghN693OaxydgTkLmrBbV5" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json", + "ETag": "W/\"1PlB48ET4VAlB9068ft6fKMyA3m\"" + }, + "body": { + "items": [ + { + "etag": "CTgHR5UrDKNj2nsoGWDOipST9Pv", + "key": "Background", + "label": "Asset1", + "content_type": null, + "value": "blue", + "tags": {}, + "locked": false, + "last_modified": "2019-03-04T17:12:23+00:00" + }, + { + "etag": "UTSN1zePHbBQ0npbRB6elGRRuH7", + "key": "MaxLogFiles", + "label": "Asset1", + "content_type": null, + "value": "50", + "tags": {}, + "locked": false, + "last_modified": "2019-03-04T17:12:23+00:00" + }, + { + "etag": "7XpB48ET4VAlB9068ft6fKMyA3m", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World", + "tags": {}, + "locked": false, + "last_modified": "2019-06-20T16:52:23+00:00" + }, + { + "etag": "fAFm4jkGNB1hsIr4o0S5hnhCCvY", + "key": "WebDemo:Settings:BackgroundColor", + "label": null, + "content_type": null, + "value": "blue", + "tags": {}, + "locked": false, + "last_modified": "2019-06-20T15:48:01+00:00" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeys.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeys.json new file mode 100644 index 000000000000..00c45cb68a1b --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetKeys.json @@ -0,0 +1,25 @@ +{ + "operationId": "GetKeys", + "title": "Gets a list of keys.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.keyset+json" + }, + "body": { + "items": [ + { + "name": "MaxRequests" + }, + { + "name": "RequestTimeout" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetLabels.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetLabels.json new file mode 100644 index 000000000000..0f6f42799cab --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetLabels.json @@ -0,0 +1,34 @@ +{ + "operationId": "GetLabels", + "title": "Gets a list of labels.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.labelset+json" + }, + "body": { + "items": [ + { + "name": null + }, + { + "name": "Asset1" + }, + { + "name": "Asset1/devCi" + }, + { + "name": "Asset1/devCi/branch1" + }, + { + "name": "WestUs" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetOperationStatus.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetOperationStatus.json new file mode 100644 index 000000000000..643a4fec5266 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetOperationStatus.json @@ -0,0 +1,24 @@ +{ + "operationId": "GetOperationDetails", + "title": "Gets the state of a long running operation.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "snapshot": "Prod-2022-08-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/json; charset=utf-8", + "Date": "Thu, 16 Mar 2023 23:14:44 GMT", + "Retry-After": "10", + "Sync-Token": "zAJw6V16=MDotMSMyNzM2OTA=;sn=273690" + }, + "body": { + "id": "4yghgV_8lJJ5t7_kxhMpsyNCyjmZE5Q6zU0pXOp7Jvs", + "status": "Running", + "error": null + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetRevisions.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetRevisions.json new file mode 100644 index 000000000000..5f7e4bdc38aa --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetRevisions.json @@ -0,0 +1,49 @@ +{ + "operationId": "GetRevisions", + "title": "Gets a list of key-value revisions.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kvset+json" + }, + "body": { + "items": [ + { + "etag": "0BGYCoQ6iNdp5NtQ7N8shrobo6s", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + }, + { + "etag": "L10qpBghN693OaxydgTkLmrBbV4", + "key": "Message", + "label": null, + "content_type": null, + "value": "A new message.", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:20+00:00" + }, + { + "etag": "tnIHBkDYQwtdNMLoWtr5aybkKwL", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:50:47+00:00" + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot.json new file mode 100644 index 000000000000..a4b30a2cc158 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot.json @@ -0,0 +1,39 @@ +{ + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "ready", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "size": 100000, + "items_count": 71, + "retention_period": 2592000, + "tags": { + "release": "{link/id}" + } + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_Failed.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_Failed.json new file mode 100644 index 000000000000..da289081f774 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_Failed.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot failed.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "If-Match": "\"4f6dd610dd5e4deebc7fbaef685fb903\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "failed", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "size": 0, + "items_count": 0, + "retention_period": 2592000, + "tags": { + "release": "{link/id}" + } + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfMatch.json new file mode 100644 index 000000000000..8e439ed98164 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfMatch.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot using If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "If-Match": "\"4f6dd610dd5e4deebc7fbaef685fb903\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "ready", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "size": 100000, + "items_count": 71, + "retention_period": 2592000, + "tags": { + "release": "{link/id}" + } + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfNoneMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfNoneMatch.json new file mode 100644 index 000000000000..bdef0b0ee8fd --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshot_IfNoneMatch.json @@ -0,0 +1,40 @@ +{ + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot using If-None-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "If-None-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763", + "Link": "; rel=\"items\"" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "ready", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "size": 100000, + "items_count": 71, + "retention_period": 2592000, + "tags": { + "release": "{link/id}" + } + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshots.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshots.json new file mode 100644 index 000000000000..8d4c30aedc3f --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/GetSnapshots.json @@ -0,0 +1,38 @@ +{ + "operationId": "GetSnapshots", + "title": "Gets a list of key-value snapshots.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshotset+json" + }, + "body": { + "items": [ + { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "ready", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "size": 100000, + "items_count": 71, + "retention_period": 2592000, + "tags": { + "release": "{link/id}" + } + } + ] + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue.json new file mode 100644 index 000000000000..9634ca1604ed --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue.json @@ -0,0 +1,29 @@ +{ + "operationId": "PutKeyValue", + "title": "Creates a key-value.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"tnIHBkDYQwtdNMLoWtr5aybkKwL\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "tnIHBkDYQwtdNMLoWtr5aybkKwL", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue_IfMatch.json new file mode 100644 index 000000000000..ef082889c6dc --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutKeyValue_IfMatch.json @@ -0,0 +1,30 @@ +{ + "operationId": "PutKeyValue", + "title": "Creates a key-value with the If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "L10qpBghN693OaxydgTkLmrBbV5", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": false, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock.json new file mode 100644 index 000000000000..b7f2ef43b7f8 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock.json @@ -0,0 +1,29 @@ +{ + "operationId": "PutLock", + "title": "Locks a key-value.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV4\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "L10qpBghN693OaxydgTkLmrBbV4", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": true, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock_IfMatch.json new file mode 100644 index 000000000000..212b860b0ea5 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/PutLock_IfMatch.json @@ -0,0 +1,30 @@ +{ + "operationId": "PutLock", + "title": "Locks a key-value using If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "key": "Message", + "If-Match": "\"L10qpBghN693OaxydgTkLmrBbV5\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.kv+json", + "ETag": "W/\"L10qpBghN693OaxydgTkLmrBbV5\"", + "Last-Modified": "Tue, 27 Aug 2019 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "L10qpBghN693OaxydgTkLmrBbV5", + "key": "Message", + "label": null, + "content_type": null, + "value": "Hello World!", + "tags": {}, + "locked": true, + "last_modified": "2019-08-27T16:52:32+00:00" + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot.json new file mode 100644 index 000000000000..08b11ecfb5dd --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot.json @@ -0,0 +1,40 @@ +{ + "operationId": "UpdateSnapshot", + "title": "Updates the state of a key-value snapshot.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "entity": { + "status": "archived" + } + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "archived", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "expires": "2022-09-01T22:19:40+00:00", + "size": 10000, + "items_count": 70, + "retention_period": 2592000, + "tags": {} + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot_IfMatch.json b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot_IfMatch.json new file mode 100644 index 000000000000..f486b374084f --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/examples/2023-11-01/UpdateSnapshot_IfMatch.json @@ -0,0 +1,41 @@ +{ + "operationId": "UpdateSnapshot", + "title": "Updates the state of a key-value snapshot using the If-Match header.", + "parameters": { + "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", + "api-version": "2023-11-01", + "name": "Prod-2022-08-01", + "entity": { + "status": "archived" + }, + "If-Match": "\"4f6dd610dd5e4deebc7fbaef685fb903\"" + }, + "responses": { + "200": { + "headers": { + "Content-Type": "application/vnd.microsoft.appconfig.snapshot+json", + "ETag": "W/\"4f6dd610dd5e4deebc7fbaef685fb903\"", + "Last-Modified": "Tue, 01 Aug 2022 16:52:32 GMT", + "Sync-Token": "zAJw6V16=NjotMSM3ODk3NjM=;sn=789763" + }, + "body": { + "etag": "4f6dd610dd5e4deebc7fbaef685fb903", + "name": "Prod-2022-08-01", + "status": "archived", + "filters": [ + { + "key": "app1/*", + "label": "Production" + } + ], + "composition_type": "all", + "created": "2022-08-01T22:19:40+00:00", + "expires": "2022-09-01T22:19:40+00:00", + "size": 10000, + "items_count": 70, + "retention_period": 2592000, + "tags": {} + } + } + } +} diff --git a/specification/appconfiguration/AppConfiguration/main.tsp b/specification/appconfiguration/AppConfiguration/main.tsp new file mode 100644 index 000000000000..b7bcf0a580d4 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/main.tsp @@ -0,0 +1,38 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@typespec/versioning"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using TypeSpec.Versioning; + +@service({ + title: "Azure App Configuration", +}) +@versioned(Versions) +@useAuth( + ApiKeyAuth | OAuth2Auth<[ + { + type: OAuth2FlowType.implicit, + authorizationUrl: "https://login.microsoftonline.com/common/oauth2/authorize", + scopes: ["https://azconfig.io/.default"], + } + ]> +) +@server( + "{endpoint}", + "App Configuration service endpoint", + { + endpoint: string, + } +) +@doc("Azure App Configuration REST API") +namespace AzureAppConfiguration; + +@doc("Service API versions") +enum Versions { + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + @doc("The 2023-11-01 API version") + v2023_11_01: "2023-11-01", +} diff --git a/specification/appconfiguration/AppConfiguration/models.tsp b/specification/appconfiguration/AppConfiguration/models.tsp new file mode 100644 index 000000000000..878d6b028542 --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/models.tsp @@ -0,0 +1,330 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; + +namespace AzureAppConfiguration; + +@doc("Key-value fields.") +union KeyValueFields { + @doc("Key field.") + key: "key", + + @doc("Label field.") + label: "label", + + @doc("Content type field.") + content_type: "content_type", + + @doc("Value field.") + value: "value", + + @doc("Last modified field.") + last_modified: "last_modified", + + @doc("Tags field.") + tags: "tags", + + @doc("Locked field.") + locked: "locked", + + @doc("Etag field.") + etag: "etag", + + string, +} + +@doc("Snapshot fields.") +union SnapshotFields { + @doc("Name field.") + name: "name", + + @doc("Status field.") + status: "status", + + @doc("Filters field.") + filters: "filters", + + @doc("Composition type field.") + composition_type: "composition_type", + + @doc("Created field.") + created: "created", + + @doc("Expires field.") + expires: "expires", + + @doc("Retention period field.") + retention_period: "retention_period", + + @doc("Size field.") + size: "size", + + @doc("Items count field.") + items_count: "items_count", + + @doc("Tags field.") + tags: "tags", + + @doc("Etag field.") + etag: "etag", + + string, +} + +@doc("Snapshot status.") +union SnapshotStatus { + @doc("Provisioning") + provisioning: "provisioning", + + @doc("Ready") + ready: "ready", + + @doc("Archived") + archived: "archived", + + @doc("Failed") + failed: "failed", + + string, +} + +@doc("Composition types.") +union CompositionType { + @doc("The 'key' composition type.") + key: "key", + + @doc("The 'key_label' composition type.") + key_label: "key_label", + + string, +} + +@doc("Label fields.") +union LabelFields { + @doc("Name field.") + name: "name", + + string, +} + +@doc("The result of a list request.") +@pagedResult +model KeyListResult { + @doc("The collection value.") + @items + items?: Key[]; + + @doc("The URI that can be used to request the next set of paged results.") + @nextLink + `@nextLink`?: string; +} + +@doc("Keys serve as identifiers for key-values and are used to store and retrieve corresponding values.") +@resource("keys") +model Key { + @doc("The name of the key.") + @key + @visibility("read") + name: string; +} + +@doc("Azure App Configuration error object.") +@error +model Error { + @doc("The type of the error.") + type?: string; + + @doc("A brief summary of the error.") + title?: string; + + @doc("The name of the parameter that resulted in the error.") + name?: string; + + @doc("A detailed description of the error.") + detail?: string; + + @doc("The HTTP status code that the error maps to.") + status?: int32; +} + +@doc("The result of a list request.") +@pagedResult +model KeyValueListResult { + @doc("The collection value.") + @items + items?: KeyValue[]; + + @doc("An identifier representing the returned state of the resource.") + etag?: string; + + @doc("The URI that can be used to request the next set of paged results.") + @nextLink + `@nextLink`?: string; +} + +@doc("A key-value pair representing application settings.") +@resource("kv") +model KeyValue { + @key + @visibility("read") + @doc("The key of the key-value.") + key: string; + + @doc("The label the key-value belongs to.") + label?: string; + + @doc("The content type of the value stored within the key-value.") + @encodedName("application/json", "content_type") + contentType?: string; + + @doc("The value of the key-value.") + value?: string; + + #suppress "@azure-tools/typespec-azure-core/no-offsetdatetime" "Pre-existing API contract." + @doc("A date representing the last time the key-value was modified.") + @encodedName("application/json", "last_modified") + lastModified?: offsetDateTime; + + @doc("The tags of the key-value") + tags?: Record; + + @doc("Indicates whether the key-value is locked.") + locked?: boolean; + + @doc("A value representing the current state of the resource.") + etag?: string; +} + +@doc("The result of a snapshot list request.") +@pagedResult +model SnapshotListResult { + @doc("The collection value.") + @items + items?: Snapshot[]; + + @doc("The URI that can be used to request the next set of paged results.") + @nextLink + `@nextLink`?: string; +} + +@doc("A snapshot is a named, immutable subset of an App Configuration store's key-values.") +@resource("snapshots") +model Snapshot { + @key + @doc("The name of the snapshot.") + @visibility("read") + name: string; + + @doc("The current status of the snapshot.") + @visibility("read") + status?: SnapshotStatus; + + @doc("A list of filters used to filter the key-values included in the snapshot.") + @minItems(1) + @maxItems(3) + filters: KeyValueFilter[]; + + @doc(""" +The composition type describes how the key-values within the snapshot are +composed. The 'key' composition type ensures there are no two key-values +containing the same key. The 'key_label' composition type ensures there are no +two key-values containing the same key and label. +""") + @encodedName("application/json", "composition_type") + compositionType?: CompositionType; + + #suppress "@azure-tools/typespec-azure-core/no-offsetdatetime" "Pre-existing API contract." + @doc("The time that the snapshot was created.") + @visibility("read") + created?: offsetDateTime; + + #suppress "@azure-tools/typespec-azure-core/no-offsetdatetime" "Pre-existing API contract." + @doc("The time that the snapshot will expire.") + @visibility("read") + expires?: offsetDateTime; + + @doc(""" +The amount of time, in seconds, that a snapshot will remain in the archived +state before expiring. This property is only writable during the creation of a +snapshot. If not specified, the default lifetime of key-value revisions will be +used. +""") + @maxValue(7776000) + @minValue(3600) + @encodedName("application/json", "retention_period") + retentionPeriod?: int64; + + @doc("The size in bytes of the snapshot.") + @visibility("read") + size?: int64; + + @doc("The amount of key-values in the snapshot.") + @visibility("read") + @encodedName("application/json", "items_count") + itemsCount?: int64; + + @doc("The tags of the snapshot.") + tags?: Record; + + @doc("A value representing the current state of the snapshot.") + @visibility("read") + etag?: string; +} + +@doc(""" +Enables filtering of key-values. Syntax reference: +https://aka.ms/azconfig/docs/restapisnapshots +""") +model KeyValueFilter { + @doc("Filters key-values by their key field.") + key: string; + + @doc("Filters key-values by their label field.") + label?: string; + + @doc("Filters key-values by their tags field.") + tags?: string[]; +} + +@doc("Parameters used to update a snapshot.") +model SnapshotUpdateParameters { + @doc("The desired status of the snapshot.") + status?: SnapshotStatus; +} + +@doc("The result of a list request.") +@pagedResult +model LabelListResult { + @doc("The collection value.") + @items + items?: Label[]; + + @doc("The URI that can be used to request the next set of paged results.") + @nextLink + `@nextLink`?: string; +} + +@doc("Labels are used to group key-values.") +model Label { + @doc("The name of the label.") + name?: string; +} + +@doc("Details of a long running operation.") +model OperationDetails { + @doc("The unique id of the operation.") + id: string; + + @doc("The current status of the operation") + status: Foundations.OperationState; + + @doc(""" +An error, available when the status is `Failed`, describing why the operation +failed. +""") + error?: Foundations.Error; +} diff --git a/specification/appconfiguration/AppConfiguration/routes.tsp b/specification/appconfiguration/AppConfiguration/routes.tsp new file mode 100644 index 000000000000..572c81823e7e --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/routes.tsp @@ -0,0 +1,952 @@ +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.Core.Traits; + +namespace AzureAppConfiguration; + +alias appConfigOperation< + TParams extends Reflection.Model, + TResponse, + Traits extends Reflection.Model = {}, + TError = Error +> = Foundations.Operation< + TParams & ClientRequestIdHeader, + TResponse, + Traits, + TError +>; + +alias standardOps = ResourceOperations< + SupportsClientRequestId & NoRepeatableRequests & NoConditionalRequests, + Error +>; + +alias syncTokenHeader = { + @doc("Used to guarantee real-time consistency between requests.") + @header("Sync-Token") + syncToken?: string; +}; + +#suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Needs fix: https://github.com/microsoft/typespec/issues/2853" +alias contentTypeHeader = { + @doc("Content-Type header") + @header("Content-Type") + contentTypeHeader?: T | "application/problem+json"; +}; + +alias AppConfigResponseHeaders = { + ...syncTokenHeader; + + @doc("A value representing the current state of the resource.") + @header("ETag") + etagHeader?: string; +}; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Gets a list of keys.") +@doc("Gets a list of keys.") +op getKeys is Foundations.ResourceList< + Key, + { + @doc("A filter for the name of the returned keys.") + @query("name") + name?: string; + + @doc(""" + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) + @query("After") + after?: string; + + ...syncTokenHeader; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + }, + KeyListResult & { + ...syncTokenHeader; + ...contentTypeHeader<"application/vnd.microsoft.appconfig.keyset+json">; + }, + {}, + Error +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/keys") +@head +op checkKeys is appConfigOperation< + { + @doc("A filter for the name of the returned keys.") + @query("name") + name?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + }, + OkResponse & { + ...syncTokenHeader; + } +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Gets a list of key-values.") +@doc("Gets a list of key-values.") +op getKeyValues is Foundations.ResourceList< + KeyValue, + { + @doc(""" +A filter used to match keys. Syntax reference: +https://aka.ms/azconfig/docs/keyvaluefiltering +""") + @query("key") + key?: string; + + @doc(""" +A filter used to match labels. Syntax reference: +https://aka.ms/azconfig/docs/keyvaluefiltering +""") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: KeyValueFields[]; + + @doc(""" +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. +""") + @query("snapshot") + snapshot?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + + #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" + @doc(""" +A filter used to query by tags. Syntax reference: +https://aka.ms/azconfig/docs/keyvaluefiltering +""") + @query({ + name: "tags", + format: "multi", + }) + tags?: string[]; + }, + KeyValueListResult & + AppConfigResponseHeaders & + contentTypeHeader<"application/vnd.microsoft.appconfig.kvset+json">, + {}, + Error +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/kv") +@head +op checkKeyValues is appConfigOperation< + { + @doc(""" +A filter used to match keys. Syntax reference: +https://aka.ms/azconfig/docs/keyvaluefiltering +""") + @query("key") + key?: string; + + @doc(""" +A filter used to match labels. Syntax reference: +https://aka.ms/azconfig/docs/keyvaluefiltering +""") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: KeyValueFields[]; + + @doc("A filter used get key-values for a snapshot. Not valid when used with 'key' and 'label' filters.") + @query("snapshot") + snapshot?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + + #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" + @doc(""" +A filter used to query by tags. Syntax reference: +https://aka.ms/azconfig/docs/keyvaluefiltering +""") + @query({ + name: "tags", + format: "multi", + }) + tags?: string[]; + }, + OkResponse & AppConfigResponseHeaders +>; + +@summary("Gets a single key-value.") +@doc("Gets a single key-value.") +op getKeyValue is standardOps.ResourceRead< + KeyValue, + QueryParametersTrait<{ + @doc("The label of the key-value to retrieve.") + @query("label") + label?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: KeyValueFields[]; + }> & + RequestHeadersTrait<{ + ...syncTokenHeader; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + }> & + ResponseHeadersTrait> +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Creates a key-value.") +@doc("Creates a key-value.") +@route("/kv/{key}") +@put +op putKeyValue is appConfigOperation< + { + #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Needs fix: https://github.com/microsoft/typespec/issues/2853" + @doc("Content-Type header") + @header("Content-Type") + contentTypeHeader: + | "application/vnd.microsoft.appconfig.kv+json" + | "application/vnd.microsoft.appconfig.kvset+json" + | "application/json" + | "text/json" + | "application/*+json" + | "application/json-patch+json"; + + @doc("The key of the key-value to create.") + @path + key: string; + + @doc("The label of the key-value to create.") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + + @doc("The key-value to create.") + @body + entity?: KeyValue; + }, + KeyValue & + AppConfigResponseHeaders & + contentTypeHeader<"application/vnd.microsoft.appconfig.kv+json"> +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Deletes a key-value.") +@doc("Deletes a key-value.") +@route("/kv/{key}") +@delete +op deleteKeyValue is appConfigOperation< + { + @doc("The key of the key-value to delete.") + @path + key: string; + + @doc("The label of the key-value to delete.") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + }, + (KeyValue & + AppConfigResponseHeaders & + contentTypeHeader<"application/vnd.microsoft.appconfig.kv+json">) | { + @statusCode + statusCode: 204; + + ...syncTokenHeader; + } +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/kv/{key}") +@head +op checkKeyValue is appConfigOperation< + { + @doc("The key of the key-value to retrieve.") + @path + key: string; + + @doc("The label of the key-value to retrieve.") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: KeyValueFields[]; + }, + OkResponse & AppConfigResponseHeaders +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Gets a list of key-value snapshots.") +@doc("Gets a list of key-value snapshots.") +op getSnapshots is Foundations.ResourceList< + Snapshot, + { + @doc("A filter for the name of the returned snapshots.") + @query("name") + name?: string; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: SnapshotFields[]; + + @doc("Used to filter returned snapshots by their status property.") + @query({ + name: "status", + format: "csv", + }) + status?: SnapshotStatus[]; + + ...syncTokenHeader; + }, + SnapshotListResult & { + ...syncTokenHeader; + ...contentTypeHeader<"application/vnd.microsoft.appconfig.snapshotset+json">; + }, + {}, + Error +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/snapshots") +@head +op checkSnapshots is appConfigOperation< + { + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + }, + OkResponse & { + ...syncTokenHeader; + } +>; + +@summary("Gets a single key-value snapshot.") +@doc("Gets a single key-value snapshot.") +op getSnapshot is standardOps.ResourceRead< + Snapshot, + QueryParametersTrait<{ + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: SnapshotFields[]; + }> & + RequestHeadersTrait<{ + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + }> & + ResponseHeadersTrait; + }> +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Creates a key-value snapshot.") +@doc("Creates a key-value snapshot.") +@route("/snapshots/{name}") +@pollingOperation(getOperationDetails) +@put +op createSnapshot is Foundations.LongRunningOperation< + { + #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Needs fix: https://github.com/microsoft/typespec/issues/2853" + @doc("Content-Type header") + @header("Content-Type") + contentTypeHeader: "application/vnd.microsoft.appconfig.snapshot+json" | "application/json"; + + @doc("The name of the key-value snapshot to create.") + @maxLength(256) + @path + name: string; + + ...syncTokenHeader; + + @doc("The key-value snapshot to create.") + @body + entity: Snapshot; + }, + CreatedResponse & + Snapshot & { + ...AppConfigResponseHeaders; + + @doc("Includes links to related resources.") + @header("Link") + link?: string; + + ...contentTypeHeader<"application/vnd.microsoft.appconfig.snapshot+json">; + }, + {}, + Error +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Updates the state of a key-value snapshot.") +@doc("Updates the state of a key-value snapshot.") +@route("/snapshots/{name}") +@patch +op updateSnapshot is appConfigOperation< + { + #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Needs fix: https://github.com/microsoft/typespec/issues/2853" + @doc("Content-Type header") + @header("Content-Type") + contentTypeHeader: "application/merge-patch+json" | "application/json"; + + @doc("The name of the key-value snapshot to update.") + @path + name: string; + + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + + @doc("The parameters used to update the snapshot.") + @body + entity: SnapshotUpdateParameters; + }, + Snapshot & { + ...AppConfigResponseHeaders; + + @doc("Includes links to related resources.") + @header("Link") + link?: string; + + ...contentTypeHeader<"application/vnd.microsoft.appconfig.snapshot+json">; + } +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/snapshots/{name}") +@head +op checkSnapshot is appConfigOperation< + { + @doc("The name of the key-value snapshot to check.") + @path + name: string; + + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + }, + OkResponse & { + ...AppConfigResponseHeaders; + + @doc("Includes links to related resources.") + @header("Link") + link?: string; + } +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Gets a list of labels.") +@doc("Gets a list of labels.") +@route("/labels") +op getLabels is appConfigOperation< + { + @doc("A filter for the name of the returned labels.") + @query("name") + name?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: LabelFields[]; + }, + LabelListResult & { + ...syncTokenHeader; + ...contentTypeHeader<"application/vnd.microsoft.appconfig.labelset+json">; + } +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/labels") +@head +op checkLabels is appConfigOperation< + { + @doc("A filter for the name of the returned labels.") + @query("name") + name?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: LabelFields[]; + }, + OkResponse & { + ...syncTokenHeader; + } +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Locks a key-value.") +@doc("Locks a key-value.") +@route("/locks/{key}") +@put +op putLock is appConfigOperation< + { + @doc("The key of the key-value to lock.") + @path + key: string; + + @doc("The label, if any, of the key-value to lock.") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + }, + KeyValue & + AppConfigResponseHeaders & + contentTypeHeader<"application/vnd.microsoft.appconfig.kv+json"> +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Unlocks a key-value.") +@doc("Unlocks a key-value.") +@route("/locks/{key}") +@delete +op deleteLock is appConfigOperation< + { + @doc("The key of the key-value to unlock.") + @path + key: string; + + @doc("The label, if any, of the key-value to unlock.") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Used to perform an operation only if the targeted resource's etag matches the +value provided. +""") + @header("If-Match") + ifMatch?: string; + + @doc(""" +Used to perform an operation only if the targeted resource's etag does not +match the value provided. +""") + @header("If-None-Match") + ifNoneMatch?: string; + }, + KeyValue & + AppConfigResponseHeaders & + contentTypeHeader<"application/vnd.microsoft.appconfig.kv+json"> +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Gets a list of key-value revisions.") +@doc("Gets a list of key-value revisions.") +@route("/revisions") +@get +op getRevisions is appConfigOperation< + { + @doc(""" +A filter used to match keys. Syntax reference: +https://aka.ms/azconfig/docs/restapirevisions +""") + @query("key") + key?: string; + + @doc(""" +A filter used to match labels. Syntax reference: +https://aka.ms/azconfig/docs/restapirevisions +""") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: KeyValueFields[]; + + #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" + @doc(""" +A filter used to query by tags. Syntax reference: +https://aka.ms/azconfig/docs/restapirevisions +""") + @query({ + name: "tags", + format: "multi", + }) + tags?: string[]; + }, + KeyValueListResult & + AppConfigResponseHeaders & + contentTypeHeader<"application/vnd.microsoft.appconfig.kvset+json"> +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "No data-plane HEAD operation template" +@summary("Requests the headers and status of the given resource.") +@doc("Requests the headers and status of the given resource.") +@route("/revisions") +@head +op checkRevisions is appConfigOperation< + { + @doc(""" +A filter used to match keys. Syntax reference: +https://aka.ms/azconfig/docs/restapirevisions +""") + @query("key") + key?: string; + + @doc(""" +A filter used to match labels. Syntax reference: +https://aka.ms/azconfig/docs/restapirevisions +""") + @query("label") + label?: string; + + ...syncTokenHeader; + + @doc(""" +Instructs the server to return elements that appear after the element referred +to by the specified token. +""") + @query("After") + after?: string; + + @doc(""" +Requests the server to respond with the state of the resource at the specified +time. +""") + @header("Accept-Datetime") + acceptDatetime?: string; + + @doc("Used to select what fields are present in the returned resource(s).") + @query({ + name: "$Select", + format: "csv", + }) + select?: KeyValueFields[]; + + #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" + @doc(""" +A filter used to query by tags. Syntax reference: +https://aka.ms/azconfig/docs/restapirevisions +""") + @query({ + name: "tags", + format: "multi", + }) + tags?: string[]; + }, + OkResponse & AppConfigResponseHeaders +>; + +#suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Pre-existing API contract" +@summary("Gets the state of a long running operation.") +@doc("Gets the state of a long running operation.") +@route("/operations") +@get +op getOperationDetails is appConfigOperation< + { + @doc("Snapshot identifier for the long running operation.") + @query("snapshot") + snapshot: string; + }, + OperationDetails +>; diff --git a/specification/appconfiguration/AppConfiguration/tspconfig.yaml b/specification/appconfiguration/AppConfiguration/tspconfig.yaml new file mode 100644 index 000000000000..52804fda8c2b --- /dev/null +++ b/specification/appconfiguration/AppConfiguration/tspconfig.yaml @@ -0,0 +1,40 @@ +parameters: + "service-dir": + default: "sdk/appconfiguration" + "dependencies": + "additionalDirectories": [] + default: "" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + azure-resource-provider-folder: "data-plane" + emitter-output-dir: "{project-root}/.." + examples-directory: "{project-root}/examples" + output-file: "{azure-resource-provider-folder}/Microsoft.AppConfiguration/{version-status}/{version}/appconfiguration.json" + "@azure-tools/typespec-python": + package-dir: "azure-appconfiguration" + package-name: "{package-dir}" + package-mode: dataplane + flavor: azure + "@azure-tools/typespec-csharp": + package-dir: "Azure.Data.AppConfiguration" + namespace: "{package-dir}" + clear-output-folder: true + model-namespace: false + flavor: azure + "@azure-tools/typespec-ts": + package-dir: "azure-appconfiguration-rest" + generateMetadata: true + generateTest: true + packageDetails: + name: "@azure-rest/azure-appconfiguration-rest" + description: "Azure App Configuration" + flavor: azure + "@azure-tools/typespec-java": + package-dir: "azure-data-appconfiguration" + namespace: com.azure.data.appconfiguration + flavor: azure +linter: + extends: + - "@azure-tools/typespec-azure-core/all" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json index ff007d39f7a6..8d4cad68f08b 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json @@ -1,131 +1,211 @@ { "swagger": "2.0", "info": { + "title": "Azure App Configuration", "version": "2023-11-01", - "title": "Azure App Configuration" + "description": "Azure App Configuration REST API", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, "schemes": [ "https" ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "ApiKeyAuth": [] + }, + { + "OAuth2Auth": [ + "https://azconfig.io/.default" + ] + } + ], + "securityDefinitions": { + "ApiKeyAuth": { + "type": "apiKey", + "name": "Connection String", + "in": "header" + }, + "OAuth2Auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "https://azconfig.io/.default": "" + } + } + }, + "tags": [], "paths": { "/keys": { "get": { - "tags": [ - "Keys" - ], - "summary": "Gets a list of keys.", "operationId": "GetKeys", - "consumes": [], + "summary": "Gets a list of keys.", + "description": "Gets a list of keys.", "produces": [ "application/vnd.microsoft.appconfig.keyset+json", - "application/problem+json" + "application/problem+json", + "application/json" ], "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "name", "in": "query", "description": "A filter for the name of the returned keys.", + "required": false, "type": "string" }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" + }, + { + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/KeyListResult" }, "headers": { + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.keyset+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } + }, "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetKeys": { + "Gets a list of keys.": { "$ref": "./examples/GetKeys.json" } }, "x-ms-pageable": { - "itemName": "items", "nextLinkName": "@nextLink" } }, "head": { - "tags": [ - "Keys" - ], - "summary": "Requests the headers and status of the given resource.", "operationId": "CheckKeys", - "consumes": [], - "produces": [], + "summary": "Requests the headers and status of the given resource.", + "description": "Requests the headers and status of the given resource.", "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "name", "in": "query", "description": "A filter for the name of the returned keys.", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "headers": { "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response." + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-ms-examples": { - "CheckKeys": { + "Check keys": { "$ref": "./examples/CheckKeys.json" } } @@ -133,240 +213,413 @@ }, "/kv": { "get": { - "tags": [ - "KeyValues" - ], - "summary": "Gets a list of key-values.", "operationId": "GetKeyValues", - "consumes": [], + "summary": "Gets a list of key-values.", + "description": "Gets a list of key-values.", "produces": [ "application/vnd.microsoft.appconfig.kvset+json", - "application/problem+json" + "application/problem+json", + "application/json" ], "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "key", "in": "query", - "description": "A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering", + "description": "A filter used to match keys. Syntax reference:\nhttps://aka.ms/azconfig/docs/keyvaluefiltering", + "required": false, "type": "string" }, { "name": "label", "in": "query", - "description": "A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering", + "description": "A filter used to match labels. Syntax reference:\nhttps://aka.ms/azconfig/docs/keyvaluefiltering", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" }, { - "$ref": "#/parameters/KeyValueFields" + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { "name": "snapshot", "in": "query", - "description": "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.", + "description": "A filter used get key-values for a snapshot. The value should be the name of\nthe snapshot. Not valid when used with 'key' and 'label' filters.", + "required": false, "type": "string" }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "tags", "in": "query", - "description": "A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering", + "description": "A filter used to query by tags. Syntax reference:\nhttps://aka.ms/azconfig/docs/keyvaluefiltering", + "required": false, "type": "array", "items": { "type": "string" }, - "collectionFormat": "multi", - "uniqueItems": true + "collectionFormat": "multi" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/KeyValueListResult" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kvset+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetKeyValues": { - "$ref": "./examples/GetKeyValues.json" - }, - "GetKeyValues_IfMatch": { + "Gets a list of key-values using the If-Match header.": { "$ref": "./examples/GetKeyValues_IfMatch.json" }, - "GetKeyValues_IfNoneMatch": { + "Gets a list of key-values using the If-None-Match header.": { "$ref": "./examples/GetKeyValues_IfNoneMatch.json" + }, + "Gets a list of key-values.": { + "$ref": "./examples/GetKeyValues.json" } }, "x-ms-pageable": { - "itemName": "items", "nextLinkName": "@nextLink" } }, "head": { - "tags": [ - "KeyValues" - ], - "summary": "Requests the headers and status of the given resource.", "operationId": "CheckKeyValues", - "consumes": [], - "produces": [], + "summary": "Requests the headers and status of the given resource.", + "description": "Requests the headers and status of the given resource.", "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "key", "in": "query", - "description": "A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering", + "description": "A filter used to match keys. Syntax reference:\nhttps://aka.ms/azconfig/docs/keyvaluefiltering", + "required": false, "type": "string" }, { "name": "label", "in": "query", - "description": "A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering", + "description": "A filter used to match labels. Syntax reference:\nhttps://aka.ms/azconfig/docs/keyvaluefiltering", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" }, { - "$ref": "#/parameters/KeyValueFields" + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { "name": "snapshot", "in": "query", "description": "A filter used get key-values for a snapshot. Not valid when used with 'key' and 'label' filters.", + "required": false, "type": "string" }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { "name": "tags", "in": "query", - "description": "A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering", + "description": "A filter used to query by tags. Syntax reference:\nhttps://aka.ms/azconfig/docs/keyvaluefiltering", + "required": false, "type": "array", "items": { "type": "string" }, - "collectionFormat": "multi", - "uniqueItems": true + "collectionFormat": "multi" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response." + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-ms-examples": { - "CheckKeyValues": { - "$ref": "./examples/CheckKeyValues.json" - }, - "CheckKeyValues_IfMatch": { + "Requests the headers and status of the given resource using the If-Match header.": { "$ref": "./examples/CheckKeyValues_IfMatch.json" }, - "CheckKeyValues_IfNoneMatch": { + "Requests the headers and status of the given resource using the If-None-Match header.": { "$ref": "./examples/CheckKeyValues_IfNoneMatch.json" + }, + "Requests the headers and status of the given resource.": { + "$ref": "./examples/CheckKeyValues.json" } } } }, "/kv/{key}": { "get": { - "tags": [ - "KeyValues" - ], - "summary": "Gets a single key-value.", "operationId": "GetKeyValue", - "consumes": [], + "summary": "Gets a single key-value.", + "description": "Gets a single key-value.", "produces": [ "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" + "application/problem+json", + "application/json" ], "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "key", "in": "path", - "description": "The key of the key-value to retrieve.", + "description": "The key of the key-value.", "required": true, "type": "string" }, @@ -374,78 +627,174 @@ "name": "label", "in": "query", "description": "The label of the key-value to retrieve.", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { - "$ref": "#/parameters/KeyValueFields" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/KeyValue" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." + }, + "x-ms-client-request-id": { + "type": "string", + "format": "uuid", + "description": "An opaque, globally-unique, client-generated string identifier for the request." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetKeyValue": { - "$ref": "./examples/GetKeyValue.json" - }, - "GetKeyValue_IfMatch": { + "Gets a single key-value using the If-Match header.": { "$ref": "./examples/GetKeyValue_IfMatch.json" }, - "GetKeyValue_IfNoneMatch": { + "Gets a single key-value using the If-None-Match header.": { "$ref": "./examples/GetKeyValue_IfNoneMatch.json" + }, + "Gets a single key-value.": { + "$ref": "./examples/GetKeyValue.json" } } }, "put": { - "tags": [ - "KeyValues" - ], - "summary": "Creates a key-value.", "operationId": "PutKeyValue", + "summary": "Creates a key-value.", + "description": "Creates a key-value.", + "produces": [ + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json", + "application/json" + ], "consumes": [ "application/vnd.microsoft.appconfig.kv+json", "application/vnd.microsoft.appconfig.kvset+json", @@ -454,11 +803,10 @@ "application/*+json", "application/json-patch+json" ], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "key", "in": "path", @@ -470,80 +818,103 @@ "name": "label", "in": "query", "description": "The label of the key-value to create.", + "required": false, "type": "string" }, { - "name": "entity", - "in": "body", - "description": "The key-value to create.", - "schema": { - "$ref": "#/definitions/KeyValue" - } - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" + }, + { + "name": "entity", + "in": "body", + "description": "The key-value to create.", + "required": false, + "schema": { + "$ref": "#/definitions/KeyValue" + } } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/KeyValue" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "PutKeyValue": { - "$ref": "./examples/PutKeyValue.json" - }, - "PutKeyValue_IfMatch": { + "Creates a key-value with the If-Match header.": { "$ref": "./examples/PutKeyValue_IfMatch.json" + }, + "Creates a key-value.": { + "$ref": "./examples/PutKeyValue.json" } } }, "delete": { - "tags": [ - "KeyValues" - ], - "summary": "Deletes a key-value.", "operationId": "DeleteKeyValue", - "consumes": [], + "summary": "Deletes a key-value.", + "description": "Deletes a key-value.", "produces": [ "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" + "application/problem+json", + "application/json" ], "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "key", "in": "path", @@ -555,72 +926,90 @@ "name": "label", "in": "query", "description": "The label of the key-value to delete.", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/KeyValue" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "204": { - "description": "Success", + "description": "There is no content to send for this request, but the headers may be useful. ", "headers": { "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "DeleteKeyValue": { - "$ref": "./examples/DeleteKeyValue.json" - }, - "DeleteKeyValue_IfMatch": { + "Deletes a key-value using If-Match header": { "$ref": "./examples/DeleteKeyValue_IfMatch.json" + }, + "Deletes a key-value.": { + "$ref": "./examples/DeleteKeyValue.json" } } }, "head": { - "tags": [ - "KeyValues" - ], - "summary": "Requests the headers and status of the given resource.", "operationId": "CheckKeyValue", - "consumes": [], - "produces": [], + "summary": "Requests the headers and status of the given resource.", + "description": "Requests the headers and status of the given resource.", "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "key", "in": "path", @@ -632,1268 +1021,2059 @@ "name": "label", "in": "query", "description": "The label of the key-value to retrieve.", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" + }, + { + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { - "$ref": "#/parameters/KeyValueFields" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response." - } - }, + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, "x-ms-examples": { - "CheckKeyValue": { - "$ref": "./examples/CheckKeyValue.json" - }, - "CheckKeyValue_IfMatch": { + "Requests the headers and status of the given resource using the If-Match header.": { "$ref": "./examples/CheckKeyValue_IfMatch.json" }, - "CheckKeyValue_IfNoneMatch": { + "Requests the headers and status of the given resource using the If-None-Match header.": { "$ref": "./examples/CheckKeyValue_IfNoneMatch.json" + }, + "Requests the headers and status of the given resource.": { + "$ref": "./examples/CheckKeyValue.json" } } } }, - "/snapshots": { + "/labels": { "get": { - "tags": [ - "Snapshots" - ], - "summary": "Gets a list of key-value snapshots.", - "operationId": "GetSnapshots", - "consumes": [], + "operationId": "GetLabels", + "summary": "Gets a list of labels.", + "description": "Gets a list of labels.", "produces": [ - "application/vnd.microsoft.appconfig.snapshotset+json", - "application/problem+json" + "application/vnd.microsoft.appconfig.labelset+json", + "application/problem+json", + "application/json" ], "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, { "name": "name", "in": "query", - "description": "A filter for the name of the returned snapshots.", + "description": "A filter for the name of the returned labels.", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" + }, + { + "name": "Accept-Datetime", + "in": "header", + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" }, { - "$ref": "#/parameters/SnapshotFields" + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "name" + ], + "x-ms-enum": { + "name": "LabelFields", + "modelAsString": true, + "values": [ + { + "name": "name", + "value": "name", + "description": "Name field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { - "$ref": "#/parameters/Status" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/SnapshotListResult" + "$ref": "#/definitions/LabelListResult" }, "headers": { + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.labelset+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } + }, "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetSnapshots": { - "$ref": "./examples/GetSnapshots.json" + "Gets a list of labels.": { + "$ref": "./examples/GetLabels.json" } }, "x-ms-pageable": { - "itemName": "items", "nextLinkName": "@nextLink" } }, "head": { - "tags": [ - "Snapshots" - ], + "operationId": "CheckLabels", "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckSnapshots", - "consumes": [], - "produces": [], + "description": "Requests the headers and status of the given resource.", "parameters": [ { - "$ref": "#/parameters/SyncTokens" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "name", + "in": "query", + "description": "A filter for the name of the returned labels.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" + }, + { + "name": "Accept-Datetime", + "in": "header", + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" + }, + { + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "name" + ], + "x-ms-enum": { + "name": "LabelFields", + "modelAsString": true, + "values": [ + { + "name": "name", + "value": "name", + "description": "Name field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "headers": { "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response." + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-ms-examples": { - "CheckSnapshots": { - "$ref": "./examples/CheckSnapshots.json" + "Requests the headers and status of the given resource.": { + "$ref": "./examples/CheckLabels.json" } } } }, - "/snapshots/{name}": { - "get": { - "tags": [ - "Snapshots" - ], - "summary": "Gets a single key-value snapshot.", - "operationId": "GetSnapshot", - "consumes": [], + "/locks/{key}": { + "put": { + "operationId": "PutLock", + "summary": "Locks a key-value.", + "description": "Locks a key-value.", "produces": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/problem+json" + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json", + "application/json" ], "parameters": [ { - "$ref": "#/parameters/SyncTokens" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "name", + "name": "key", "in": "path", - "description": "The name of the key-value snapshot to retrieve.", + "description": "The key of the key-value to lock.", "required": true, "type": "string" }, + { + "name": "label", + "in": "query", + "description": "The label, if any, of the key-value to lock.", + "required": false, + "type": "string" + }, + { + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" + }, { "name": "If-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { "name": "If-None-Match", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { - "$ref": "#/parameters/SnapshotFields" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/KeyValue" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." }, - "Link": { - "description": "Includes links to related resources.", - "type": "string" + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetSnapshot": { - "$ref": "./examples/GetSnapshot.json" - }, - "GetSnapshot_IfMatch": { - "$ref": "./examples/GetSnapshot_IfMatch.json" - }, - "GetSnapshot_IfNoneMatch": { - "$ref": "./examples/GetSnapshot_IfNoneMatch.json" + "Locks a key-value using If-Match header.": { + "$ref": "./examples/PutLock_IfMatch.json" }, - "GetSnapshot_Failed": { - "$ref": "./examples/GetSnapshot_Failed.json" + "Locks a key-value.": { + "$ref": "./examples/PutLock.json" } } }, - "put": { - "tags": [ - "Snapshots" - ], - "summary": "Creates a key-value snapshot.", - "operationId": "CreateSnapshot", - "consumes": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/json" - ], + "delete": { + "operationId": "DeleteLock", + "summary": "Unlocks a key-value.", + "description": "Unlocks a key-value.", "produces": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/problem+json" + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json", + "application/json" ], "parameters": [ { - "name": "name", + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "key", "in": "path", - "description": "The name of the key-value snapshot to create.", + "description": "The key of the key-value to unlock.", "required": true, + "type": "string" + }, + { + "name": "label", + "in": "query", + "description": "The label, if any, of the key-value to unlock.", + "required": false, + "type": "string" + }, + { + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, "type": "string", - "maxLength": 256 + "x-ms-client-name": "syncToken" }, { - "name": "entity", - "in": "body", - "description": "The key-value snapshot to create.", - "required": true, - "schema": { - "$ref": "#/definitions/Snapshot" - } + "name": "If-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { - "$ref": "#/parameters/SyncTokens" + "name": "If-None-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { - "201": { - "description": "Success", + "200": { + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/KeyValue" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kv+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - }, - "Link": { - "description": "Includes links to related resources.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." }, - "Operation-Location": { - "description": "The URL to track the status of the long running operation.", - "type": "string" + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "CreateSnapshot": { - "$ref": "./examples/CreateSnapshot.json" + "Unlocks a key-value using If-Match header.": { + "$ref": "./examples/DeleteLock_IfMatch.json" + }, + "Unlocks a key-value.": { + "$ref": "./examples/DeleteLock.json" } - }, - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Snapshots" - ], - "summary": "Updates the state of a key-value snapshot.", - "operationId": "UpdateSnapshot", - "consumes": [ - "application/json", - "application/merge-patch+json" - ], - "produces": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/problem+json" - ], + } + } + }, + "/operations": { + "get": { + "operationId": "GetOperationDetails", + "summary": "Gets the state of a long running operation.", + "description": "Gets the state of a long running operation.", "parameters": [ { - "name": "name", - "in": "path", - "description": "The name of the key-value snapshot to update.", - "required": true, - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "name": "entity", - "in": "body", - "description": "The parameters used to update the snapshot.", + "name": "snapshot", + "in": "query", + "description": "Snapshot identifier for the long running operation.", "required": true, - "schema": { - "$ref": "#/definitions/SnapshotUpdateParameters" - } - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", "type": "string" }, { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/Snapshot" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - }, - "Link": { - "description": "Includes links to related resources.", - "type": "string" - } + "$ref": "#/definitions/OperationDetails" } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "UpdateSnapshot": { - "$ref": "./examples/UpdateSnapshot.json" - }, - "UpdateSnapshot_IfMatch": { - "$ref": "./examples/UpdateSnapshot_IfMatch.json" + "Gets the state of a long running operation.": { + "$ref": "./examples/GetOperationStatus.json" } } - }, - "head": { - "tags": [ - "Snapshots" + } + }, + "/revisions": { + "get": { + "operationId": "GetRevisions", + "summary": "Gets a list of key-value revisions.", + "description": "Gets a list of key-value revisions.", + "produces": [ + "application/vnd.microsoft.appconfig.kvset+json", + "application/problem+json", + "application/json" ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckSnapshot", - "consumes": [], - "produces": [], "parameters": [ { - "name": "name", - "in": "path", - "description": "The name of the key-value snapshot to check.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "key", + "in": "query", + "description": "A filter used to match keys. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapirevisions", + "required": false, + "type": "string" }, { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", + "name": "label", + "in": "query", + "description": "A filter used to match labels. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapirevisions", + "required": false, "type": "string" }, { - "name": "If-None-Match", + "name": "Sync-Token", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - }, - "Link": { - "description": "Includes links to related resources.", - "type": "string" - } - } - }, - "default": { - "description": "Error response." - } - }, - "x-ms-examples": { - "CheckSnapshot": { - "$ref": "./examples/CheckSnapshot.json" - }, - "CheckSnapshot_IfMatch": { - "$ref": "./examples/CheckSnapshot_IfMatch.json" + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, - "CheckSnapshot_IfNoneMatch": { - "$ref": "./examples/CheckSnapshot_IfNoneMatch.json" - } - } - } - }, - "/labels": { - "get": { - "tags": [ - "Labels" - ], - "summary": "Gets a list of labels.", - "operationId": "GetLabels", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.labelset+json", - "application/problem+json" - ], - "parameters": [ { - "name": "name", + "name": "After", "in": "query", - "description": "A filter for the name of the returned labels.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { - "$ref": "#/parameters/ApiVersion" + "name": "Accept-Datetime", + "in": "header", + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" }, { - "name": "After", + "name": "$Select", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "name": "tags", + "in": "query", + "description": "A filter used to query by tags. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapirevisions", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, { - "$ref": "#/parameters/LabelFields" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/LabelListResult" + "$ref": "#/definitions/KeyValueListResult" }, "headers": { + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.kvset+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } + }, + "ETag": { + "type": "string", + "description": "A value representing the current state of the resource." + }, "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetLabels": { - "$ref": "./examples/GetLabels.json" + "Gets a list of key-value revisions.": { + "$ref": "./examples/GetRevisions.json" } }, "x-ms-pageable": { - "itemName": "items", "nextLinkName": "@nextLink" } }, "head": { - "tags": [ - "Labels" - ], + "operationId": "CheckRevisions", "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckLabels", - "consumes": [], - "produces": [], + "description": "Requests the headers and status of the given resource.", "parameters": [ { - "name": "name", + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "key", "in": "query", - "description": "A filter for the name of the returned labels.", + "description": "A filter used to match keys. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapirevisions", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" + "name": "label", + "in": "query", + "description": "A filter used to match labels. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapirevisions", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { "name": "After", "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { "name": "Accept-Datetime", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Requests the server to respond with the state of the resource at the specified\ntime.", + "required": false, + "type": "string", + "x-ms-client-name": "acceptDatetime" + }, + { + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" + }, + { + "name": "tags", + "in": "query", + "description": "A filter used to query by tags. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapirevisions", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, { - "$ref": "#/parameters/LabelFields" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "headers": { + "ETag": { + "type": "string", + "description": "A value representing the current state of the resource." + }, "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response." + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-ms-examples": { - "CheckLabels": { - "$ref": "./examples/CheckLabels.json" + "Requests the headers and status of the given resource.": { + "$ref": "./examples/CheckRevisions.json" } } } }, - "/locks/{key}": { - "put": { - "tags": [ - "Locks" - ], - "summary": "Locks a key-value.", - "operationId": "PutLock", - "consumes": [], + "/snapshots": { + "get": { + "operationId": "GetSnapshots", + "summary": "Gets a list of key-value snapshots.", + "description": "Gets a list of key-value snapshots.", "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" + "application/vnd.microsoft.appconfig.snapshotset+json", + "application/problem+json", + "application/json" ], "parameters": [ { - "name": "key", - "in": "path", - "description": "The key of the key-value to lock.", - "required": true, - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "name": "label", + "name": "name", "in": "query", - "description": "The label, if any, of the key-value to lock.", + "description": "A filter for the name of the returned snapshots.", + "required": false, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" + "name": "After", + "in": "query", + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { - "$ref": "#/parameters/ApiVersion" + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "name", + "status", + "filters", + "composition_type", + "created", + "expires", + "retention_period", + "size", + "items_count", + "tags", + "etag" + ], + "x-ms-enum": { + "name": "SnapshotFields", + "modelAsString": true, + "values": [ + { + "name": "name", + "value": "name", + "description": "Name field." + }, + { + "name": "status", + "value": "status", + "description": "Status field." + }, + { + "name": "filters", + "value": "filters", + "description": "Filters field." + }, + { + "name": "composition_type", + "value": "composition_type", + "description": "Composition type field." + }, + { + "name": "created", + "value": "created", + "description": "Created field." + }, + { + "name": "expires", + "value": "expires", + "description": "Expires field." + }, + { + "name": "retention_period", + "value": "retention_period", + "description": "Retention period field." + }, + { + "name": "size", + "value": "size", + "description": "Size field." + }, + { + "name": "items_count", + "value": "items_count", + "description": "Items count field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "name": "status", + "in": "query", + "description": "Used to filter returned snapshots by their status property.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "provisioning", + "ready", + "archived", + "failed" + ], + "x-ms-enum": { + "name": "SnapshotStatus", + "modelAsString": true, + "values": [ + { + "name": "provisioning", + "value": "provisioning", + "description": "Provisioning" + }, + { + "name": "ready", + "value": "ready", + "description": "Ready" + }, + { + "name": "archived", + "value": "archived", + "description": "Archived" + }, + { + "name": "failed", + "value": "failed", + "description": "Failed" + } + ] + } + }, + "collectionFormat": "csv" }, { - "name": "If-None-Match", + "name": "Sync-Token", "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/KeyValue" + "$ref": "#/definitions/SnapshotListResult" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.snapshotset+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "PutLock": { - "$ref": "./examples/PutLock.json" - }, - "PutLock_IfMatch": { - "$ref": "./examples/PutLock_IfMatch.json" + "Gets a list of key-value snapshots.": { + "$ref": "./examples/GetSnapshots.json" } + }, + "x-ms-pageable": { + "nextLinkName": "@nextLink" } }, - "delete": { - "tags": [ - "Locks" - ], - "summary": "Unlocks a key-value.", - "operationId": "DeleteLock", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], + "head": { + "operationId": "CheckSnapshots", + "summary": "Requests the headers and status of the given resource.", + "description": "Requests the headers and status of the given resource.", "parameters": [ { - "name": "key", - "in": "path", - "description": "The key of the key-value to unlock.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label, if any, of the key-value to unlock.", - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" + "name": "After", + "in": "query", + "description": "Instructs the server to return elements that appear after the element referred\nto by the specified token.", + "required": false, + "type": "string", + "x-ms-client-name": "after" }, { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValue" - }, + "description": "The request has succeeded.", "headers": { "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "DeleteLock": { - "$ref": "./examples/DeleteLock.json" - }, - "DeleteLock_IfMatch": { - "$ref": "./examples/DeleteLock_IfMatch.json" + "Requests the headers and status of the given resource.": { + "$ref": "./examples/CheckSnapshots.json" } } } }, - "/revisions": { + "/snapshots/{name}": { "get": { - "tags": [ - "Revisions" - ], - "summary": "Gets a list of key-value revisions.", - "operationId": "GetRevisions", - "consumes": [], + "operationId": "GetSnapshot", + "summary": "Gets a single key-value snapshot.", + "description": "Gets a single key-value snapshot.", "produces": [ - "application/vnd.microsoft.appconfig.kvset+json", - "application/problem+json" + "application/vnd.microsoft.appconfig.snapshot+json", + "application/problem+json", + "application/json" ], "parameters": [ { - "name": "key", - "in": "query", - "description": "A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions", - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "name": "label", - "in": "query", - "description": "A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions", + "name": "name", + "in": "path", + "description": "The name of the snapshot.", + "required": true, "type": "string" }, { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" + "name": "$Select", + "in": "query", + "description": "Used to select what fields are present in the returned resource(s).", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "name", + "status", + "filters", + "composition_type", + "created", + "expires", + "retention_period", + "size", + "items_count", + "tags", + "etag" + ], + "x-ms-enum": { + "name": "SnapshotFields", + "modelAsString": true, + "values": [ + { + "name": "name", + "value": "name", + "description": "Name field." + }, + { + "name": "status", + "value": "status", + "description": "Status field." + }, + { + "name": "filters", + "value": "filters", + "description": "Filters field." + }, + { + "name": "composition_type", + "value": "composition_type", + "description": "Composition type field." + }, + { + "name": "created", + "value": "created", + "description": "Created field." + }, + { + "name": "expires", + "value": "expires", + "description": "Expires field." + }, + { + "name": "retention_period", + "value": "retention_period", + "description": "Retention period field." + }, + { + "name": "size", + "value": "size", + "description": "Size field." + }, + { + "name": "items_count", + "value": "items_count", + "description": "Items count field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] + } + }, + "collectionFormat": "csv", + "x-ms-client-name": "select" }, { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { - "name": "Accept-Datetime", + "name": "If-Match", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { - "$ref": "#/parameters/KeyValueFields" + "name": "If-None-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" }, { - "name": "tags", - "in": "query", - "description": "A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions", - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "uniqueItems": true + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", "schema": { - "$ref": "#/definitions/KeyValueListResult" + "$ref": "#/definitions/Snapshot" }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.snapshot+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Link": { + "type": "string", + "description": "Includes links to related resources." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." + }, + "x-ms-client-request-id": { + "type": "string", + "format": "uuid", + "description": "An opaque, globally-unique, client-generated string identifier for the request." } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetRevisions": { - "$ref": "./examples/GetRevisions.json" + "Gets a single key-value snapshot failed.": { + "$ref": "./examples/GetSnapshot_Failed.json" + }, + "Gets a single key-value snapshot using If-Match header.": { + "$ref": "./examples/GetSnapshot_IfMatch.json" + }, + "Gets a single key-value snapshot using If-None-Match header.": { + "$ref": "./examples/GetSnapshot_IfNoneMatch.json" + }, + "Gets a single key-value snapshot.": { + "$ref": "./examples/GetSnapshot.json" } - }, - "x-ms-pageable": { - "itemName": "items", - "nextLinkName": "@nextLink" } }, - "head": { - "tags": [ - "Revisions" + "put": { + "operationId": "CreateSnapshot", + "summary": "Creates a key-value snapshot.", + "description": "Creates a key-value snapshot.", + "produces": [ + "application/vnd.microsoft.appconfig.snapshot+json", + "application/problem+json", + "application/json" + ], + "consumes": [ + "application/vnd.microsoft.appconfig.snapshot+json", + "application/json" ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckRevisions", - "consumes": [], - "produces": [], "parameters": [ { - "name": "key", - "in": "query", - "description": "A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions", - "type": "string" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "name": "label", - "in": "query", - "description": "A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions", - "type": "string" + "name": "name", + "in": "path", + "description": "The name of the key-value snapshot to create.", + "required": true, + "type": "string", + "maxLength": 256 + }, + { + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { - "$ref": "#/parameters/SyncTokens" + "name": "entity", + "in": "body", + "description": "The key-value snapshot to create.", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + ], + "responses": { + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "headers": { + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.snapshot+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } + }, + "ETag": { + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Link": { + "type": "string", + "description": "Includes links to related resources." + }, + "Operation-Location": { + "type": "string", + "format": "uri", + "description": "The location for monitoring the operation state." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." + } + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Creates a key-value snapshot.": { + "$ref": "./examples/CreateSnapshot.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "UpdateSnapshot", + "summary": "Updates the state of a key-value snapshot.", + "description": "Updates the state of a key-value snapshot.", + "produces": [ + "application/vnd.microsoft.appconfig.snapshot+json", + "application/problem+json", + "application/json" + ], + "consumes": [ + "application/merge-patch+json", + "application/json" + ], + "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", + "name": "name", + "in": "path", + "description": "The name of the key-value snapshot to update.", + "required": true, "type": "string" }, { - "name": "Accept-Datetime", + "name": "Sync-Token", "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" }, { - "$ref": "#/parameters/KeyValueFields" + "name": "If-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" }, { - "name": "tags", - "in": "query", - "description": "A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions", - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "uniqueItems": true + "name": "If-None-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" + }, + { + "name": "entity", + "in": "body", + "description": "The parameters used to update the snapshot.", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotUpdateParameters" + } } ], "responses": { "200": { - "description": "Success", + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Snapshot" + }, "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" + "Content-Type": { + "type": "string", + "description": "Content-Type header", + "enum": [ + "application/vnd.microsoft.appconfig.snapshot+json", + "application/problem+json" + ], + "x-ms-enum": { + "modelAsString": false + } }, "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Link": { + "type": "string", + "description": "Includes links to related resources." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." } } }, "default": { - "description": "Error response." + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Error" + } } }, "x-ms-examples": { - "CheckRevisions": { - "$ref": "./examples/CheckRevisions.json" + "Updates the state of a key-value snapshot using the If-Match header.": { + "$ref": "./examples/UpdateSnapshot_IfMatch.json" + }, + "Updates the state of a key-value snapshot.": { + "$ref": "./examples/UpdateSnapshot.json" } } - } - }, - "/operations": { - "get": { - "tags": [ - "Operations" - ], - "summary": "Gets the state of a long running operation.", - "operationId": "GetOperationDetails", - "consumes": [], - "produces": [ - "application/json" - ], + }, + "head": { + "operationId": "CheckSnapshot", + "summary": "Requests the headers and status of the given resource.", + "description": "Requests the headers and status of the given resource.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { - "name": "snapshot", - "in": "query", - "description": "Snapshot identifier for the long running operation.", + "name": "name", + "in": "path", + "description": "The name of the key-value snapshot to check.", "required": true, "type": "string" + }, + { + "name": "Sync-Token", + "in": "header", + "description": "Used to guarantee real-time consistency between requests.", + "required": false, + "type": "string", + "x-ms-client-name": "syncToken" + }, + { + "name": "If-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag matches the\nvalue provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "If-None-Match", + "in": "header", + "description": "Used to perform an operation only if the targeted resource's etag does not\nmatch the value provided.", + "required": false, + "type": "string", + "x-ms-client-name": "ifNoneMatch" + }, + { + "$ref": "#/parameters/Azure.Core.ClientRequestIdHeader" } ], "responses": { "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/OperationDetails" + "description": "The request has succeeded.", + "headers": { + "ETag": { + "type": "string", + "description": "A value representing the current state of the resource." + }, + "Link": { + "type": "string", + "description": "Includes links to related resources." + }, + "Sync-Token": { + "type": "string", + "description": "Used to guarantee real-time consistency between requests." + } } }, "default": { - "description": "Error response describing why the operation failed", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Error" } } }, "x-ms-examples": { - "GetOperationStatus": { - "$ref": "./examples/GetOperationStatus.json" + "Requests the headers and status of the given resource using If-Match header.": { + "$ref": "./examples/CheckSnapshot_IfMatch.json" + }, + "Requests the headers and status of the given resource using If-None-Match header": { + "$ref": "./examples/CheckSnapshot_IfNoneMatch.json" + }, + "Requests the headers and status of the given resource.": { + "$ref": "./examples/CheckSnapshot.json" } } } } }, "definitions": { - "Key": { + "Azure.Core.Foundations.Error": { "type": "object", + "description": "The error object.", "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the key." - } - } - }, - "KeyValue": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "The key of the key-value." - }, - "label": { - "type": "string", - "description": "The label the key-value belongs to." - }, - "content_type": { + "code": { "type": "string", - "description": "The content type of the value stored within the key-value." + "description": "One of a server-defined set of error codes." }, - "value": { + "message": { "type": "string", - "description": "The value of the key-value." + "description": "A human-readable representation of the error." }, - "last_modified": { - "format": "date-time", + "target": { "type": "string", - "description": "A date representing the last time the key-value was modified." + "description": "The target of the error." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" }, - "description": "The tags of the key-value" - }, - "locked": { - "type": "boolean", - "description": "Indicates whether the key-value is locked." + "x-ms-identifiers": [] }, - "etag": { - "type": "string", - "description": "A value representing the current state of the resource." + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." } - } + }, + "required": [ + "code", + "message" + ] }, - "Snapshot": { + "Azure.Core.Foundations.InnerError": { "type": "object", - "required": [ - "filters" - ], + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", "properties": { - "name": { - "description": "The name of the snapshot.", + "code": { "type": "string", - "readOnly": true + "description": "One of a server-defined set of error codes." }, - "status": { - "description": "The current status of the snapshot.", - "type": "string", - "enum": [ - "provisioning", - "ready", - "archived", - "failed" - ], - "x-ms-enum": { - "name": "SnapshotStatus", - "modelAsString": true + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." + } + } + }, + "Azure.Core.Foundations.OperationState": { + "type": "string", + "description": "Enum describing allowed operation states.", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationState", + "modelAsString": true, + "values": [ + { + "name": "NotStarted", + "value": "NotStarted", + "description": "The operation has not started." }, - "readOnly": true - }, - "filters": { - "description": "A list of filters used to filter the key-values included in the snapshot.", - "type": "array", - "minItems": 1, - "maxItems": 3, - "items": { - "$ref": "#/definitions/KeyValueFilter" + { + "name": "Running", + "value": "Running", + "description": "The operation is in progress." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The operation has completed successfully." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The operation has failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "The operation has been canceled by the user." } - }, - "composition_type": { - "description": "The composition type describes how the key-values within the snapshot are composed. The 'key' composition type ensures there are no two key-values containing the same key. The 'key_label' composition type ensures there are no two key-values containing the same key and label.", - "type": "string", - "enum": [ - "key", - "key_label" - ], - "x-ms-enum": { - "name": "CompositionType", - "modelAsString": true + ] + } + }, + "CompositionType": { + "type": "string", + "description": "Composition types.", + "enum": [ + "key", + "key_label" + ], + "x-ms-enum": { + "name": "CompositionType", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "The 'key' composition type." + }, + { + "name": "key_label", + "value": "key_label", + "description": "The 'key_label' composition type." } + ] + } + }, + "Error": { + "type": "object", + "description": "Azure App Configuration error object.", + "properties": { + "type": { + "type": "string", + "description": "The type of the error." }, - "created": { - "description": "The time that the snapshot was created.", - "format": "date-time", + "title": { "type": "string", - "readOnly": true + "description": "A brief summary of the error." }, - "expires": { - "description": "The time that the snapshot will expire.", - "format": "date-time", + "name": { "type": "string", - "readOnly": true + "description": "The name of the parameter that resulted in the error." }, - "retention_period": { - "description": "The amount of time, in seconds, that a snapshot will remain in the archived state before expiring. This property is only writable during the creation of a snapshot. If not specified, the default lifetime of key-value revisions will be used.", - "type": "integer", - "minimum": 3600, - "maximum": 7776000, - "format": "int64" + "detail": { + "type": "string", + "description": "A detailed description of the error." }, - "size": { - "description": "The size in bytes of the snapshot.", + "status": { "type": "integer", - "format": "int64", + "format": "int32", + "description": "The HTTP status code that the error maps to." + } + } + }, + "Key": { + "type": "object", + "description": "Keys serve as identifiers for key-values and are used to store and retrieve corresponding values.", + "properties": { + "name": { + "type": "string", + "description": "The name of the key.", "readOnly": true + } + }, + "required": [ + "name" + ] + }, + "KeyListResult": { + "type": "object", + "description": "The result of a list request.", + "properties": { + "items": { + "type": "array", + "description": "The collection value.", + "items": { + "$ref": "#/definitions/Key" + }, + "x-ms-identifiers": [] }, - "items_count": { - "description": "The amount of key-values in the snapshot.", - "type": "integer", - "format": "int64", + "@nextLink": { + "type": "string", + "description": "The URI that can be used to request the next set of paged results." + } + } + }, + "KeyValue": { + "type": "object", + "description": "A key-value pair representing application settings.", + "properties": { + "key": { + "type": "string", + "description": "The key of the key-value.", "readOnly": true }, + "label": { + "type": "string", + "description": "The label the key-value belongs to." + }, + "content_type": { + "type": "string", + "description": "The content type of the value stored within the key-value.", + "x-ms-client-name": "contentType" + }, + "value": { + "type": "string", + "description": "The value of the key-value." + }, + "last_modified": { + "type": "string", + "format": "date-time", + "description": "A date representing the last time the key-value was modified.", + "x-ms-client-name": "lastModified" + }, "tags": { - "description": "The tags of the snapshot.", "type": "object", + "description": "The tags of the key-value", "additionalProperties": { "type": "string" } }, + "locked": { + "type": "boolean", + "description": "Indicates whether the key-value is locked." + }, "etag": { - "description": "A value representing the current state of the snapshot.", "type": "string", - "readOnly": true + "description": "A value representing the current state of the resource." } + }, + "required": [ + "key" + ] + }, + "KeyValueFields": { + "type": "string", + "description": "Key-value fields.", + "enum": [ + "key", + "label", + "content_type", + "value", + "last_modified", + "tags", + "locked", + "etag" + ], + "x-ms-enum": { + "name": "KeyValueFields", + "modelAsString": true, + "values": [ + { + "name": "key", + "value": "key", + "description": "Key field." + }, + { + "name": "label", + "value": "label", + "description": "Label field." + }, + { + "name": "content_type", + "value": "content_type", + "description": "Content type field." + }, + { + "name": "value", + "value": "value", + "description": "Value field." + }, + { + "name": "last_modified", + "value": "last_modified", + "description": "Last modified field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "locked", + "value": "locked", + "description": "Locked field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] } }, "KeyValueFilter": { - "description": "Enables filtering of key-values. Syntax reference: https://aka.ms/azconfig/docs/restapisnapshots", "type": "object", - "required": [ - "key" - ], + "description": "Enables filtering of key-values. Syntax reference:\nhttps://aka.ms/azconfig/docs/restapisnapshots", "properties": { "key": { - "description": "Filters key-values by their key field.", - "type": "string" + "type": "string", + "description": "Filters key-values by their key field." }, "label": { - "description": "Filters key-values by their label field.", - "type": "string" + "type": "string", + "description": "Filters key-values by their label field." }, "tags": { - "description": "Filters key-values by their tags field.", "type": "array", + "description": "Filters key-values by their tags field.", "items": { "type": "string" - }, - "uniqueItems": true - } - } - }, - "SnapshotUpdateParameters": { - "description": "Parameters used to update a snapshot.", - "type": "object", - "properties": { - "status": { - "description": "The desired status of the snapshot.", - "type": "string", - "enum": [ - "provisioning", - "ready", - "archived", - "failed" - ], - "x-ms-enum": { - "name": "SnapshotStatus", - "modelAsString": true } } - } + }, + "required": [ + "key" + ] }, - "SnapshotListResult": { - "description": "The result of a snapshot list request.", + "KeyValueListResult": { "type": "object", + "description": "The result of a list request.", "properties": { "items": { - "description": "The collection value.", "type": "array", + "description": "The collection value.", "items": { - "$ref": "#/definitions/Snapshot" - } + "$ref": "#/definitions/KeyValue" + }, + "x-ms-identifiers": [] + }, + "etag": { + "type": "string", + "description": "An identifier representing the returned state of the resource." }, "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" + "type": "string", + "description": "The URI that can be used to request the next set of paged results." } } }, "Label": { "type": "object", + "description": "Labels are used to group key-values.", "properties": { "name": { "type": "string", - "readOnly": true, "description": "The name of the label." } } }, - "Error": { - "description": "Azure App Configuration error object.", + "LabelFields": { + "type": "string", + "description": "Label fields.", + "enum": [ + "name" + ], + "x-ms-enum": { + "name": "LabelFields", + "modelAsString": true, + "values": [ + { + "name": "name", + "value": "name", + "description": "Name field." + } + ] + } + }, + "LabelListResult": { "type": "object", + "description": "The result of a list request.", "properties": { - "type": { - "description": "The type of the error.", - "type": "string" - }, - "title": { - "description": "A brief summary of the error.", - "type": "string" - }, - "name": { - "description": "The name of the parameter that resulted in the error.", - "type": "string" - }, - "detail": { - "description": "A detailed description of the error.", - "type": "string" + "items": { + "type": "array", + "description": "The collection value.", + "items": { + "$ref": "#/definitions/Label" + }, + "x-ms-identifiers": [] }, - "status": { - "description": "The HTTP status code that the error maps to.", - "type": "integer" + "@nextLink": { + "type": "string", + "description": "The URI that can be used to request the next set of paged results." } - }, - "readOnly": true + } }, "OperationDetails": { - "description": "Details of a long running operation.", "type": "object", + "description": "Details of a long running operation.", "properties": { "id": { - "description": "The unique id of the operation.", - "type": "string" + "type": "string", + "description": "The unique id of the operation." }, "status": { - "description": "The current status of the operation", - "enum": [ - "NotStarted", - "Running", - "Succeeded", - "Failed", - "Canceled" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": false, - "name": "State" - } + "$ref": "#/definitions/Azure.Core.Foundations.OperationState", + "description": "The current status of the operation" }, "error": { - "description": "An error, available when the status is `Failed`, describing why the operation failed.", - "$ref": "#/definitions/ErrorDetail" + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "An error, available when the status is `Failed`, describing why the operation\nfailed." } }, "required": [ @@ -1901,255 +3081,249 @@ "status" ] }, - "ErrorDetail": { - "description": "The details of an error.", + "Snapshot": { "type": "object", + "description": "A snapshot is a named, immutable subset of an App Configuration store's key-values.", "properties": { - "code": { - "description": "One of a server-defined set of error codes.", - "type": "string" + "name": { + "type": "string", + "description": "The name of the snapshot.", + "readOnly": true }, - "message": { - "description": "A human-readable representation of the error.", - "type": "string" + "status": { + "$ref": "#/definitions/SnapshotStatus", + "description": "The current status of the snapshot.", + "readOnly": true }, - "details": { - "description": "An array of details about specific errors that led to this reported error.", + "filters": { "type": "array", + "description": "A list of filters used to filter the key-values included in the snapshot.", + "minItems": 1, + "maxItems": 3, "items": { - "$ref": "#/definitions/ErrorDetail" + "$ref": "#/definitions/KeyValueFilter" + }, + "x-ms-identifiers": [] + }, + "composition_type": { + "$ref": "#/definitions/CompositionType", + "description": "The composition type describes how the key-values within the snapshot are\ncomposed. The 'key' composition type ensures there are no two key-values\ncontaining the same key. The 'key_label' composition type ensures there are no\ntwo key-values containing the same key and label.", + "x-ms-client-name": "compositionType" + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The time that the snapshot was created.", + "readOnly": true + }, + "expires": { + "type": "string", + "format": "date-time", + "description": "The time that the snapshot will expire.", + "readOnly": true + }, + "retention_period": { + "type": "integer", + "format": "int64", + "description": "The amount of time, in seconds, that a snapshot will remain in the archived\nstate before expiring. This property is only writable during the creation of a\nsnapshot. If not specified, the default lifetime of key-value revisions will be\nused.", + "minimum": 3600, + "maximum": 7776000, + "x-ms-client-name": "retentionPeriod" + }, + "size": { + "type": "integer", + "format": "int64", + "description": "The size in bytes of the snapshot.", + "readOnly": true + }, + "items_count": { + "type": "integer", + "format": "int64", + "description": "The amount of key-values in the snapshot.", + "readOnly": true, + "x-ms-client-name": "itemsCount" + }, + "tags": { + "type": "object", + "description": "The tags of the snapshot.", + "additionalProperties": { + "type": "string" } }, - "innererror": { - "description": "An object containing more specific information than the current object about the error.", - "$ref": "#/definitions/InnerError" + "etag": { + "type": "string", + "description": "A value representing the current state of the snapshot.", + "readOnly": true } }, "required": [ - "code", - "message" + "name", + "filters" ] }, - "InnerError": { - "description": "An object containing specific information about an error.", - "type": "object", - "properties": { - "code": { - "description": "One of a server-defined set of error codes.", - "type": "string" - }, - "innererror": { - "description": "An object containing more specific information than the current object about the error.", - "$ref": "#/definitions/InnerError" - } + "SnapshotFields": { + "type": "string", + "description": "Snapshot fields.", + "enum": [ + "name", + "status", + "filters", + "composition_type", + "created", + "expires", + "retention_period", + "size", + "items_count", + "tags", + "etag" + ], + "x-ms-enum": { + "name": "SnapshotFields", + "modelAsString": true, + "values": [ + { + "name": "name", + "value": "name", + "description": "Name field." + }, + { + "name": "status", + "value": "status", + "description": "Status field." + }, + { + "name": "filters", + "value": "filters", + "description": "Filters field." + }, + { + "name": "composition_type", + "value": "composition_type", + "description": "Composition type field." + }, + { + "name": "created", + "value": "created", + "description": "Created field." + }, + { + "name": "expires", + "value": "expires", + "description": "Expires field." + }, + { + "name": "retention_period", + "value": "retention_period", + "description": "Retention period field." + }, + { + "name": "size", + "value": "size", + "description": "Size field." + }, + { + "name": "items_count", + "value": "items_count", + "description": "Items count field." + }, + { + "name": "tags", + "value": "tags", + "description": "Tags field." + }, + { + "name": "etag", + "value": "etag", + "description": "Etag field." + } + ] } }, - "KeyListResult": { - "description": "The result of a list request.", + "SnapshotListResult": { "type": "object", + "description": "The result of a snapshot list request.", "properties": { "items": { - "description": "The collection value.", "type": "array", + "description": "The collection value.", "items": { - "$ref": "#/definitions/Key" - } + "$ref": "#/definitions/Snapshot" + }, + "x-ms-identifiers": [] }, "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" + "type": "string", + "description": "The URI that can be used to request the next set of paged results." } } }, - "KeyValueListResult": { - "description": "The result of a list request.", - "type": "object", - "properties": { - "items": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/KeyValue" + "SnapshotStatus": { + "type": "string", + "description": "Snapshot status.", + "enum": [ + "provisioning", + "ready", + "archived", + "failed" + ], + "x-ms-enum": { + "name": "SnapshotStatus", + "modelAsString": true, + "values": [ + { + "name": "provisioning", + "value": "provisioning", + "description": "Provisioning" + }, + { + "name": "ready", + "value": "ready", + "description": "Ready" + }, + { + "name": "archived", + "value": "archived", + "description": "Archived" + }, + { + "name": "failed", + "value": "failed", + "description": "Failed" } - }, - "etag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - }, - "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" - } + ] } }, - "LabelListResult": { - "description": "The result of a list request.", + "SnapshotUpdateParameters": { "type": "object", + "description": "Parameters used to update a snapshot.", "properties": { - "items": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/Label" - } - }, - "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" + "status": { + "$ref": "#/definitions/SnapshotStatus", + "description": "The desired status of the snapshot." } } } }, "parameters": { - "SyncTokens": { - "name": "Sync-Token", + "Azure.Core.ClientRequestIdHeader": { + "name": "x-ms-client-request-id", "in": "header", - "description": "Used to guarantee real-time consistency between requests.", - "type": "string" + "description": "An opaque, globally-unique, client-generated string identifier for the request.", + "required": false, + "type": "string", + "format": "uuid", + "x-ms-parameter-location": "method", + "x-ms-client-name": "clientRequestId" }, - "ApiVersion": { + "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", - "description": "The API version to be used with the HTTP request.", - "required": true, - "type": "string" - }, - "Endpoint": { - "name": "endpoint", - "in": "path", - "description": "The endpoint of the App Configuration instance to send requests to.", + "description": "The API version to use for this operation.", "required": true, "type": "string", - "x-ms-skip-url-encoding": true, - "x-ms-parameter-location": "client" - }, - "KeyValueFields": { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ], - "x-ms-enum": { - "name": "KeyValueFields", - "modelAsString": true - } - }, - "x-ms-parameter-location": "method", - "collectionFormat": "csv" - }, - "LabelFields": { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "name" - ], - "x-ms-enum": { - "name": "LabelFields", - "modelAsString": true - } - }, - "x-ms-parameter-location": "method", - "collectionFormat": "csv" - }, - "SnapshotFields": { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "name", - "status", - "filters", - "composition_type", - "created", - "expires", - "retention_period", - "size", - "items_count", - "tags", - "etag" - ], - "x-ms-enum": { - "name": "SnapshotFields", - "modelAsString": true - } - }, + "minLength": 1, "x-ms-parameter-location": "method", - "collectionFormat": "csv" - }, - "Status": { - "name": "status", - "in": "query", - "description": "Used to filter returned snapshots by their status property.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "provisioning", - "ready", - "archived", - "failed" - ], - "x-ms-enum": { - "name": "SnapshotStatus", - "modelAsString": true - } - }, - "x-ms-parameter-location": "method", - "collectionFormat": "csv" - } - }, - "x-ms-parameterized-host": { - "hostTemplate": "{endpoint}", - "useSchemePrefix": false, - "parameters": [ - { - "$ref": "#/parameters/Endpoint" - } - ] - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "Impersonate your user account" - } - }, - "connection_string": { - "type": "apiKey", - "description": "Connection string secret used to connect to an App Config resource.", - "name": "Connection String", - "in": "header" - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - }, - { - "connection_string": [] + "x-ms-client-name": "apiVersion" } - ] + } } diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue.json index a3af8261868a..ee7894cccf21 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeyValue", + "title": "Requests the headers and status of the given resource.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfMatch.json index e236d826de42..60bfcc2d08da 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeyValue", + "title": "Requests the headers and status of the given resource using the If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfNoneMatch.json index 7a06191f92e7..99c734d49a33 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfNoneMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValue_IfNoneMatch.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeyValue", + "title": "Requests the headers and status of the given resource using the If-None-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues.json index 60b803bf9edc..dbb838dd401c 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeyValues", + "title": "Requests the headers and status of the given resource.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfMatch.json index 1b136c6f864d..5db8e75168ca 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeyValues", + "title": "Requests the headers and status of the given resource using the If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfNoneMatch.json index 5b7b42b9f190..d75ff972ef92 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfNoneMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeyValues_IfNoneMatch.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeyValues", + "title": "Requests the headers and status of the given resource using the If-None-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeys.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeys.json index 4a6677901824..6bd0ec2c707b 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeys.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckKeys.json @@ -1,4 +1,6 @@ { + "operationId": "CheckKeys", + "title": "Check keys", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckLabels.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckLabels.json index c27caab12c3e..402f3629ee66 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckLabels.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckLabels.json @@ -1,4 +1,6 @@ { + "operationId": "CheckLabels", + "title": "Requests the headers and status of the given resource.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckRevisions.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckRevisions.json index 60b803bf9edc..040d308b5173 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckRevisions.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckRevisions.json @@ -1,4 +1,6 @@ { + "operationId": "CheckRevisions", + "title": "Requests the headers and status of the given resource.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot.json index e0a996f437d2..45b5ee0815f5 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot.json @@ -1,4 +1,6 @@ { + "operationId": "CheckSnapshot", + "title": "Requests the headers and status of the given resource.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfMatch.json index b188e007f680..2dcbba03f108 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "CheckSnapshot", + "title": "Requests the headers and status of the given resource using If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfNoneMatch.json index 853413fad2f9..f2e9a483a329 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfNoneMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshot_IfNoneMatch.json @@ -1,4 +1,6 @@ { + "operationId": "CheckSnapshot", + "title": "Requests the headers and status of the given resource using If-None-Match header", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshots.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshots.json index 608158a5a34c..c295f1e37314 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshots.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CheckSnapshots.json @@ -1,4 +1,6 @@ { + "operationId": "CheckSnapshots", + "title": "Requests the headers and status of the given resource.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CreateSnapshot.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CreateSnapshot.json index 4130358934d4..8a901985a616 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CreateSnapshot.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/CreateSnapshot.json @@ -1,4 +1,6 @@ { + "operationId": "CreateSnapshot", + "title": "Creates a key-value snapshot.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue.json index 2af024fd2b1d..e31901058239 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue.json @@ -1,4 +1,6 @@ { + "operationId": "DeleteKeyValue", + "title": "Deletes a key-value.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue_IfMatch.json index c7aba1acb5e1..8b6116880786 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteKeyValue_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "DeleteKeyValue", + "title": "Deletes a key-value using If-Match header", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock.json index 2bb2d4d4ef3b..2d997b00baff 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock.json @@ -1,4 +1,6 @@ { + "operationId": "DeleteLock", + "title": "Unlocks a key-value.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock_IfMatch.json index b158324164bc..25e5e3d0b23f 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/DeleteLock_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "DeleteLock", + "title": "Unlocks a key-value using If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue.json index fb3590c8f455..ec851c13dd77 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeyValue", + "title": "Gets a single key-value.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfMatch.json index b158324164bc..2fbf97a49407 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeyValue", + "title": "Gets a single key-value using the If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfNoneMatch.json index 096d2dee44cd..57bdb584920c 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfNoneMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValue_IfNoneMatch.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeyValue", + "title": "Gets a single key-value using the If-None-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues.json index c29013b81461..911f05352447 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeyValues", + "title": "Gets a list of key-values.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfMatch.json index 814d472d03db..82dc74b81d45 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeyValues", + "title": "Gets a list of key-values using the If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfNoneMatch.json index 56704382b3ef..f519472e16c8 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfNoneMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeyValues_IfNoneMatch.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeyValues", + "title": "Gets a list of key-values using the If-None-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeys.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeys.json index 550a4a16d8c8..00c45cb68a1b 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeys.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetKeys.json @@ -1,4 +1,6 @@ { + "operationId": "GetKeys", + "title": "Gets a list of keys.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetLabels.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetLabels.json index 58404cfa7f8e..0f6f42799cab 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetLabels.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetLabels.json @@ -1,4 +1,6 @@ { + "operationId": "GetLabels", + "title": "Gets a list of labels.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetOperationStatus.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetOperationStatus.json index cd77079dbcc8..643a4fec5266 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetOperationStatus.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetOperationStatus.json @@ -1,4 +1,6 @@ { + "operationId": "GetOperationDetails", + "title": "Gets the state of a long running operation.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetRevisions.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetRevisions.json index 8794c5e018cc..5f7e4bdc38aa 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetRevisions.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetRevisions.json @@ -1,4 +1,6 @@ { + "operationId": "GetRevisions", + "title": "Gets a list of key-value revisions.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot.json index 9ebab00f8b64..a4b30a2cc158 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot.json @@ -1,4 +1,6 @@ { + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_Failed.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_Failed.json index 846f0263a2f4..da289081f774 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_Failed.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_Failed.json @@ -1,4 +1,6 @@ { + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot failed.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfMatch.json index 168770489b61..8e439ed98164 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot using If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfNoneMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfNoneMatch.json index f41a48eddacd..bdef0b0ee8fd 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfNoneMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshot_IfNoneMatch.json @@ -1,4 +1,6 @@ { + "operationId": "GetSnapshot", + "title": "Gets a single key-value snapshot using If-None-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshots.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshots.json index cf374b994cae..8d4c30aedc3f 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshots.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/GetSnapshots.json @@ -1,4 +1,6 @@ { + "operationId": "GetSnapshots", + "title": "Gets a list of key-value snapshots.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue.json index c55b5809a287..9634ca1604ed 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue.json @@ -1,4 +1,6 @@ { + "operationId": "PutKeyValue", + "title": "Creates a key-value.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue_IfMatch.json index b158324164bc..ef082889c6dc 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutKeyValue_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "PutKeyValue", + "title": "Creates a key-value with the If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock.json index 4a1e14f0cc9f..b7f2ef43b7f8 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock.json @@ -1,4 +1,6 @@ { + "operationId": "PutLock", + "title": "Locks a key-value.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock_IfMatch.json index 750cd9cdeb71..212b860b0ea5 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/PutLock_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "PutLock", + "title": "Locks a key-value using If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot.json index 5deff7db6ee1..08b11ecfb5dd 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot.json @@ -1,4 +1,6 @@ { + "operationId": "UpdateSnapshot", + "title": "Updates the state of a key-value snapshot.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01", diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot_IfMatch.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot_IfMatch.json index 73a43d3c5b51..f486b374084f 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot_IfMatch.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/examples/UpdateSnapshot_IfMatch.json @@ -1,4 +1,6 @@ { + "operationId": "UpdateSnapshot", + "title": "Updates the state of a key-value snapshot using the If-Match header.", "parameters": { "endpoint": "https://{exampleAppConfigurationName}.azconfig.io", "api-version": "2023-11-01",