From d2870a72a04edc2f11c338bc9b27d97baf142807 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 7 Oct 2024 09:10:27 -0700
Subject: [PATCH 01/27] Bump bicep-types from `ebba845` to `96b34cb` (#7971)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [bicep-types](https://github.com/Azure/bicep-types) from `ebba845`
to `96b34cb`.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
bicep-types | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bicep-types b/bicep-types
index ebba845d4f7..96b34cbb749 160000
--- a/bicep-types
+++ b/bicep-types
@@ -1 +1 @@
-Subproject commit ebba845d4f7f20d4b8518460beed54b2cb970136
+Subproject commit 96b34cbb749f791c2b5b72f83d448568942aeb27
From 3829f35cff2a5984d3f4ee3d05a873bb44413e7f Mon Sep 17 00:00:00 2001
From: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Date: Mon, 7 Oct 2024 15:55:00 -0400
Subject: [PATCH 02/27] Fix compiler and test failures with latest version of
sigs.k8s.io/controller-runtime (#7979)
# Description
A [recent
change](https://github.com/kubernetes-sigs/controller-runtime/pull/2903)
to the
[`controller-runtime`](https://github.com/kubernetes-sigs/controller-runtime/)
package caused Radius compilation errors and test failures, as
referenced in #7882. Breaking changes in `controller-runtime` include
the removal of a configuration option, and a new validation that
prevents duplicate controller names. This PR makes changes to update the
packages referenced, fix the compilation errors, and address the test
failures.
Changes include:
- Updates to `go.mod` and `go.sum`.
- Fixed compiler errors by moving the warning suppression configuration
from the `controller-runtime/pkg/client` options to
`client-go/rest/Config`, as required by the changes in
`controller-runtime`.
- Fixed broken tests by adding the `SkipNameValidation` configuration
parameter to unit tests for creating new controllers.
- Some refactoring of commonly shared test functions and constants in
`cli/controller/reconciler` into `shared-test.go`.
> NOTE: The compilation fix in this PR did not change the behavior of
the `rad` cli--only the tests were changed. The assumption is that `rad`
does not ever create controllers with duplicate names, so suppressing
the duplicate controller name validation is not necessary, even though
it is necessary in the automated tests.
## Type of change
- This pull request fixes a bug in Radius and has an approved issue
(issue link required).
Fixes: #7882
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
---------
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
---
.devcontainer/contributor/devcontainer.json | 2 +-
.github/workflows/lint.yaml | 2 +-
.github/workflows/publish-docs.yaml | 2 +-
build/generate.mk | 4 +-
.../Chart/crds/radius/radapp.io_recipes.yaml | 5 +-
.../crds/ucpd/ucp.dev_queuemessages.yaml | 2 +-
deploy/Chart/crds/ucpd/ucp.dev_resources.yaml | 2 +-
.../contributing-code-prerequisites/README.md | 2 +-
go.mod | 46 +++---
go.sum | 100 ++++++------
.../reconciler/deployment_reconciler_test.go | 39 +----
.../reconciler/recipe_reconciler_test.go | 104 +------------
pkg/controller/reconciler/shared_test.go | 142 ++++++++++++++++++
pkg/ucp/dataprovider/factory.go | 9 +-
pkg/ucp/queue/provider/factory.go | 9 +-
15 files changed, 246 insertions(+), 224 deletions(-)
diff --git a/.devcontainer/contributor/devcontainer.json b/.devcontainer/contributor/devcontainer.json
index c7aff433109..e61f5b8ece5 100644
--- a/.devcontainer/contributor/devcontainer.json
+++ b/.devcontainer/contributor/devcontainer.json
@@ -43,7 +43,7 @@
},
// Prerequisite for Code Generation, see https://github.com/radius-project/radius/tree/main/docs/contributing/contributing-code/contributing-code-prerequisites#code-generation
// Adding workspace as safe directory to avoid permission issues
- "postCreateCommand": "git config --global --add safe.directory /workspaces/radius && cd typespec && npm ci && npm install -g autorest && npm install -g oav && go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0 && go install go.uber.org/mock/mockgen@v0.4.0",
+ "postCreateCommand": "git config --global --add safe.directory /workspaces/radius && cd typespec && npm ci && npm install -g autorest && npm install -g oav && go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0 && go install go.uber.org/mock/mockgen@v0.4.0",
"hostRequirements": {
"memory": "8gb"
},
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 92a93db06e4..017b50f0450 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -59,7 +59,7 @@ jobs:
- name: Install mockgen
run: go install go.uber.org/mock/mockgen@v0.4.0
- name: Install controller-gen
- run: go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0
+ run: go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0
- name: Install helm
uses: azure/setup-helm@v4
with:
diff --git a/.github/workflows/publish-docs.yaml b/.github/workflows/publish-docs.yaml
index 696ec72d058..50f5593cb3b 100644
--- a/.github/workflows/publish-docs.yaml
+++ b/.github/workflows/publish-docs.yaml
@@ -73,7 +73,7 @@ jobs:
- name: Install controller-gen
run: |
cd radius
- go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0
+ go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0
# Generate Bicep docs
- name: Generate Bicep docs
run: |
diff --git a/build/generate.mk b/build/generate.mk
index 51996e3aec8..b466729df8e 100644
--- a/build/generate.mk
+++ b/build/generate.mk
@@ -29,7 +29,7 @@ generate: generate-genericcliclient generate-rad-corerp-client generate-rad-data
.PHONY: generate-tsp-installed
generate-tsp-installed:
@echo "$(ARROW) Detecting tsp..."
- cd typespec/ && npx$(CMD_EXT) -q tsp --help > /dev/null || { echo "run 'npm ci' in typespec directory."; exit 1; }
+ cd typespec/ && npx$(CMD_EXT) -q -y tsp --help > /dev/null || { echo "run 'npm ci' in typespec directory."; exit 1; }
@echo "$(ARROW) OK"
.PHONY: generate-openapi-spec
@@ -56,7 +56,7 @@ generate-autorest-installed:
.PHONY: generate-controller-gen-installed
generate-controller-gen-installed:
@echo "$(ARROW) Detecting controller-gen..."
- @which controller-gen > /dev/null || { echo "run 'go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0'"; exit 1; }
+ @which controller-gen > /dev/null || { echo "run 'go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0'"; exit 1; }
@echo "$(ARROW) OK"
.PHONY: generate-ucp-crd
diff --git a/deploy/Chart/crds/radius/radapp.io_recipes.yaml b/deploy/Chart/crds/radius/radapp.io_recipes.yaml
index f271618bc9c..fb2bf92974a 100644
--- a/deploy/Chart/crds/radius/radapp.io_recipes.yaml
+++ b/deploy/Chart/crds/radius/radapp.io_recipes.yaml
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
+ controller-gen.kubebuilder.io/version: v0.16.0
name: recipes.radapp.io
spec:
group: radapp.io
@@ -72,6 +72,8 @@ spec:
type:
description: 'Type is the type of resource to create. eg: ''Applications.Datastores/redisCaches''.'
type: string
+ required:
+ - type
type: object
status:
description: RecipeStatus defines the observed state of Recipe
@@ -126,7 +128,6 @@ spec:
the event) or if no container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some well-defined way of
referencing a part of an object.
- TODO: this design is not final and this field is subject to change in the future.
type: string
kind:
description: |-
diff --git a/deploy/Chart/crds/ucpd/ucp.dev_queuemessages.yaml b/deploy/Chart/crds/ucpd/ucp.dev_queuemessages.yaml
index 9d48ce89d56..03dda2fcd1d 100644
--- a/deploy/Chart/crds/ucpd/ucp.dev_queuemessages.yaml
+++ b/deploy/Chart/crds/ucpd/ucp.dev_queuemessages.yaml
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
+ controller-gen.kubebuilder.io/version: v0.16.0
name: queuemessages.ucp.dev
spec:
group: ucp.dev
diff --git a/deploy/Chart/crds/ucpd/ucp.dev_resources.yaml b/deploy/Chart/crds/ucpd/ucp.dev_resources.yaml
index 405eb4041d0..d4ab40029de 100644
--- a/deploy/Chart/crds/ucpd/ucp.dev_resources.yaml
+++ b/deploy/Chart/crds/ucpd/ucp.dev_resources.yaml
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.15.0
+ controller-gen.kubebuilder.io/version: v0.16.0
name: resources.ucp.dev
spec:
group: ucp.dev
diff --git a/docs/contributing/contributing-code/contributing-code-prerequisites/README.md b/docs/contributing/contributing-code/contributing-code-prerequisites/README.md
index 128c1cd9e71..ccf9677e4a0 100644
--- a/docs/contributing/contributing-code/contributing-code-prerequisites/README.md
+++ b/docs/contributing/contributing-code/contributing-code-prerequisites/README.md
@@ -182,6 +182,6 @@ Enter the following commands to install all of the required tools.
cd typespec && npm ci
npm install -g autorest
npm install -g oav
-go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0
+go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0
go install go.uber.org/mock/mockgen@v0.4.0
```
diff --git a/go.mod b/go.mod
index 4e6a0a51326..05be41b8e57 100644
--- a/go.mod
+++ b/go.mod
@@ -58,7 +58,7 @@ require (
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.0
github.com/projectcontour/contour v1.29.0
- github.com/prometheus/client_golang v1.20.2
+ github.com/prometheus/client_golang v1.20.4
github.com/spaolacci/murmur3 v1.1.0
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
@@ -82,17 +82,17 @@ require (
go.uber.org/mock v0.4.0
go.uber.org/zap v1.27.0
golang.org/x/sync v0.8.0
- golang.org/x/text v0.18.0
+ golang.org/x/text v0.19.0
gopkg.in/yaml.v3 v3.0.1
helm.sh/helm/v3 v3.15.4
- k8s.io/api v0.30.3
- k8s.io/apiextensions-apiserver v0.30.3
- k8s.io/apimachinery v0.30.3
- k8s.io/cli-runtime v0.30.3
- k8s.io/client-go v0.30.3
- k8s.io/kubectl v0.30.3
+ k8s.io/api v0.31.1
+ k8s.io/apiextensions-apiserver v0.31.1
+ k8s.io/apimachinery v0.31.1
+ k8s.io/cli-runtime v0.31.1
+ k8s.io/client-go v0.31.1
+ k8s.io/kubectl v0.31.1
oras.land/oras-go/v2 v2.5.0
- sigs.k8s.io/controller-runtime v0.18.2
+ sigs.k8s.io/controller-runtime v0.19.0
sigs.k8s.io/secrets-store-csi-driver v1.4.5
)
@@ -122,6 +122,7 @@ require (
github.com/distribution/reference v0.6.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
+ github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.5.0 // indirect
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
@@ -150,11 +151,12 @@ require (
github.com/tidwall/pretty v1.2.1 // indirect
github.com/tidwall/sjson v1.2.5 // indirect
github.com/ulikunitz/xz v0.5.12 // indirect
+ github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.mongodb.org/mongo-driver v1.15.1 // indirect
go.opencensus.io v0.24.0 // indirect
- golang.org/x/tools v0.22.0 // indirect
+ golang.org/x/tools v0.25.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/api v0.185.0 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
@@ -248,7 +250,7 @@ require (
github.com/jonboulle/clockwork v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
- github.com/klauspost/compress v1.17.9 // indirect
+ github.com/klauspost/compress v1.17.10 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
@@ -282,7 +284,7 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
- github.com/prometheus/common v0.55.0 // indirect
+ github.com/prometheus/common v0.60.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rubenv/sql-migrate v1.6.1 // indirect
@@ -314,13 +316,13 @@ require (
go.starlark.net v0.0.0-20240520160348-046347dcd104 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.27.0 // indirect
- golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8
- golang.org/x/mod v0.19.0 // indirect
- golang.org/x/net v0.27.0 // indirect
- golang.org/x/oauth2 v0.21.0 // indirect
- golang.org/x/sys v0.25.0 // indirect
+ golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
+ golang.org/x/mod v0.21.0 // indirect
+ golang.org/x/net v0.29.0 // indirect
+ golang.org/x/oauth2 v0.23.0 // indirect
+ golang.org/x/sys v0.26.0 // indirect
golang.org/x/term v0.24.0 // indirect
- golang.org/x/time v0.5.0 // indirect
+ golang.org/x/time v0.7.0 // indirect
google.golang.org/genproto v0.0.0-20240624140628-dc46fd24d27d // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240624140628-dc46fd24d27d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
@@ -330,11 +332,11 @@ require (
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
- k8s.io/apiserver v0.30.3 // indirect
- k8s.io/component-base v0.30.3 // indirect
+ k8s.io/apiserver v0.31.1 // indirect
+ k8s.io/component-base v0.31.1 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
- k8s.io/kube-openapi v0.0.0-20240620174524-b456828f718b // indirect
- k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
+ k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 // indirect
+ k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 // indirect
oras.land/oras-go v1.2.5 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/kustomize/api v0.17.2 // indirect
diff --git a/go.sum b/go.sum
index 2ff9af74517..42678684c94 100644
--- a/go.sum
+++ b/go.sum
@@ -469,6 +469,8 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
+github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
+github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
github.com/gabriel-vasile/mimetype v1.4.4 h1:QjV6pZ7/XZ7ryI2KuyeEDE8wnh7fHP9YnQy+R0LnH8I=
github.com/gabriel-vasile/mimetype v1.4.4/go.mod h1:JwLei5XPtWdGiMFB5Pjle1oEeoSeEuJfJE+TtfvdB/s=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -636,8 +638,8 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe
github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg=
-github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
@@ -763,8 +765,8 @@ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
-github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
-github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
+github.com/klauspost/compress v1.17.10 h1:oXAz+Vh0PMUvJczoi+flxpnBEPxoER1IaAnU/NMPtT0=
+github.com/klauspost/compress v1.17.10/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -858,8 +860,8 @@ github.com/novln/docker-parser v1.0.0/go.mod h1:oCeM32fsoUwkwByB5wVjsrsVQySzPWkl
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
-github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU=
-github.com/onsi/ginkgo/v2 v2.17.3/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc=
+github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
+github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
@@ -893,8 +895,8 @@ github.com/projectcontour/contour v1.29.0/go.mod h1:C5FDDAhjhDK4CufMdysPfYexIznt
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
-github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg=
-github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI=
+github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -902,8 +904,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
-github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
-github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA=
+github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
@@ -998,6 +1000,8 @@ github.com/vippsas/go-cosmosdb v0.0.0-20230118095602-f4e4b9f1c352 h1:N4BwZihfs9z
github.com/vippsas/go-cosmosdb v0.0.0-20230118095602-f4e4b9f1c352/go.mod h1:MC5grluKkU7tz2VMDXi7AOj2N4spGFebM5w//g2WpyU=
github.com/wI2L/jsondiff v0.6.0 h1:zrsH3FbfVa3JO9llxrcDy/XLkYPLgoMX6Mz3T2PP2AI=
github.com/wI2L/jsondiff v0.6.0/go.mod h1:D6aQ5gKgPF9g17j+E9N7aasmU1O+XvfmWm1y8UMmNpw=
+github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
+github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
@@ -1120,8 +1124,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY=
-golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
+golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
+golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -1148,8 +1152,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
-golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
+golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1203,8 +1207,8 @@ golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfS
golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
-golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys=
-golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
+golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
+golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1230,8 +1234,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri
golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A=
-golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
-golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
+golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1323,8 +1327,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
+golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -1341,13 +1345,13 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
-golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
+golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
-golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
+golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
+golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -1403,8 +1407,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
-golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
+golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
+golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1677,28 +1681,28 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-k8s.io/api v0.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ=
-k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04=
-k8s.io/apiextensions-apiserver v0.30.3 h1:oChu5li2vsZHx2IvnGP3ah8Nj3KyqG3kRSaKmijhB9U=
-k8s.io/apiextensions-apiserver v0.30.3/go.mod h1:uhXxYDkMAvl6CJw4lrDN4CPbONkF3+XL9cacCT44kV4=
-k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
-k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
-k8s.io/apiserver v0.30.3 h1:QZJndA9k2MjFqpnyYv/PH+9PE0SHhx3hBho4X0vE65g=
-k8s.io/apiserver v0.30.3/go.mod h1:6Oa88y1CZqnzetd2JdepO0UXzQX4ZnOekx2/PtEjrOg=
-k8s.io/cli-runtime v0.30.3 h1:aG69oRzJuP2Q4o8dm+f5WJIX4ZBEwrvdID0+MXyUY6k=
-k8s.io/cli-runtime v0.30.3/go.mod h1:hwrrRdd9P84CXSKzhHxrOivAR9BRnkMt0OeP5mj7X30=
-k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
-k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
-k8s.io/component-base v0.30.3 h1:Ci0UqKWf4oiwy8hr1+E3dsnliKnkMLZMVbWzeorlk7s=
-k8s.io/component-base v0.30.3/go.mod h1:C1SshT3rGPCuNtBs14RmVD2xW0EhRSeLvBh7AGk1quA=
+k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
+k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
+k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
+k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
+k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
+k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
+k8s.io/apiserver v0.31.1 h1:Sars5ejQDCRBY5f7R3QFHdqN3s61nhkpaX8/k1iEw1c=
+k8s.io/apiserver v0.31.1/go.mod h1:lzDhpeToamVZJmmFlaLwdYZwd7zB+WYRYIboqA1kGxM=
+k8s.io/cli-runtime v0.31.1 h1:/ZmKhmZ6hNqDM+yf9s3Y4KEYakNXUn5sod2LWGGwCuk=
+k8s.io/cli-runtime v0.31.1/go.mod h1:pKv1cDIaq7ehWGuXQ+A//1OIF+7DI+xudXtExMCbe9U=
+k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
+k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
+k8s.io/component-base v0.31.1 h1:UpOepcrX3rQ3ab5NB6g5iP0tvsgJWzxTyAo20sgYSy8=
+k8s.io/component-base v0.31.1/go.mod h1:WGeaw7t/kTsqpVTaCoVEtillbqAhF2/JgvO0LDOMa0w=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
-k8s.io/kube-openapi v0.0.0-20240620174524-b456828f718b h1:Q9xmGWBvOGd8UJyccgpYlLosk/JlfP3xQLNkQlHJeXw=
-k8s.io/kube-openapi v0.0.0-20240620174524-b456828f718b/go.mod h1:UxDHUPsUwTOOxSU+oXURfFBcAS6JwiRXTYqYwfuGowc=
-k8s.io/kubectl v0.30.3 h1:YIBBvMdTW0xcDpmrOBzcpUVsn+zOgjMYIu7kAq+yqiI=
-k8s.io/kubectl v0.30.3/go.mod h1:IcR0I9RN2+zzTRUa1BzZCm4oM0NLOawE6RzlDvd1Fpo=
-k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
-k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 h1:1dWzkmJrrprYvjGwh9kEUxmcUV/CtNU8QM7h1FLWQOo=
+k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38/go.mod h1:coRQXBK9NxO98XUv3ZD6AK3xzHCxV6+b7lrquKwaKzA=
+k8s.io/kubectl v0.31.1 h1:ih4JQJHxsEggFqDJEHSOdJ69ZxZftgeZvYo7M/cpp24=
+k8s.io/kubectl v0.31.1/go.mod h1:aNuQoR43W6MLAtXQ/Bu4GDmoHlbhHKuyD49lmTC8eJM=
+k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 h1:MDF6h2H/h4tbzmtIKTuctcwZmY0tY9mD9fNT47QO6HI=
+k8s.io/utils v0.0.0-20240921022957-49e7df575cb6/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo=
oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo=
oras.land/oras-go/v2 v2.5.0 h1:o8Me9kLY74Vp5uw07QXPiitjsw7qNXi8Twd+19Zf02c=
@@ -1706,8 +1710,8 @@ oras.land/oras-go/v2 v2.5.0/go.mod h1:z4eisnLP530vwIOUOJeBIj0aGI0L1C3d53atvCBqZH
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/controller-runtime v0.18.2 h1:RqVW6Kpeaji67CY5nPEfRz6ZfFMk0lWQlNrLqlNpx+Q=
-sigs.k8s.io/controller-runtime v0.18.2/go.mod h1:tuAt1+wbVsXIT8lPtk5RURxqAnq7xkpv2Mhttslg7Hw=
+sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q=
+sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g=
diff --git a/pkg/controller/reconciler/deployment_reconciler_test.go b/pkg/controller/reconciler/deployment_reconciler_test.go
index dd1233f23af..68e6a597f61 100644
--- a/pkg/controller/reconciler/deployment_reconciler_test.go
+++ b/pkg/controller/reconciler/deployment_reconciler_test.go
@@ -33,10 +33,10 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
+ crconfig "sigs.k8s.io/controller-runtime/pkg/config"
"sigs.k8s.io/controller-runtime/pkg/metrics/server"
)
@@ -62,6 +62,9 @@ func SetupDeploymentTest(t *testing.T) (*mockRadiusClient, client.Client) {
mgr, err := ctrl.NewManager(config, ctrl.Options{
Scheme: scheme,
+ Controller: crconfig.Controller{
+ SkipNameValidation: boolPtr(true),
+ },
// Suppress metrics in tests to avoid conflicts.
Metrics: server.Options{
@@ -74,7 +77,7 @@ func SetupDeploymentTest(t *testing.T) (*mockRadiusClient, client.Client) {
err = (&DeploymentReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
- EventRecorder: mgr.GetEventRecorderFor("recipe-controller"),
+ EventRecorder: mgr.GetEventRecorderFor("deployment-controller"),
Radius: radius,
DelayInterval: deploymentTestControllerDelayInterval,
}).SetupWithManager(mgr)
@@ -540,38 +543,6 @@ func Test_DeploymentReconciler_RadiusDisabled_ThenRadiusDisabled(t *testing.T) {
)
}
-func makeDeployment(name types.NamespacedName) *appsv1.Deployment {
- return &appsv1.Deployment{
- ObjectMeta: metav1.ObjectMeta{
- Name: name.Name,
- Namespace: name.Namespace,
- Annotations: map[string]string{},
- },
- Spec: appsv1.DeploymentSpec{
- Selector: &metav1.LabelSelector{
- MatchLabels: map[string]string{
- "app": name.Name,
- },
- },
- Template: corev1.PodTemplateSpec{
- ObjectMeta: metav1.ObjectMeta{
- Labels: map[string]string{
- "app": name.Name,
- },
- },
- Spec: corev1.PodSpec{
- Containers: []corev1.Container{
- {
- Name: name.Name,
- Image: "nginx:latest",
- },
- },
- },
- },
- },
- }
-}
-
func waitForStateWaiting(t *testing.T, client client.Client, name types.NamespacedName) *deploymentAnnotations {
ctx := testcontext.New(t)
diff --git a/pkg/controller/reconciler/recipe_reconciler_test.go b/pkg/controller/reconciler/recipe_reconciler_test.go
index 8d2415421cd..d403829a45a 100644
--- a/pkg/controller/reconciler/recipe_reconciler_test.go
+++ b/pkg/controller/reconciler/recipe_reconciler_test.go
@@ -19,28 +19,19 @@ package reconciler
import (
"errors"
"testing"
- "time"
"github.com/radius-project/radius/pkg/cli/clients_new/generated"
- radappiov1alpha3 "github.com/radius-project/radius/pkg/controller/api/radapp.io/v1alpha3"
"github.com/radius-project/radius/test/testcontext"
-
- "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/types"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
+ crconfig "sigs.k8s.io/controller-runtime/pkg/config"
"sigs.k8s.io/controller-runtime/pkg/metrics/server"
)
-const (
- recipeTestWaitDuration = time.Second * 10
- recipeTestWaitInterval = time.Second * 1
- recipeTestControllerDelayInterval = time.Millisecond * 100
-)
-
func SetupRecipeTest(t *testing.T) (*mockRadiusClient, client.Client) {
SkipWithoutEnvironment(t)
@@ -57,6 +48,9 @@ func SetupRecipeTest(t *testing.T) (*mockRadiusClient, client.Client) {
mgr, err := ctrl.NewManager(config, ctrl.Options{
Scheme: scheme,
+ Controller: crconfig.Controller{
+ SkipNameValidation: boolPtr(true),
+ },
// Suppress metrics in tests to avoid conflicts.
Metrics: server.Options{
@@ -353,93 +347,3 @@ func Test_RecipeReconciler_WithSecret(t *testing.T) {
require.Error(t, err)
require.True(t, apierrors.IsNotFound(err))
}
-
-func waitForRecipeStateUpdating(t *testing.T, client client.Client, name types.NamespacedName, oldOperation *radappiov1alpha3.ResourceOperation) *radappiov1alpha3.RecipeStatus {
- ctx := testcontext.New(t)
-
- logger := t
- status := &radappiov1alpha3.RecipeStatus{}
- require.EventuallyWithT(t, func(t *assert.CollectT) {
- logger.Logf("Fetching Recipe: %+v", name)
- current := &radappiov1alpha3.Recipe{}
- err := client.Get(ctx, name, current)
- require.NoError(t, err)
-
- status = ¤t.Status
- logger.Logf("Recipe.Status: %+v", current.Status)
- assert.Equal(t, status.ObservedGeneration, current.Generation, "Status is not updated")
-
- if assert.Equal(t, radappiov1alpha3.PhraseUpdating, current.Status.Phrase) {
- assert.NotEmpty(t, current.Status.Operation)
- assert.NotEqual(t, oldOperation, current.Status.Operation)
- }
-
- }, recipeTestWaitDuration, recipeTestWaitInterval, "failed to enter updating state")
-
- return status
-}
-
-func waitForRecipeStateReady(t *testing.T, client client.Client, name types.NamespacedName) *radappiov1alpha3.RecipeStatus {
- ctx := testcontext.New(t)
-
- logger := t
- status := &radappiov1alpha3.RecipeStatus{}
- require.EventuallyWithTf(t, func(t *assert.CollectT) {
- logger.Logf("Fetching Recipe: %+v", name)
- current := &radappiov1alpha3.Recipe{}
- err := client.Get(ctx, name, current)
- require.NoError(t, err)
-
- status = ¤t.Status
- logger.Logf("Recipe.Status: %+v", current.Status)
- assert.Equal(t, status.ObservedGeneration, current.Generation, "Status is not updated")
-
- if assert.Equal(t, radappiov1alpha3.PhraseReady, current.Status.Phrase) {
- assert.Empty(t, current.Status.Operation)
- }
- }, recipeTestWaitDuration, recipeTestWaitInterval, "failed to enter updating state")
-
- return status
-}
-
-func waitForRecipeStateDeleting(t *testing.T, client client.Client, name types.NamespacedName, oldOperation *radappiov1alpha3.ResourceOperation) *radappiov1alpha3.RecipeStatus {
- ctx := testcontext.New(t)
-
- logger := t
- status := &radappiov1alpha3.RecipeStatus{}
- require.EventuallyWithTf(t, func(t *assert.CollectT) {
- logger.Logf("Fetching Recipe: %+v", name)
- current := &radappiov1alpha3.Recipe{}
- err := client.Get(ctx, name, current)
- assert.NoError(t, err)
-
- status = ¤t.Status
- logger.Logf("Recipe.Status: %+v", current.Status)
- assert.Equal(t, status.ObservedGeneration, current.Generation, "Status is not updated")
-
- if assert.Equal(t, radappiov1alpha3.PhraseDeleting, current.Status.Phrase) {
- assert.NotEmpty(t, current.Status.Operation)
- assert.NotEqual(t, oldOperation, current.Status.Operation)
- }
- }, recipeTestWaitDuration, recipeTestWaitInterval, "failed to enter deleting state")
-
- return status
-}
-
-func waitForRecipeDeleted(t *testing.T, client client.Client, name types.NamespacedName) {
- ctx := testcontext.New(t)
-
- logger := t
- require.Eventuallyf(t, func() bool {
- logger.Logf("Fetching Recipe: %+v", name)
- current := &radappiov1alpha3.Recipe{}
- err := client.Get(ctx, name, current)
- if apierrors.IsNotFound(err) {
- return true
- }
-
- logger.Logf("Recipe.Status: %+v", current.Status)
- return false
-
- }, recipeTestWaitDuration, recipeTestWaitInterval, "recipe still exists")
-}
diff --git a/pkg/controller/reconciler/shared_test.go b/pkg/controller/reconciler/shared_test.go
index 2f1e6ecc6cc..fee8540702e 100644
--- a/pkg/controller/reconciler/shared_test.go
+++ b/pkg/controller/reconciler/shared_test.go
@@ -18,13 +18,29 @@ package reconciler
import (
"fmt"
+ "testing"
+ "time"
v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
radappiov1alpha3 "github.com/radius-project/radius/pkg/controller/api/radapp.io/v1alpha3"
"github.com/radius-project/radius/pkg/corerp/api/v20231001preview"
"github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/test/testcontext"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ appsv1 "k8s.io/api/apps/v1"
+ corev1 "k8s.io/api/core/v1"
+ apierrors "k8s.io/apimachinery/pkg/api/errors"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
ctrl "sigs.k8s.io/controller-runtime"
+ "sigs.k8s.io/controller-runtime/pkg/client"
+)
+
+const (
+ recipeTestWaitDuration = time.Second * 10
+ recipeTestWaitInterval = time.Second * 1
+ recipeTestControllerDelayInterval = time.Millisecond * 100
)
func createEnvironment(radius *mockRadiusClient, name string) {
@@ -49,3 +65,129 @@ func makeRecipe(name types.NamespacedName, resourceType string) *radappiov1alpha
},
}
}
+
+func waitForRecipeStateUpdating(t *testing.T, client client.Client, name types.NamespacedName, oldOperation *radappiov1alpha3.ResourceOperation) *radappiov1alpha3.RecipeStatus {
+ ctx := testcontext.New(t)
+
+ logger := t
+ status := &radappiov1alpha3.RecipeStatus{}
+ require.EventuallyWithT(t, func(t *assert.CollectT) {
+ logger.Logf("Fetching Recipe: %+v", name)
+ current := &radappiov1alpha3.Recipe{}
+ err := client.Get(ctx, name, current)
+ require.NoError(t, err)
+
+ status = ¤t.Status
+ logger.Logf("Recipe.Status: %+v", current.Status)
+ assert.Equal(t, status.ObservedGeneration, current.Generation, "Status is not updated")
+
+ if assert.Equal(t, radappiov1alpha3.PhraseUpdating, current.Status.Phrase) {
+ assert.NotEmpty(t, current.Status.Operation)
+ assert.NotEqual(t, oldOperation, current.Status.Operation)
+ }
+
+ }, recipeTestWaitDuration, recipeTestWaitInterval, "failed to enter updating state")
+
+ return status
+}
+
+func waitForRecipeStateReady(t *testing.T, client client.Client, name types.NamespacedName) *radappiov1alpha3.RecipeStatus {
+ ctx := testcontext.New(t)
+
+ logger := t
+ status := &radappiov1alpha3.RecipeStatus{}
+ require.EventuallyWithTf(t, func(t *assert.CollectT) {
+ logger.Logf("Fetching Recipe: %+v", name)
+ current := &radappiov1alpha3.Recipe{}
+ err := client.Get(ctx, name, current)
+ require.NoError(t, err)
+
+ status = ¤t.Status
+ logger.Logf("Recipe.Status: %+v", current.Status)
+ assert.Equal(t, status.ObservedGeneration, current.Generation, "Status is not updated")
+
+ if assert.Equal(t, radappiov1alpha3.PhraseReady, current.Status.Phrase) {
+ assert.Empty(t, current.Status.Operation)
+ }
+ }, recipeTestWaitDuration, recipeTestWaitInterval, "failed to enter updating state")
+
+ return status
+}
+
+func waitForRecipeStateDeleting(t *testing.T, client client.Client, name types.NamespacedName, oldOperation *radappiov1alpha3.ResourceOperation) *radappiov1alpha3.RecipeStatus {
+ ctx := testcontext.New(t)
+
+ logger := t
+ status := &radappiov1alpha3.RecipeStatus{}
+ require.EventuallyWithTf(t, func(t *assert.CollectT) {
+ logger.Logf("Fetching Recipe: %+v", name)
+ current := &radappiov1alpha3.Recipe{}
+ err := client.Get(ctx, name, current)
+ assert.NoError(t, err)
+
+ status = ¤t.Status
+ logger.Logf("Recipe.Status: %+v", current.Status)
+ assert.Equal(t, status.ObservedGeneration, current.Generation, "Status is not updated")
+
+ if assert.Equal(t, radappiov1alpha3.PhraseDeleting, current.Status.Phrase) {
+ assert.NotEmpty(t, current.Status.Operation)
+ assert.NotEqual(t, oldOperation, current.Status.Operation)
+ }
+ }, recipeTestWaitDuration, recipeTestWaitInterval, "failed to enter deleting state")
+
+ return status
+}
+
+func waitForRecipeDeleted(t *testing.T, client client.Client, name types.NamespacedName) {
+ ctx := testcontext.New(t)
+
+ logger := t
+ require.Eventuallyf(t, func() bool {
+ logger.Logf("Fetching Recipe: %+v", name)
+ current := &radappiov1alpha3.Recipe{}
+ err := client.Get(ctx, name, current)
+ if apierrors.IsNotFound(err) {
+ return true
+ }
+
+ logger.Logf("Recipe.Status: %+v", current.Status)
+ return false
+
+ }, recipeTestWaitDuration, recipeTestWaitInterval, "recipe still exists")
+}
+
+func makeDeployment(name types.NamespacedName) *appsv1.Deployment {
+ return &appsv1.Deployment{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: name.Name,
+ Namespace: name.Namespace,
+ Annotations: map[string]string{},
+ },
+ Spec: appsv1.DeploymentSpec{
+ Selector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "app": name.Name,
+ },
+ },
+ Template: corev1.PodTemplateSpec{
+ ObjectMeta: metav1.ObjectMeta{
+ Labels: map[string]string{
+ "app": name.Name,
+ },
+ },
+ Spec: corev1.PodSpec{
+ Containers: []corev1.Container{
+ {
+ Name: name.Name,
+ Image: "nginx:latest",
+ },
+ },
+ },
+ },
+ },
+ }
+}
+
+func boolPtr(b bool) *bool {
+ return &b
+}
diff --git a/pkg/ucp/dataprovider/factory.go b/pkg/ucp/dataprovider/factory.go
index e7026b6b6b1..14696633fcc 100644
--- a/pkg/ucp/dataprovider/factory.go
+++ b/pkg/ucp/dataprovider/factory.go
@@ -32,6 +32,7 @@ import (
"github.com/radius-project/radius/pkg/ucp/store/inmemory"
"github.com/radius-project/radius/pkg/ucp/store/postgres"
"k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/client-go/rest"
runtimeclient "sigs.k8s.io/controller-runtime/pkg/client"
)
@@ -60,6 +61,9 @@ func initAPIServerClient(ctx context.Context, opt StorageProviderOptions, _ stri
return nil, err
}
+ // The client will log info the console that we don't really care about.
+ cfg.WarningHandler = rest.NoWarnings{}
+
// We only need to interact with UCP's store types.
scheme := runtime.NewScheme()
@@ -68,11 +72,6 @@ func initAPIServerClient(ctx context.Context, opt StorageProviderOptions, _ stri
options := runtimeclient.Options{
Scheme: scheme,
-
- // The client will log info the console that we don't really care about.
- WarningHandler: runtimeclient.WarningHandlerOptions{
- SuppressWarnings: true,
- },
}
rc, err := runtimeclient.New(cfg, options)
diff --git a/pkg/ucp/queue/provider/factory.go b/pkg/ucp/queue/provider/factory.go
index d3e9b3923db..3cc87958c45 100644
--- a/pkg/ucp/queue/provider/factory.go
+++ b/pkg/ucp/queue/provider/factory.go
@@ -27,6 +27,7 @@ import (
qinmem "github.com/radius-project/radius/pkg/ucp/queue/inmemory"
ucpv1alpha1 "github.com/radius-project/radius/pkg/ucp/store/apiserverstore/api/ucp.dev/v1alpha1"
"k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/client-go/rest"
runtimeclient "sigs.k8s.io/controller-runtime/pkg/client"
)
@@ -55,6 +56,9 @@ func initAPIServer(ctx context.Context, opt QueueProviderOptions) (queue.Client,
return nil, err
}
+ // The client will log info the console that we don't really care about.
+ cfg.WarningHandler = rest.NoWarnings{}
+
// We only need to interact with UCP's store types.
scheme := runtime.NewScheme()
@@ -63,11 +67,6 @@ func initAPIServer(ctx context.Context, opt QueueProviderOptions) (queue.Client,
options := runtimeclient.Options{
Scheme: scheme,
-
- // The client will log info the console that we don't really care about.
- WarningHandler: runtimeclient.WarningHandlerOptions{
- SuppressWarnings: true,
- },
}
rc, err := runtimeclient.New(cfg, options)
From b2eb80b021abb238ae9b93496601ea665f634ccf Mon Sep 17 00:00:00 2001
From: Karishma Chawla
Date: Mon, 7 Oct 2024 21:18:05 -0700
Subject: [PATCH 03/27] Bump the all group across 1 directory with 38 updates
(#7981)
Copied over from https://github.com/radius-project/radius/pull/7980.
This is needed because original dependabot PR has conflicts now due to
the manual changes that were made in
https://github.com/radius-project/radius/pull/7979.
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 103 ++++++++++++-------------
go.sum | 239 ++++++++++++++++++++++++++-------------------------------
2 files changed, 160 insertions(+), 182 deletions(-)
diff --git a/go.mod b/go.mod
index 05be41b8e57..259dda02b56 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.22.0
require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0
- github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2-0.20240830070245-6ca9816e1c26
+ github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2 v2.2.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/msi/armmsi v1.2.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0
@@ -14,18 +14,18 @@ require (
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0
github.com/Azure/secrets-store-csi-driver-provider-azure v1.5.3
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
- github.com/agnivade/levenshtein v1.1.1
- github.com/aws/aws-sdk-go-v2 v1.30.5
- github.com/aws/aws-sdk-go-v2/config v1.27.31
- github.com/aws/aws-sdk-go-v2/credentials v1.17.30
- github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.5
- github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.5
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.0
- github.com/aws/aws-sdk-go-v2/service/ecr v1.32.4
- github.com/aws/aws-sdk-go-v2/service/sts v1.30.5
- github.com/aws/smithy-go v1.20.4
- github.com/charmbracelet/bubbles v0.19.0
- github.com/charmbracelet/bubbletea v0.27.0
+ github.com/agnivade/levenshtein v1.2.0
+ github.com/aws/aws-sdk-go-v2 v1.32.0
+ github.com/aws/aws-sdk-go-v2/config v1.27.41
+ github.com/aws/aws-sdk-go-v2/credentials v1.17.39
+ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.0
+ github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.0
+ github.com/aws/aws-sdk-go-v2/service/ec2 v1.181.0
+ github.com/aws/aws-sdk-go-v2/service/ecr v1.36.0
+ github.com/aws/aws-sdk-go-v2/service/sts v1.32.0
+ github.com/aws/smithy-go v1.22.0
+ github.com/charmbracelet/bubbles v0.20.0
+ github.com/charmbracelet/bubbletea v1.1.0
github.com/charmbracelet/lipgloss v0.13.0
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562
github.com/dimchansky/utfbom v1.1.1
@@ -42,13 +42,13 @@ require (
github.com/go-openapi/strfmt v0.23.0
github.com/go-playground/locales v0.14.1
github.com/go-playground/universal-translator v0.18.1
- github.com/go-playground/validator/v10 v10.22.0
+ github.com/go-playground/validator/v10 v10.22.1
github.com/gofrs/flock v0.12.1
github.com/google/go-cmp v0.6.0
github.com/google/uuid v1.6.0
github.com/gosuri/uilive v0.0.4
github.com/hashicorp/go-retryablehttp v0.7.7
- github.com/hashicorp/hc-install v0.8.0
+ github.com/hashicorp/hc-install v0.9.0
github.com/hashicorp/terraform-config-inspect v0.0.0-20240607080351-271db412dbcb
github.com/hashicorp/terraform-exec v0.21.0
github.com/jackc/pgx/v5 v5.7.1
@@ -57,7 +57,7 @@ require (
github.com/novln/docker-parser v1.0.0
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.0
- github.com/projectcontour/contour v1.29.0
+ github.com/projectcontour/contour v1.30.0
github.com/prometheus/client_golang v1.20.4
github.com/spaolacci/murmur3 v1.1.0
github.com/spf13/cobra v1.8.1
@@ -67,24 +67,24 @@ require (
github.com/stretchr/testify v1.9.0
github.com/vippsas/go-cosmosdb v0.0.0-20230118095602-f4e4b9f1c352
github.com/wI2L/jsondiff v0.6.0
- go.etcd.io/etcd/client/v3 v3.5.15
- go.etcd.io/etcd/server/v3 v3.5.15
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0
- go.opentelemetry.io/contrib/instrumentation/runtime v0.54.0
- go.opentelemetry.io/otel v1.29.0
- go.opentelemetry.io/otel/exporters/prometheus v0.51.0
- go.opentelemetry.io/otel/exporters/zipkin v1.29.0
- go.opentelemetry.io/otel/metric v1.29.0
- go.opentelemetry.io/otel/sdk v1.29.0
- go.opentelemetry.io/otel/sdk/metric v1.29.0
- go.opentelemetry.io/otel/trace v1.29.0
+ go.etcd.io/etcd/client/v3 v3.5.16
+ go.etcd.io/etcd/server/v3 v3.5.16
+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0
+ go.opentelemetry.io/contrib/instrumentation/runtime v0.55.0
+ go.opentelemetry.io/otel v1.30.0
+ go.opentelemetry.io/otel/exporters/prometheus v0.52.0
+ go.opentelemetry.io/otel/exporters/zipkin v1.30.0
+ go.opentelemetry.io/otel/metric v1.30.0
+ go.opentelemetry.io/otel/sdk v1.30.0
+ go.opentelemetry.io/otel/sdk/metric v1.30.0
+ go.opentelemetry.io/otel/trace v1.30.0
go.uber.org/atomic v1.11.0
go.uber.org/mock v0.4.0
go.uber.org/zap v1.27.0
golang.org/x/sync v0.8.0
golang.org/x/text v0.19.0
gopkg.in/yaml.v3 v3.0.1
- helm.sh/helm/v3 v3.15.4
+ helm.sh/helm/v3 v3.16.1
k8s.io/api v0.31.1
k8s.io/apiextensions-apiserver v0.31.1
k8s.io/apimachinery v0.31.1
@@ -103,19 +103,17 @@ require (
cloud.google.com/go/compute/metadata v0.3.0 // indirect
cloud.google.com/go/iam v1.1.8 // indirect
cloud.google.com/go/storage v1.42.0 // indirect
- dario.cat/mergo v1.0.0 // indirect
+ dario.cat/mergo v1.0.1 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/Microsoft/hcsshim v0.12.4 // indirect
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
github.com/aws/aws-sdk-go v1.54.6 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
- github.com/charmbracelet/x/ansi v0.1.4 // indirect
+ github.com/charmbracelet/x/ansi v0.2.3 // indirect
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b // indirect
- github.com/charmbracelet/x/input v0.1.2 // indirect
- github.com/charmbracelet/x/term v0.1.1 // indirect
- github.com/charmbracelet/x/windows v0.1.2 // indirect
+ github.com/charmbracelet/x/term v0.2.0 // indirect
github.com/containerd/errdefs v0.1.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/containerd/platforms v0.2.1 // indirect
@@ -153,7 +151,6 @@ require (
github.com/ulikunitz/xz v0.5.12 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
- github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.mongodb.org/mongo-driver v1.15.1 // indirect
go.opencensus.io v0.24.0 // indirect
golang.org/x/tools v0.25.0 // indirect
@@ -171,20 +168,20 @@ require (
github.com/BurntSushi/toml v1.4.0 // indirect
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
- github.com/Masterminds/semver/v3 v3.2.1 // indirect
- github.com/Masterminds/sprig/v3 v3.2.3 // indirect
+ github.com/Masterminds/semver/v3 v3.3.0 // indirect
+ github.com/Masterminds/sprig/v3 v3.3.0 // indirect
github.com/Masterminds/squirrel v1.5.4 // indirect
github.com/ProtonMail/go-crypto v1.1.0-alpha.2-proton // indirect
github.com/agext/levenshtein v1.2.3 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/atotto/clipboard v0.1.4 // indirect
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17 // indirect
+ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.15 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.19 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.19 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect
- github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.0 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sso v1.24.0 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/aymanbagabas/go-udiff v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
@@ -192,11 +189,11 @@ require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/chai2010/gettext-go v1.0.3 // indirect
github.com/cloudflare/circl v1.3.9 // indirect
- github.com/containerd/containerd v1.7.21
+ github.com/containerd/containerd v1.7.22
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
- github.com/cyphar/filepath-securejoin v0.2.5 // indirect
+ github.com/cyphar/filepath-securejoin v0.3.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
github.com/docker/cli v26.1.4+incompatible // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
@@ -287,14 +284,14 @@ require (
github.com/prometheus/common v0.60.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
- github.com/rubenv/sql-migrate v1.6.1 // indirect
+ github.com/rubenv/sql-migrate v1.7.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sahilm/fuzzy v0.1.1 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/soheilhy/cmux v0.1.5 // indirect
github.com/spf13/afero v1.11.0 // indirect
- github.com/spf13/cast v1.6.0 // indirect
+ github.com/spf13/cast v1.7.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
@@ -303,12 +300,12 @@ require (
github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 // indirect
github.com/xlab/treeprint v1.2.0 // indirect
github.com/zclconf/go-cty v1.14.4 // indirect
- go.etcd.io/bbolt v1.3.10 // indirect
- go.etcd.io/etcd/api/v3 v3.5.15 // indirect
- go.etcd.io/etcd/client/pkg/v3 v3.5.15 // indirect
- go.etcd.io/etcd/client/v2 v2.305.15 // indirect
- go.etcd.io/etcd/pkg/v3 v3.5.15 // indirect
- go.etcd.io/etcd/raft/v3 v3.5.15 // indirect
+ go.etcd.io/bbolt v1.3.11 // indirect
+ go.etcd.io/etcd/api/v3 v3.5.16 // indirect
+ go.etcd.io/etcd/client/pkg/v3 v3.5.16 // indirect
+ go.etcd.io/etcd/client/v2 v2.305.16 // indirect
+ go.etcd.io/etcd/pkg/v3 v3.5.16 // indirect
+ go.etcd.io/etcd/raft/v3 v3.5.16 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
diff --git a/go.sum b/go.sum
index 42678684c94..3965beef9b1 100644
--- a/go.sum
+++ b/go.sum
@@ -188,8 +188,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX
cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
-dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
-dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
+dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
+dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
@@ -199,8 +199,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkc
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg=
-github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2-0.20240830070245-6ca9816e1c26 h1:HGzxwqrHFRoBdHqvxLgu42dvWdamqUNQZMlyhUyw640=
-github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2-0.20240830070245-6ca9816e1c26/go.mod h1:YBEEyeg9R9FB7gz+2DNAa0gP/9kyL2GMTa+eqpF2830=
+github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2 h1:wBx10efdJcl8FSewgc41kAW4AvHPgmJZmN7fpNxn8rc=
+github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2/go.mod h1:zzmu18cpAinSbhC86oWd47nmgbb91Fl+Yac2PE8NdYk=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2 v2.2.0 h1:Hp+EScFOu9HeCbeW8WU2yQPJd4gGwhMgKxWe+G6jNzw=
@@ -239,11 +239,10 @@ github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
-github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
-github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
-github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
-github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA=
-github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
+github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0=
+github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
+github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
+github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM=
github.com/Masterminds/squirrel v1.5.4/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10=
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
@@ -260,8 +259,8 @@ github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpH
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
-github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8=
-github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo=
+github.com/agnivade/levenshtein v1.2.0 h1:U9L4IOT0Y3i0TIlUIDJ7rVUziKi/zPbrJGaFrtYH3SY=
+github.com/agnivade/levenshtein v1.2.0/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU=
github.com/alecthomas/repr v0.0.0-20181024024818-d37bc2a10ba1/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@@ -281,40 +280,40 @@ github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn
github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo=
github.com/aws/aws-sdk-go v1.54.6 h1:HEYUib3yTt8E6vxjMWM3yAq5b+qjj/6aKA62mkgux9g=
github.com/aws/aws-sdk-go v1.54.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
-github.com/aws/aws-sdk-go-v2 v1.30.5 h1:mWSRTwQAb0aLE17dSzztCVJWI9+cRMgqebndjwDyK0g=
-github.com/aws/aws-sdk-go-v2 v1.30.5/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0=
-github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI=
-github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM=
-github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q=
-github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17 h1:pI7Bzt0BJtYA0N/JEC6B8fJ4RBrEMi1LBrkMdFYNSnQ=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.17/go.mod h1:Dh5zzJYMtxfIjYW+/evjQ8uj2OyR/ve2KROHGHlSFqE=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17 h1:Mqr/V5gvrhA2gvgnF42Zh5iMiQNcOYthFYwCyrnuWlc=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.17/go.mod h1:aLJpZlCmjE+V+KtN1q1uyZkfnUWpQGpbsn89XPKyzfU=
+github.com/aws/aws-sdk-go-v2 v1.32.0 h1:GuHp7GvMN74PXD5C97KT5D87UhIy4bQPkflQKbfkndg=
+github.com/aws/aws-sdk-go-v2 v1.32.0/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
+github.com/aws/aws-sdk-go-v2/config v1.27.41 h1:esG3WpmEuNJ6F4kVFLumN8nCfA5VBav1KKb3JPx83O4=
+github.com/aws/aws-sdk-go-v2/config v1.27.41/go.mod h1:haUg09ebP+ClvPjU3EB/xe0HF9PguO19PD2fdjM2X14=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.39 h1:tmVexAhoGqJxNE2oc4/SJqL+Jz1x1iCPt5ts9XcqZCU=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.39/go.mod h1:zgOdbDI9epE608PdboJ87CYvPIejAgFevazeJW6iauQ=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.15 h1:kGjlNc2IXXcxPDcfMyCshNCjVgxUhC/vTJv7NvC9wKk=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.15/go.mod h1:rk/HmqPo+dX0Uv0Q1+4w3QKFdICEGSsTYz1hRWvH8UI=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.19 h1:Q/k5wCeJkSWs+62kDfOillkNIJ5NqmE3iOfm48g/W8c=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.19/go.mod h1:Wns1C66VvtA2Bv/cUBuKZKQKdjo7EVMhp90aAa+8oTI=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.19 h1:AYLE0lUfKvN6icFTR/p+NmD1amYKTbqHQ1Nm+jwE6BM=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.19/go.mod h1:1giLakj64GjuH1NBzF/DXqly5DWHtMTaOzRZ53nFX0I=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
-github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.5 h1:Kl55Z27pxKA6XGjnnKwPK6Um+DRZK32ocIYm1g7IOUM=
-github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.5/go.mod h1:r6W6g2+YsfTBfuvxRLvCf6xxlQRSoNTdRDGFX7noKu0=
-github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.5 h1:YeTVIy7cJLeahs7K0jQGDGAd1YYND/to/z8N3kqZBhY=
-github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.5/go.mod h1:y45SdA9v+dLlweaqwAQMoFeXqdRvgwevafa2X8iTqZQ=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.0 h1:LAdDRIj5BEZM9fLDTUWUyPzWvv5A++nCEps/RGmZNOo=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.0/go.mod h1:ISODge3zgdwOEa4Ou6WM9PKbxJWJ15DYKnr2bfmCAIA=
-github.com/aws/aws-sdk-go-v2/service/ecr v1.32.4 h1:nQAU2Yr+afkAvIV39mg7LrNYFNQP7ShwbmiJqx2fUKA=
-github.com/aws/aws-sdk-go-v2/service/ecr v1.32.4/go.mod h1:keOS9j4fv5ASh7dV29lIpGw2QgoJwGFAyMU0uPvfax4=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c=
-github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c=
-github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac=
-github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8=
-github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0=
-github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4=
-github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
+github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.0 h1:rCGiyhmMpkoeLSRwSSCFUzKDo3RnRpiKFTZybDI3qHk=
+github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.0/go.mod h1:yH8k8SCPtkutoc1JF8+1D0uVySB1Wc7AadvCQDUQJ6I=
+github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.0 h1:Pf3hi7g1jDoD31qetA/HuY94jga2pH4W5W3+5uVaxKY=
+github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.0/go.mod h1:WEfYjobS0jTq12V8UgB+wfHcq/tTV4mZXIc+a8OjL2A=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.181.0 h1:YzSOMQYRZQKuLz/bD6illIGwJfa1WFfeFAZM5Zr5LB8=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.181.0/go.mod h1:CudaKF0Yu5+ZfKMiiPdtJ/kOOBty7CIEJUhESP52e9M=
+github.com/aws/aws-sdk-go-v2/service/ecr v1.36.0 h1:OVg61nfvhkvneY2btZ50sdYHsvhJs46dqtuBiURZo2A=
+github.com/aws/aws-sdk-go-v2/service/ecr v1.36.0/go.mod h1:kdKXMMVpJd/N59EYI8aneYNsQNqCd99iSg2bEmQHaUI=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.0 h1:AdbiDUgQZmM28rDIZbiSwFxz8+3B94aOXxzs6oH+EA0=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.0/go.mod h1:uV476Bd80tiDTX4X2redMtagQUg65aU/gzPojSJ4kSI=
+github.com/aws/aws-sdk-go-v2/service/sso v1.24.0 h1:71FvP6XFj53NK+YiAEGVzeiccLVeFnHOCvMig0zOHsE=
+github.com/aws/aws-sdk-go-v2/service/sso v1.24.0/go.mod h1:UVJqtKXSd9YppRKgdBIkyv7qgbSGv5DchM3yX0BN2mU=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.0 h1:Uco4o19bi3AmBapImNzuMk+rfzlui52BDyVK1UfJeRA=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.0/go.mod h1:+HLFhCpnG08hBee8bUdfd1mBK+rFKPt4O5igR9lXDfk=
+github.com/aws/aws-sdk-go-v2/service/sts v1.32.0 h1:GiQUjZM2KUZX68o/LpZ1xqxYMuvoxpRrOwYARYog3vc=
+github.com/aws/aws-sdk-go-v2/service/sts v1.32.0/go.mod h1:dKnu7M4MAS2SDlng1ytxd03H+y0LoUfEQ5E2VaaSw/4=
+github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM=
+github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8=
@@ -345,24 +344,20 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chai2010/gettext-go v1.0.3 h1:9liNh8t+u26xl5ddmWLmsOsdNLwkdRTg5AG+JnTiM80=
github.com/chai2010/gettext-go v1.0.3/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA=
-github.com/charmbracelet/bubbles v0.19.0 h1:gKZkKXPP6GlDk6EcfujDK19PCQqRjaJZQ7QRERx1UF0=
-github.com/charmbracelet/bubbles v0.19.0/go.mod h1:WILteEqZ+krG5c3ntGEMeG99nCupcuIk7V0/zOP0tOA=
-github.com/charmbracelet/bubbletea v0.27.0 h1:Mznj+vvYuYagD9Pn2mY7fuelGvP0HAXtZYGgRBCbHvU=
-github.com/charmbracelet/bubbletea v0.27.0/go.mod h1:5MdP9XH6MbQkgGhnlxUqCNmBXf9I74KRQ8HIidRxV1Y=
+github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
+github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
+github.com/charmbracelet/bubbletea v1.1.0 h1:FjAl9eAL3HBCHenhz/ZPjkKdScmaS5SK69JAK2YJK9c=
+github.com/charmbracelet/bubbletea v1.1.0/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4=
github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw=
github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY=
-github.com/charmbracelet/x/ansi v0.1.4 h1:IEU3D6+dWwPSgZ6HBH+v6oUuZ/nVawMiWj5831KfiLM=
-github.com/charmbracelet/x/ansi v0.1.4/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
+github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY=
+github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b h1:MnAMdlwSltxJyULnrYbkZpp4k58Co7Tah3ciKhSNo0Q=
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562 h1:8ePTYvWHJvthAosOpbQ6LO3Oxn/eWl8QZ9s5OTF1jdU=
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562/go.mod h1:0SMV+i+eNGuC1HCylD8oWbDA27tTtIP3kllV0GJFHUA=
-github.com/charmbracelet/x/input v0.1.2 h1:QJAZr33eOhDowkkEQ24rsJy4Llxlm+fRDf/cQrmqJa0=
-github.com/charmbracelet/x/input v0.1.2/go.mod h1:LGBim0maUY4Pitjn/4fHnuXb4KirU3DODsyuHuXdOyA=
-github.com/charmbracelet/x/term v0.1.1 h1:3cosVAiPOig+EV4X9U+3LDgtwwAoEzJjNdwbXDjF6yI=
-github.com/charmbracelet/x/term v0.1.1/go.mod h1:wB1fHt5ECsu3mXYusyzcngVWWlu1KKUmmLhfgr/Flxw=
-github.com/charmbracelet/x/windows v0.1.2 h1:Iumiwq2G+BRmgoayww/qfcvof7W/3uLoelhxojXlRWg=
-github.com/charmbracelet/x/windows v0.1.2/go.mod h1:GLEO/l+lizvFDBPLIOk+49gdX49L9YWMB5t+DZd0jkQ=
+github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0=
+github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0=
github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
@@ -384,8 +379,8 @@ github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSU
github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=
github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0=
github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE=
-github.com/containerd/containerd v1.7.21 h1:USGXRK1eOC/SX0L195YgxTHb0a00anxajOzgfN0qrCA=
-github.com/containerd/containerd v1.7.21/go.mod h1:e3Jz1rYRUZ2Lt51YrH9Rz0zPyJBOlSvB3ghr2jbVD8g=
+github.com/containerd/containerd v1.7.22 h1:nZuNnNRA6T6jB975rx2RRNqqH2k6ELYKDZfqTHqwyy0=
+github.com/containerd/containerd v1.7.22/go.mod h1:e3Jz1rYRUZ2Lt51YrH9Rz0zPyJBOlSvB3ghr2jbVD8g=
github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM=
github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ=
github.com/containerd/errdefs v0.1.0 h1:m0wCRBiu1WJT/Fr+iOoQHMQS/eP5myQ8lCv4Dz5ZURM=
@@ -402,14 +397,14 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lV
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
-github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo=
-github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
+github.com/cyphar/filepath-securejoin v0.3.1 h1:1V7cHiaW+C+39wEfpH6XlLBQo3j/PciWFrgfCLS8XrE=
+github.com/cyphar/filepath-securejoin v0.3.1/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48 h1:fRzb/w+pyskVMQ+UbP35JkH8yB7MYb4q/qhBarqZE6g=
-github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
+github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54 h1:SG7nF6SRlWhcT7cNTs5R6Hk4V2lcmLz2NsG2VnInyNo=
+github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc=
@@ -463,8 +458,8 @@ github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
-github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI=
-github.com/foxcpp/go-mockdns v1.0.0/go.mod h1:lgRN6+KxQBawyIghpnl5CezHFGS9VLzvtVlwxvzXTQ4=
+github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI=
+github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
@@ -531,8 +526,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
-github.com/go-playground/validator/v10 v10.22.0 h1:k6HsTZ0sTnROkhS//R0O+55JgM8C4Bx7ia+JlgcnOao=
-github.com/go-playground/validator/v10 v10.22.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
+github.com/go-playground/validator/v10 v10.22.1 h1:40JcKH+bBNGFczGuoBYgX4I6m/i27HYW8P9FDk5PbgA=
+github.com/go-playground/validator/v10 v10.22.1/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
@@ -645,7 +640,6 @@ github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
-github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
@@ -710,8 +704,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
-github.com/hashicorp/hc-install v0.8.0 h1:LdpZeXkZYMQhoKPCecJHlKvUkQFixN/nvyR1CdfOLjI=
-github.com/hashicorp/hc-install v0.8.0/go.mod h1:+MwJYjDfCruSD/udvBmRB22Nlkwwkwf5sAB6uTIhSaU=
+github.com/hashicorp/hc-install v0.9.0 h1:2dIk8LcvANwtv3QZLckxcjyF5w8KVtiMxu6G6eLhghE=
+github.com/hashicorp/hc-install v0.9.0/go.mod h1:+6vOP+mf3tuGgMApVYtmsnDoKWMDcFXeTxCACYZ8SFg=
github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM=
github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM=
github.com/hashicorp/hcl/v2 v2.21.0 h1:lve4q/o/2rqwYOgUg3y3V2YPyD1/zkCLGjIV74Jit14=
@@ -722,12 +716,10 @@ github.com/hashicorp/terraform-exec v0.21.0 h1:uNkLAe95ey5Uux6KJdua6+cv8asgILFVW
github.com/hashicorp/terraform-exec v0.21.0/go.mod h1:1PPeMYou+KDUSSeRE9szMZ/oHf4fYUmB923Wzbq1ICg=
github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7orfb5Ltvec=
github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A=
-github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
-github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -809,9 +801,8 @@ github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/miekg/dns v1.1.25 h1:dFwPR6SfLtrSwgDcIq2bcU/gVutB4sNApq2HBdqcakg=
-github.com/miekg/dns v1.1.25/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
-github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
+github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs=
+github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
@@ -822,7 +813,6 @@ github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQ
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
@@ -860,10 +850,10 @@ github.com/novln/docker-parser v1.0.0/go.mod h1:oCeM32fsoUwkwByB5wVjsrsVQySzPWkl
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
-github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
-github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
-github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
-github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
+github.com/onsi/ginkgo/v2 v2.19.1 h1:QXgq3Z8Crl5EL1WBAC98A5sEBHARrAJNzAmMxzLcRF0=
+github.com/onsi/ginkgo/v2 v2.19.1/go.mod h1:O3DtEWQkPa/F7fBMgmZQKKsluAy8pd3rEQdrjkPb9zA=
+github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os=
+github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
@@ -890,8 +880,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY=
github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg=
-github.com/projectcontour/contour v1.29.0 h1:gCrV4/Q8ZEpDRtNqMtAzq8t6K0wYCJkBEKSxxedDZ8g=
-github.com/projectcontour/contour v1.29.0/go.mod h1:C5FDDAhjhDK4CufMdysPfYexIzntJBZEqCImwsGP1N0=
+github.com/projectcontour/contour v1.30.0 h1:VrZFHhCD3jd3+dLvLuqrK/T++uKbKvRKM5zjQelUaEM=
+github.com/projectcontour/contour v1.30.0/go.mod h1:64BJdN6uIkGGt3jJ6b3OLLapysgfEUNX/6K8vsaTRIg=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
@@ -918,8 +908,8 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
-github.com/rubenv/sql-migrate v1.6.1 h1:bo6/sjsan9HaXAsNxYP/jCEDUGibHp8JmOBw7NTGRos=
-github.com/rubenv/sql-migrate v1.6.1/go.mod h1:tPzespupJS0jacLfhbwto/UjSX+8h2FdWB7ar+QlHa0=
+github.com/rubenv/sql-migrate v1.7.0 h1:HtQq1xyTN2ISmQDggnh0c9U3JlP8apWh8YO2jzlXpTI=
+github.com/rubenv/sql-migrate v1.7.0/go.mod h1:S4wtDEG1CKn+0ShpTtzWhFpHHI5PvCUtiGI+C+Z2THE=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.6.0 h1:ON7AQg37yzcRPU69mt7gwhFEBwxI6P9T4Qu3N51bwOk=
@@ -930,7 +920,6 @@ github.com/sahilm/fuzzy v0.1.1 h1:ceu5RHF8DGgoi+/dR5PsECjCDH1BE3Fnmpo7aVXOdRA=
github.com/sahilm/fuzzy v0.1.1/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
-github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
@@ -950,9 +939,8 @@ github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0b
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
-github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
-github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
+github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
+github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
@@ -1015,8 +1003,6 @@ github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 h1:S2dVYn90KE98chq
github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
-github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
-github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -1033,22 +1019,22 @@ github.com/zclconf/go-cty v1.14.4 h1:uXXczd9QDGsgu0i/QFR/hzI5NYCHLf6NQw/atrbnhq8
github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo=
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM=
-go.etcd.io/bbolt v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0=
-go.etcd.io/bbolt v1.3.10/go.mod h1:bK3UQLPJZly7IlNmV7uVHJDxfe5aK9Ll93e/74Y9oEQ=
-go.etcd.io/etcd/api/v3 v3.5.15 h1:3KpLJir1ZEBrYuV2v+Twaa/e2MdDCEZ/70H+lzEiwsk=
-go.etcd.io/etcd/api/v3 v3.5.15/go.mod h1:N9EhGzXq58WuMllgH9ZvnEr7SI9pS0k0+DHZezGp7jM=
-go.etcd.io/etcd/client/pkg/v3 v3.5.15 h1:fo0HpWz/KlHGMCC+YejpiCmyWDEuIpnTDzpJLB5fWlA=
-go.etcd.io/etcd/client/pkg/v3 v3.5.15/go.mod h1:mXDI4NAOwEiszrHCb0aqfAYNCrZP4e9hRca3d1YK8EU=
-go.etcd.io/etcd/client/v2 v2.305.15 h1:VG2xbf8Vz1KJh65Ar2V5eDmfkp1bpzkSEHlhJM3usp8=
-go.etcd.io/etcd/client/v2 v2.305.15/go.mod h1:Ad5dRjPVb/n5yXgAWQ/hXzuXXkBk0Y658ocuXYaUU48=
-go.etcd.io/etcd/client/v3 v3.5.15 h1:23M0eY4Fd/inNv1ZfU3AxrbbOdW79r9V9Rl62Nm6ip4=
-go.etcd.io/etcd/client/v3 v3.5.15/go.mod h1:CLSJxrYjvLtHsrPKsy7LmZEE+DK2ktfd2bN4RhBMwlU=
-go.etcd.io/etcd/pkg/v3 v3.5.15 h1:/Iu6Sr3iYaAjy++8sIDoZW9/EfhcwLZwd4FOZX2mMOU=
-go.etcd.io/etcd/pkg/v3 v3.5.15/go.mod h1:e3Acf298sPFmTCGTrnGvkClEw9RYIyPtNzi1XM8rets=
-go.etcd.io/etcd/raft/v3 v3.5.15 h1:jOA2HJF7zb3wy8H/pL13e8geWqkEa/kUs0waUggZC0I=
-go.etcd.io/etcd/raft/v3 v3.5.15/go.mod h1:k3r7P4seEiUcgxOPLp+mloJWV3Q4QLPGNvy/OgC8OtM=
-go.etcd.io/etcd/server/v3 v3.5.15 h1:x35jrWnZgsRwMsFsUJIUdT1bvzIz1B+29HjMfRYVN/E=
-go.etcd.io/etcd/server/v3 v3.5.15/go.mod h1:l9jX9oa/iuArjqz0RNX/TDbc70dLXxRZo/nmPucrpFo=
+go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0=
+go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I=
+go.etcd.io/etcd/api/v3 v3.5.16 h1:WvmyJVbjWqK4R1E+B12RRHz3bRGy9XVfh++MgbN+6n0=
+go.etcd.io/etcd/api/v3 v3.5.16/go.mod h1:1P4SlIP/VwkDmGo3OlOD7faPeP8KDIFhqvciH5EfN28=
+go.etcd.io/etcd/client/pkg/v3 v3.5.16 h1:ZgY48uH6UvB+/7R9Yf4x574uCO3jIx0TRDyetSfId3Q=
+go.etcd.io/etcd/client/pkg/v3 v3.5.16/go.mod h1:V8acl8pcEK0Y2g19YlOV9m9ssUe6MgiDSobSoaBAM0E=
+go.etcd.io/etcd/client/v2 v2.305.16 h1:kQrn9o5czVNaukf2A2At43cE9ZtWauOtf9vRZuiKXow=
+go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE=
+go.etcd.io/etcd/client/v3 v3.5.16 h1:sSmVYOAHeC9doqi0gv7v86oY/BTld0SEFGaxsU9eRhE=
+go.etcd.io/etcd/client/v3 v3.5.16/go.mod h1:X+rExSGkyqxvu276cr2OwPLBaeqFu1cIl4vmRjAD/50=
+go.etcd.io/etcd/pkg/v3 v3.5.16 h1:cnavs5WSPWeK4TYwPYfmcr3Joz9BH+TZ6qoUtz6/+mc=
+go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY=
+go.etcd.io/etcd/raft/v3 v3.5.16 h1:zBXA3ZUpYs1AwiLGPafYAKKl/CORn/uaxYDwlNwndAk=
+go.etcd.io/etcd/raft/v3 v3.5.16/go.mod h1:P4UP14AxofMJ/54boWilabqqWoW9eLodl6I5GdGzazI=
+go.etcd.io/etcd/server/v3 v3.5.16 h1:d0/SAdJ3vVsZvF8IFVb1k8zqMZ+heGcNfft71ul9GWE=
+go.etcd.io/etcd/server/v3 v3.5.16/go.mod h1:ynhyZZpdDp1Gq49jkUg5mfkDWZwXnn3eIqCqtJnrD/s=
go.mongodb.org/mongo-driver v1.15.1 h1:l+RvoUOoMXFmADTLfYDm7On9dRm7p4T80/lEQM+r7HU=
go.mongodb.org/mongo-driver v1.15.1/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -1062,28 +1048,28 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
-go.opentelemetry.io/contrib/instrumentation/runtime v0.54.0 h1:KD+8SJvRaW9n0vE0UgkytT207J3CmV1hGf9GYYU73ns=
-go.opentelemetry.io/contrib/instrumentation/runtime v0.54.0/go.mod h1:/CsTuLR28IN3Vn13YEc72HljfHiGOMXiCbl4xiCSDhA=
-go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw=
-go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI=
+go.opentelemetry.io/contrib/instrumentation/runtime v0.55.0 h1:GotCpbh7YkCHdFs+hYMdvAEyGsBZifFognqrOnBwyJM=
+go.opentelemetry.io/contrib/instrumentation/runtime v0.55.0/go.mod h1:6b0AS55EEPj7qP44khqF5dqTUq+RkakDMShFaW1EcA4=
+go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts=
+go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ=
-go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw=
-go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4=
-go.opentelemetry.io/otel/exporters/zipkin v1.29.0 h1:rqaUJdM9ItWf6DGrelaShXnJpb8rd3HTbcZWptvcsWA=
-go.opentelemetry.io/otel/exporters/zipkin v1.29.0/go.mod h1:wDIyU6DjrUYqUgnmzjWnh1HOQGZCJ6YXMIJCdMc+T9Y=
-go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc=
-go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
-go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo=
-go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok=
-go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY=
-go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ=
-go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
-go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
+go.opentelemetry.io/otel/exporters/prometheus v0.52.0 h1:kmU3H0b9ufFSi8IQCcxack+sWUblKkFbqWYs6YiACGQ=
+go.opentelemetry.io/otel/exporters/prometheus v0.52.0/go.mod h1:+wsAp2+JhuGXX7YRkjlkx6hyWY3ogFPfNA4x3nyiAh0=
+go.opentelemetry.io/otel/exporters/zipkin v1.30.0 h1:1uYaSfxiCLdJATlGEtYjQe4jZYfqCjVwxeSTMXe8VF4=
+go.opentelemetry.io/otel/exporters/zipkin v1.30.0/go.mod h1:r/4BhMc3kiKxD61wGh9J3NVQ3/cZ45F2NHkQgVnql48=
+go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w=
+go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ=
+go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE=
+go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg=
+go.opentelemetry.io/otel/sdk/metric v1.30.0 h1:QJLT8Pe11jyHBHfSAgYH7kEmT24eX792jZO1bo4BXkM=
+go.opentelemetry.io/otel/sdk/metric v1.30.0/go.mod h1:waS6P3YqFNzeP01kuo/MBBYqaoBJl7efRQHOaydhy1Y=
+go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc=
+go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
@@ -1111,7 +1097,6 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1206,7 +1191,6 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
-golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1325,14 +1309,12 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1663,7 +1645,6 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -1672,8 +1653,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g=
-helm.sh/helm/v3 v3.15.4 h1:UFHd6oZ1IN3FsUZ7XNhOQDyQ2QYknBNWRHH57e9cbHY=
-helm.sh/helm/v3 v3.15.4/go.mod h1:phOwlxqGSgppCY/ysWBNRhG3MtnpsttOzxaTK+Mt40E=
+helm.sh/helm/v3 v3.16.1 h1:cER6tI/8PgUAsaJaQCVBUg3VI9KN4oVaZJgY60RIc0c=
+helm.sh/helm/v3 v3.16.1/go.mod h1:r+xBHHP20qJeEqtvBXMf7W35QDJnzY/eiEBzt+TfHps=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
From 9a9a4d2fe76809667f64e8c4154b53e152f68006 Mon Sep 17 00:00:00 2001
From: Ryan Nowak
Date: Wed, 9 Oct 2024 10:12:07 -0700
Subject: [PATCH 04/27] Implementation of resource providers and resource types
registration (#7967)
# Description
This change implements the API functionality for registering resource
providers and related child-types through the Radius API. This is the
first step towards making the Radius API surface extensible. For this
first step there is no consumer of this data or these APIs. Subsequent
changes will consume the data and implement the user-facing
functionality.
What's possible in this commit:
- CRUDL operations on resource provider and related types like:
- resource type
- api version (child of resource type)
- location
Additionally, this change implements the resource provider "summary"
API. The summary API provides a combined view of the most useful data
from each resource provider and its children.
---
For reviewers there are a few important notes:
- Routing in UCP is complex, and error prone to work on. I abandoned the
existing code and rewrote it in a form that's more native to go-chi.
This was a significant improvement and made it much easier to debug the
code. UCP has good integration tests so I'm not very concerned about
regressions.
- This is our first use-case for child resources in Radius. I used the
async controllers to implement cascading deletion.
- The "summary" API uses cached data. The async controllers for resource
provider and other types update the cache. This is our first use of this
pattern, but it felt right to me.
## Type of change
- This pull request adds or changes features of Radius and has an
approved issue (issue link required).
Part of: #6688
Signed-off-by: Ryan Nowak
---
pkg/armrpc/frontend/server/handler.go | 19 +
.../v20231001preview/apiversion_conversion.go | 65 +
.../apiversion_conversion_test.go | 112 +
.../v20231001preview/location_conversion.go | 116 ++
.../location_conversion_test.go | 129 ++
.../resourceprovider_conversion.go | 64 +
.../resourceprovider_conversion_test.go | 119 ++
.../resourceprovidersummary_conversion.go | 61 +
...resourceprovidersummary_conversion_test.go | 76 +
.../resourcetype_conversion.go | 68 +
.../resourcetype_conversion_test.go | 115 ++
.../testdata/apiversion_datamodel.json | 7 +
.../testdata/apiversion_resource.json | 5 +
.../testdata/location_datamodel.json | 16 +
.../testdata/location_resource.json | 14 +
.../testdata/resourceprovider_datamodel.json | 8 +
.../testdata/resourceprovider_resource.json | 6 +
.../resourceprovidersummary_datamodel.json | 16 +
.../testdata/resourcetype_datamodel.json | 9 +
.../testdata/resourcetype_resource.json | 7 +
.../zz_generated_apiversions_client.go | 332 +++
.../zz_generated_client_factory.go | 20 +
.../zz_generated_locations_client.go | 314 +++
.../v20231001preview/zz_generated_models.go | 186 ++
.../zz_generated_models_serde.go | 548 +++++
.../v20231001preview/zz_generated_options.go | 105 +
.../zz_generated_resourceproviders_client.go | 414 ++++
.../zz_generated_resourcetypes_client.go | 313 +++
.../zz_generated_response_types.go | 107 +
.../resourceproviders/apiversion_delete.go | 73 +
.../apiversion_delete_test.go | 121 ++
.../resourceproviders/apiversion_put.go | 77 +
.../resourceproviders/apiversion_put_test.go | 118 ++
.../resourceproviders/location_delete.go | 61 +
.../resourceproviders/location_delete_test.go | 51 +
.../resourceproviders/location_put.go | 63 +
.../resourceproviders/location_put_test.go | 48 +
.../resourceprovider_delete.go | 234 +++
.../resourceprovider_delete_test.go | 17 +
.../resourceproviders/resourceprovider_put.go | 53 +
.../resourceproviders/resourcetype_delete.go | 159 ++
.../resourcetype_delete_test.go | 51 +
.../resourceproviders/resourcetype_put.go | 85 +
.../resourcetype_put_test.go | 56 +
.../controller/resourceproviders/util.go | 122 ++
.../controller/resourceproviders/util_test.go | 203 ++
pkg/ucp/backend/service.go | 45 +-
pkg/ucp/datamodel/apiversion.go | 42 +
.../converter/apiversion_converter.go | 59 +
.../datamodel/converter/location_converter.go | 59 +
.../converter/resourceprovider_converter.go | 59 +
.../resourceprovidersummary_converter.go | 53 +
.../converter/resourcetype_converter.go | 59 +
pkg/ucp/datamodel/genericresource.go | 6 +-
pkg/ucp/datamodel/location.go | 57 +
pkg/ucp/datamodel/resourceprovider.go | 42 +
pkg/ucp/datamodel/resourceprovidersummary.go | 82 +
pkg/ucp/datamodel/resourcetype.go | 43 +
.../getresourceprovidersummary.go | 130 ++
.../getresourceprovidersummary_test.go | 65 +
.../listresourceprovidersummaries.go | 119 ++
pkg/ucp/frontend/radius/routes.go | 427 ++--
pkg/ucp/frontend/radius/routes_test.go | 120 +-
.../resourceproviders/apiversions_test.go | 66 +
.../resourceproviders/locations_test.go | 63 +
.../resourceproviders_test.go | 90 +
.../resourceproviders/resourcetypes_test.go | 90 +
.../resourceproviders/summary_test.go | 110 +
...0231001preview_emptylist_responsebody.json | 3 +
...on_v20231001preview_list_responsebody.json | 12 +
...iversion_v20231001preview_requestbody.json | 7 +
...version_v20231001preview_responsebody.json | 8 +
...0231001preview_emptylist_responsebody.json | 3 +
...on_v20231001preview_list_responsebody.json | 13 +
...location_v20231001preview_requestbody.json | 7 +
...ocation_v20231001preview_responsebody.json | 9 +
...0231001preview_emptylist_responsebody.json | 3 +
...er_v20231001preview_list_responsebody.json | 16 +
...provider_v20231001preview_requestbody.json | 7 +
...rovider_v20231001preview_responsebody.json | 12 +
...0231001preview_emptylist_responsebody.json | 3 +
...pe_v20231001preview_list_responsebody.json | 13 +
...urcetype_v20231001preview_requestbody.json | 5 +
...rcetype_v20231001preview_responsebody.json | 9 +
.../resourceproviders/util_test.go | 129 ++
.../integrationtests/testserver/testserver.go | 136 +-
pkg/validator/validator.go | 3 +-
.../examples/AWSCredential_IRSA_Update.json | 96 +-
.../examples/ApiVersions_CreateOrUpdate.json | 38 +
.../examples/ApiVersions_Delete.json | 21 +
.../examples/ApiVersions_Get.json | 23 +
.../examples/ApiVersions_List.json | 26 +
.../examples/Locations_CreateOrUpdate.json | 43 +
.../examples/Locations_Delete.json | 20 +
.../examples/Locations_Get.json | 23 +
.../examples/Locations_List.json | 26 +
.../ResourceGroups_CreateOrUpdate.json | 13 +-
.../examples/ResourceGroups_Update.json | 11 +-
.../ResourceProviders_CreateOrUpdate.json | 40 +
.../examples/ResourceProviders_Delete.json | 19 +
.../examples/ResourceProviders_Get.json | 22 +
.../ResourceProviders_GetProviderSummary.json | 27 +
.../examples/ResourceProviders_List.json | 24 +
...sourceProviders_ListProviderSummaries.json | 30 +
.../ResourceTypes_CreateOrUpdate.json | 43 +
.../examples/ResourceTypes_Delete.json | 20 +
.../examples/ResourceTypes_Get.json | 23 +
.../examples/ResourceTypes_List.json | 26 +
.../examples/Resources_List.json | 2 -
.../preview/2023-10-01-preview/openapi.json | 1818 +++++++++++++++--
.../AWSCredential_IRSA_Update.json | 96 +-
.../ApiVersions_CreateOrUpdate.json | 38 +
.../ApiVersions_Delete.json | 21 +
.../2023-10-01-preview/ApiVersions_Get.json | 23 +
.../2023-10-01-preview/ApiVersions_List.json | 26 +
.../Locations_CreateOrUpdate.json | 43 +
.../2023-10-01-preview/Locations_Delete.json | 20 +
.../2023-10-01-preview/Locations_Get.json | 23 +
.../2023-10-01-preview/Locations_List.json | 26 +
.../ResourceGroups_CreateOrUpdate.json | 13 +-
.../ResourceGroups_Update.json | 11 +-
.../ResourceProviders_CreateOrUpdate.json | 40 +
.../ResourceProviders_Delete.json | 19 +
.../ResourceProviders_Get.json | 22 +
.../ResourceProviders_GetProviderSummary.json | 27 +
.../ResourceProviders_List.json | 24 +
...sourceProviders_ListProviderSummaries.json | 30 +
.../ResourceTypes_CreateOrUpdate.json | 43 +
.../ResourceTypes_Delete.json | 20 +
.../2023-10-01-preview/ResourceTypes_Get.json | 23 +
.../ResourceTypes_List.json | 26 +
.../2023-10-01-preview/Resources_List.json | 2 -
typespec/UCP/main.tsp | 1 +
typespec/UCP/resourceproviders.tsp | 323 +++
134 files changed, 10220 insertions(+), 401 deletions(-)
create mode 100644 pkg/ucp/api/v20231001preview/apiversion_conversion.go
create mode 100644 pkg/ucp/api/v20231001preview/apiversion_conversion_test.go
create mode 100644 pkg/ucp/api/v20231001preview/location_conversion.go
create mode 100644 pkg/ucp/api/v20231001preview/location_conversion_test.go
create mode 100644 pkg/ucp/api/v20231001preview/resourceprovider_conversion.go
create mode 100644 pkg/ucp/api/v20231001preview/resourceprovider_conversion_test.go
create mode 100644 pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion.go
create mode 100644 pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion_test.go
create mode 100644 pkg/ucp/api/v20231001preview/resourcetype_conversion.go
create mode 100644 pkg/ucp/api/v20231001preview/resourcetype_conversion_test.go
create mode 100644 pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/location_datamodel.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/location_resource.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json
create mode 100644 pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json
create mode 100644 pkg/ucp/api/v20231001preview/zz_generated_apiversions_client.go
create mode 100644 pkg/ucp/api/v20231001preview/zz_generated_locations_client.go
create mode 100644 pkg/ucp/api/v20231001preview/zz_generated_resourceproviders_client.go
create mode 100644 pkg/ucp/api/v20231001preview/zz_generated_resourcetypes_client.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/apiversion_delete.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/apiversion_delete_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/apiversion_put.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/apiversion_put_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/location_delete.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/location_delete_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/location_put.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/location_put_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourceprovider_put.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourcetype_delete.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourcetype_delete_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourcetype_put.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/resourcetype_put_test.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/util.go
create mode 100644 pkg/ucp/backend/controller/resourceproviders/util_test.go
create mode 100644 pkg/ucp/datamodel/apiversion.go
create mode 100644 pkg/ucp/datamodel/converter/apiversion_converter.go
create mode 100644 pkg/ucp/datamodel/converter/location_converter.go
create mode 100644 pkg/ucp/datamodel/converter/resourceprovider_converter.go
create mode 100644 pkg/ucp/datamodel/converter/resourceprovidersummary_converter.go
create mode 100644 pkg/ucp/datamodel/converter/resourcetype_converter.go
create mode 100644 pkg/ucp/datamodel/location.go
create mode 100644 pkg/ucp/datamodel/resourceprovider.go
create mode 100644 pkg/ucp/datamodel/resourceprovidersummary.go
create mode 100644 pkg/ucp/datamodel/resourcetype.go
create mode 100644 pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary.go
create mode 100644 pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary_test.go
create mode 100644 pkg/ucp/frontend/controller/resourceproviders/listresourceprovidersummaries.go
create mode 100644 pkg/ucp/integrationtests/resourceproviders/apiversions_test.go
create mode 100644 pkg/ucp/integrationtests/resourceproviders/locations_test.go
create mode 100644 pkg/ucp/integrationtests/resourceproviders/resourceproviders_test.go
create mode 100644 pkg/ucp/integrationtests/resourceproviders/resourcetypes_test.go
create mode 100644 pkg/ucp/integrationtests/resourceproviders/summary_test.go
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json
create mode 100644 pkg/ucp/integrationtests/resourceproviders/util_test.go
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json
create mode 100644 swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/Locations_Get.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/Locations_List.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json
create mode 100644 typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json
create mode 100644 typespec/UCP/resourceproviders.tsp
diff --git a/pkg/armrpc/frontend/server/handler.go b/pkg/armrpc/frontend/server/handler.go
index a32279f7348..d6a8354caca 100644
--- a/pkg/armrpc/frontend/server/handler.go
+++ b/pkg/armrpc/frontend/server/handler.go
@@ -128,6 +128,25 @@ func HandlerForController(controller ctrl.Controller, operationType v1.Operation
}
}
+// CreateHandler creates an http.Handler for the given resource type and operation method.
+func CreateHandler(ctx context.Context, resourceType string, operationMethod v1.OperationMethod, opts ctrl.Options, factory ControllerFactoryFunc) (http.HandlerFunc, error) {
+ storageClient, err := opts.DataProvider.GetStorageClient(ctx, resourceType)
+ if err != nil {
+ return nil, err
+ }
+
+ opts.StorageClient = storageClient
+ opts.ResourceType = resourceType
+
+ ctrl, err := factory(opts)
+ if err != nil {
+ return nil, err
+ }
+
+ handler := HandlerForController(ctrl, v1.OperationType{Type: resourceType, Method: operationMethod})
+ return handler, nil
+}
+
// RegisterHandler registers a handler for the given resource type and method. This function should only
// be used for controllers that process a single resource type.
func RegisterHandler(ctx context.Context, opts HandlerOptions, ctrlOpts ctrl.Options) error {
diff --git a/pkg/ucp/api/v20231001preview/apiversion_conversion.go b/pkg/ucp/api/v20231001preview/apiversion_conversion.go
new file mode 100644
index 00000000000..da87c35bf27
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/apiversion_conversion.go
@@ -0,0 +1,65 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ConvertTo converts from the versioned APIVersionResource resource to version-agnostic datamodel.
+func (src *APIVersionResource) ConvertTo() (v1.DataModelInterface, error) {
+ dst := &datamodel.APIVersion{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: to.String(src.ID),
+ Name: to.String(src.Name),
+ Type: datamodel.APIVersionResourceType,
+
+ // NOTE: this is a child resource. It does not have a location, systemData, or tags.
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ }
+
+ dst.Properties = datamodel.APIVersionProperties{}
+
+ return dst, nil
+}
+
+// ConvertFrom converts from version-agnostic datamodel to the versioned APIVersionResource resource.
+func (dst *APIVersionResource) ConvertFrom(src v1.DataModelInterface) error {
+ dm, ok := src.(*datamodel.APIVersion)
+ if !ok {
+ return v1.ErrInvalidModelConversion
+ }
+
+ dst.ID = to.Ptr(dm.ID)
+ dst.Name = to.Ptr(dm.Name)
+ dst.Type = to.Ptr(dm.Type)
+
+ // NOTE: this is a child resource. It does not have a location, systemData, or tags.
+
+ dst.Properties = &APIVersionProperties{
+ ProvisioningState: to.Ptr(ProvisioningState(dm.InternalMetadata.AsyncProvisioningState)),
+ }
+
+ return nil
+}
diff --git a/pkg/ucp/api/v20231001preview/apiversion_conversion_test.go b/pkg/ucp/api/v20231001preview/apiversion_conversion_test.go
new file mode 100644
index 00000000000..1140c5aab07
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/apiversion_conversion_test.go
@@ -0,0 +1,112 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ "encoding/json"
+ "testing"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/test/testutil"
+
+ "github.com/stretchr/testify/require"
+)
+
+func Test_APIVersion_VersionedToDataModel(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *datamodel.APIVersion
+ err error
+ }{
+ {
+ filename: "apiversion_resource.json",
+ expected: &datamodel.APIVersion{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ Name: "2025-01-01",
+ Type: datamodel.APIVersionResourceType,
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ Properties: datamodel.APIVersionProperties{},
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ versioned := &APIVersionResource{}
+ err := json.Unmarshal(rawPayload, versioned)
+ require.NoError(t, err)
+
+ dm, err := versioned.ConvertTo()
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, dm)
+ }
+ })
+ }
+}
+
+func Test_APIVersion_DataModelToVersioned(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *APIVersionResource
+ err error
+ }{
+ {
+ filename: "apiversion_datamodel.json",
+ expected: &APIVersionResource{
+ ID: to.Ptr("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01"),
+ Type: to.Ptr(datamodel.APIVersionResourceType),
+ Name: to.Ptr("2025-01-01"),
+ Properties: &APIVersionProperties{
+ ProvisioningState: to.Ptr(ProvisioningStateSucceeded),
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ data := &datamodel.APIVersion{}
+ err := json.Unmarshal(rawPayload, data)
+ require.NoError(t, err)
+
+ versioned := &APIVersionResource{}
+
+ err = versioned.ConvertFrom(data)
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, versioned)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/location_conversion.go b/pkg/ucp/api/v20231001preview/location_conversion.go
new file mode 100644
index 00000000000..5224220a420
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/location_conversion.go
@@ -0,0 +1,116 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ConvertTo converts from the versioned LocationResource resource to version-agnostic datamodel.
+func (src *LocationResource) ConvertTo() (v1.DataModelInterface, error) {
+ dst := &datamodel.Location{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: to.String(src.ID),
+ Name: to.String(src.Name),
+ Type: datamodel.LocationResourceType,
+
+ // NOTE: this is a child resource. It does not have a location, systemData, or tags.
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ }
+
+ dst.Properties = datamodel.LocationProperties{
+ Address: src.Properties.Address,
+ ResourceTypes: map[string]datamodel.LocationResourceTypeConfiguration{},
+ }
+
+ for name, value := range src.Properties.ResourceTypes {
+ dst.Properties.ResourceTypes[name] = toLocationResourceTypeDatamodel(value)
+ }
+
+ return dst, nil
+}
+
+// ConvertFrom converts from version-agnostic datamodel to the versioned LocationResource resource.
+func (dst *LocationResource) ConvertFrom(src v1.DataModelInterface) error {
+ dm, ok := src.(*datamodel.Location)
+ if !ok {
+ return v1.ErrInvalidModelConversion
+ }
+
+ dst.ID = to.Ptr(dm.ID)
+ dst.Name = to.Ptr(dm.Name)
+ dst.Type = to.Ptr(datamodel.LocationResourceType)
+
+ // NOTE: this is a child resource. It does not have a location, systemData, or tags.
+
+ dst.Properties = &LocationProperties{
+ ProvisioningState: to.Ptr(ProvisioningState(dm.InternalMetadata.AsyncProvisioningState)),
+ Address: dm.Properties.Address,
+ ResourceTypes: map[string]*LocationResourceType{},
+ }
+
+ for name, value := range dm.Properties.ResourceTypes {
+ dst.Properties.ResourceTypes[name] = fromLocationResourceTypeDatamodel(value)
+ }
+
+ return nil
+}
+
+func toLocationResourceTypeDatamodel(src *LocationResourceType) datamodel.LocationResourceTypeConfiguration {
+ dst := datamodel.LocationResourceTypeConfiguration{
+ APIVersions: map[string]datamodel.LocationAPIVersionConfiguration{},
+ }
+
+ for name, value := range src.APIVersions {
+ dst.APIVersions[name] = toLocationAPIVersionDatamodel(value)
+ }
+
+ return dst
+}
+
+func toLocationAPIVersionDatamodel(_ map[string]any) datamodel.LocationAPIVersionConfiguration {
+ dst := datamodel.LocationAPIVersionConfiguration{
+ // Empty for now.
+ }
+ return dst
+}
+
+func fromLocationResourceTypeDatamodel(src datamodel.LocationResourceTypeConfiguration) *LocationResourceType {
+ dst := &LocationResourceType{
+ APIVersions: map[string]map[string]any{},
+ }
+
+ for name, value := range src.APIVersions {
+ dst.APIVersions[name] = fromLocationAPIVersionDatamodel(value)
+ }
+
+ return dst
+}
+
+func fromLocationAPIVersionDatamodel(src datamodel.LocationAPIVersionConfiguration) map[string]any {
+ dst := map[string]any{
+ // Empty for now.
+ }
+ return dst
+}
diff --git a/pkg/ucp/api/v20231001preview/location_conversion_test.go b/pkg/ucp/api/v20231001preview/location_conversion_test.go
new file mode 100644
index 00000000000..147fbc33afb
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/location_conversion_test.go
@@ -0,0 +1,129 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ "encoding/json"
+ "testing"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/test/testutil"
+
+ "github.com/stretchr/testify/require"
+)
+
+func Test_Location_VersionedToDataModel(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *datamodel.Location
+ err error
+ }{
+ {
+ filename: "location_resource.json",
+ expected: &datamodel.Location{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ Name: "east",
+ Type: datamodel.LocationResourceType,
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ Properties: datamodel.LocationProperties{
+ Address: to.Ptr("https://east.myrp.com"),
+ ResourceTypes: map[string]datamodel.LocationResourceTypeConfiguration{
+ "testResources": {
+ APIVersions: map[string]datamodel.LocationAPIVersionConfiguration{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ versioned := &LocationResource{}
+ err := json.Unmarshal(rawPayload, versioned)
+ require.NoError(t, err)
+
+ dm, err := versioned.ConvertTo()
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, dm)
+ }
+ })
+ }
+}
+
+func Test_Location_DataModelToVersioned(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *LocationResource
+ err error
+ }{
+ {
+ filename: "location_datamodel.json",
+ expected: &LocationResource{
+ ID: to.Ptr("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east"),
+ Type: to.Ptr(datamodel.LocationResourceType),
+ Name: to.Ptr("east"),
+ Properties: &LocationProperties{
+ ProvisioningState: to.Ptr(ProvisioningStateSucceeded),
+ Address: to.Ptr("https://east.myrp.com"),
+ ResourceTypes: map[string]*LocationResourceType{
+ "testResources": {
+ APIVersions: map[string]map[string]any{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ data := &datamodel.Location{}
+ err := json.Unmarshal(rawPayload, data)
+ require.NoError(t, err)
+
+ versioned := &LocationResource{}
+
+ err = versioned.ConvertFrom(data)
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, versioned)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/resourceprovider_conversion.go b/pkg/ucp/api/v20231001preview/resourceprovider_conversion.go
new file mode 100644
index 00000000000..9e0373de094
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/resourceprovider_conversion.go
@@ -0,0 +1,64 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ConvertTo converts from the versioned ResourceProviderResource resource to version-agnostic datamodel.
+func (src *ResourceProviderResource) ConvertTo() (v1.DataModelInterface, error) {
+ dst := &datamodel.ResourceProvider{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: to.String(src.ID),
+ Name: to.String(src.Name),
+ Type: datamodel.ResourceProviderResourceType,
+ Location: to.String(src.Location),
+ Tags: to.StringMap(src.Tags),
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ }
+
+ return dst, nil
+}
+
+// ConvertFrom converts from version-agnostic datamodel to the versioned ResourceProviderResource resource.
+func (dst *ResourceProviderResource) ConvertFrom(src v1.DataModelInterface) error {
+ dm, ok := src.(*datamodel.ResourceProvider)
+ if !ok {
+ return v1.ErrInvalidModelConversion
+ }
+
+ dst.ID = to.Ptr(dm.ID)
+ dst.Name = to.Ptr(dm.Name)
+ dst.Type = to.Ptr(dm.Type)
+ dst.Location = to.Ptr(dm.Location)
+ dst.Tags = *to.StringMapPtr(dm.Tags)
+ dst.SystemData = fromSystemDataModel(dm.SystemData)
+
+ dst.Properties = &ResourceProviderProperties{
+ ProvisioningState: to.Ptr(ProvisioningState(dm.InternalMetadata.AsyncProvisioningState)),
+ }
+
+ return nil
+}
diff --git a/pkg/ucp/api/v20231001preview/resourceprovider_conversion_test.go b/pkg/ucp/api/v20231001preview/resourceprovider_conversion_test.go
new file mode 100644
index 00000000000..92738010d4c
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/resourceprovider_conversion_test.go
@@ -0,0 +1,119 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ "encoding/json"
+ "testing"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/test/testutil"
+
+ "github.com/stretchr/testify/require"
+)
+
+func Test_ResourceProvider_VersionedToDataModel(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *datamodel.ResourceProvider
+ err error
+ }{
+ {
+ filename: "resourceprovider_resource.json",
+ expected: &datamodel.ResourceProvider{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ Name: "Applications.Test",
+ Type: datamodel.ResourceProviderResourceType,
+ Location: "global",
+ Tags: map[string]string{},
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ Properties: datamodel.ResourceProviderProperties{},
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ versioned := &ResourceProviderResource{}
+ err := json.Unmarshal(rawPayload, versioned)
+ require.NoError(t, err)
+
+ dm, err := versioned.ConvertTo()
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, dm)
+ }
+ })
+ }
+}
+
+func Test_ResourceProvider_DataModelToVersioned(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *ResourceProviderResource
+ err error
+ }{
+ {
+ filename: "resourceprovider_datamodel.json",
+ expected: &ResourceProviderResource{
+ ID: to.Ptr("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test"),
+ Type: to.Ptr(datamodel.ResourceProviderResourceType),
+ Name: to.Ptr("Applications.Test"),
+ Location: to.Ptr("global"),
+ Tags: map[string]*string{},
+ Properties: &ResourceProviderProperties{
+ ProvisioningState: to.Ptr(ProvisioningStateSucceeded),
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ data := &datamodel.ResourceProvider{}
+ err := json.Unmarshal(rawPayload, data)
+ require.NoError(t, err)
+
+ versioned := &ResourceProviderResource{}
+
+ err = versioned.ConvertFrom(data)
+
+ // Ignore system data.
+ versioned.SystemData = nil
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, versioned)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion.go b/pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion.go
new file mode 100644
index 00000000000..871bc4646d9
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion.go
@@ -0,0 +1,61 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ "errors"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ConvertTo converts from the versioned ResourceProviderSummary resource to version-agnostic datamodel.
+//
+// NOTE: ResourceProviderSummary is READONLY. There is no conversion from versioned to datamodel.
+func (src *ResourceProviderSummary) ConvertTo() (v1.DataModelInterface, error) {
+ return nil, errors.New("the ResourceProviderSummary is READONLY. There is no conversion from versioned to datamodel")
+}
+
+// ConvertFrom converts from version-agnostic datamodel to the versioned ResourceProviderSummary resource.
+func (dst *ResourceProviderSummary) ConvertFrom(src v1.DataModelInterface) error {
+ dm, ok := src.(*datamodel.ResourceProviderSummary)
+ if !ok {
+ return v1.ErrInvalidModelConversion
+ }
+
+ dst.Name = to.Ptr(dm.Name)
+
+ dst.Locations = map[string]map[string]any{}
+ for locationName := range dm.Properties.Locations {
+ dst.Locations[locationName] = map[string]any{}
+ }
+
+ dst.ResourceTypes = map[string]*ResourceProviderSummaryResourceType{}
+ for resourceTypeName, resourceType := range dm.Properties.ResourceTypes {
+ dst.ResourceTypes[resourceTypeName] = &ResourceProviderSummaryResourceType{
+ DefaultAPIVersion: resourceType.DefaultAPIVersion,
+ APIVersions: map[string]map[string]any{},
+ }
+
+ for apiVersionName := range resourceType.APIVersions {
+ dst.ResourceTypes[resourceTypeName].APIVersions[apiVersionName] = map[string]any{}
+ }
+ }
+
+ return nil
+}
diff --git a/pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion_test.go b/pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion_test.go
new file mode 100644
index 00000000000..b826c0837fe
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/resourceprovidersummary_conversion_test.go
@@ -0,0 +1,76 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ "encoding/json"
+ "testing"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/test/testutil"
+
+ "github.com/stretchr/testify/require"
+)
+
+// Note: ResourceProviderSummary is READONLY. There is no conversion from versioned to datamodel.
+
+func Test_ResourceProviderSummary_DataModelToVersioned(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *ResourceProviderSummary
+ err error
+ }{
+ {
+ filename: "resourceprovidersummary_datamodel.json",
+ expected: &ResourceProviderSummary{
+ Name: to.Ptr("Applications.Test"),
+ Locations: map[string]map[string]any{
+ "east": {},
+ },
+ ResourceTypes: map[string]*ResourceProviderSummaryResourceType{
+ "testResources": {
+ DefaultAPIVersion: to.Ptr("2025-01-01"),
+ APIVersions: map[string]map[string]any{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ data := &datamodel.ResourceProviderSummary{}
+ err := json.Unmarshal(rawPayload, data)
+ require.NoError(t, err)
+
+ versioned := &ResourceProviderSummary{}
+
+ err = versioned.ConvertFrom(data)
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, versioned)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/resourcetype_conversion.go b/pkg/ucp/api/v20231001preview/resourcetype_conversion.go
new file mode 100644
index 00000000000..1ffa4d09f39
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/resourcetype_conversion.go
@@ -0,0 +1,68 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ConvertTo converts from the versioned ResourceTypeResource resource to version-agnostic datamodel.
+func (src *ResourceTypeResource) ConvertTo() (v1.DataModelInterface, error) {
+ dst := &datamodel.ResourceType{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: to.String(src.ID),
+ Name: to.String(src.Name),
+ Type: datamodel.ResourceTypeResourceType,
+
+ // NOTE: this is a child resource. It does not have a location, systemData, or tags.
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ }
+
+ dst.Properties = datamodel.ResourceTypeProperties{
+ DefaultAPIVersion: src.Properties.DefaultAPIVersion,
+ }
+
+ return dst, nil
+}
+
+// ConvertFrom converts from version-agnostic datamodel to the versioned ResourceTypeResource resource.
+func (dst *ResourceTypeResource) ConvertFrom(src v1.DataModelInterface) error {
+ dm, ok := src.(*datamodel.ResourceType)
+ if !ok {
+ return v1.ErrInvalidModelConversion
+ }
+
+ dst.ID = to.Ptr(dm.ID)
+ dst.Name = to.Ptr(dm.Name)
+ dst.Type = to.Ptr(dm.Type)
+
+ // NOTE: this is a child resource. It does not have a location, systemData, or tags.
+
+ dst.Properties = &ResourceTypeProperties{
+ ProvisioningState: to.Ptr(ProvisioningState(dm.InternalMetadata.AsyncProvisioningState)),
+ DefaultAPIVersion: dm.Properties.DefaultAPIVersion,
+ }
+
+ return nil
+}
diff --git a/pkg/ucp/api/v20231001preview/resourcetype_conversion_test.go b/pkg/ucp/api/v20231001preview/resourcetype_conversion_test.go
new file mode 100644
index 00000000000..0eeafe89fe6
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/resourcetype_conversion_test.go
@@ -0,0 +1,115 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v20231001preview
+
+import (
+ "encoding/json"
+ "testing"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/test/testutil"
+
+ "github.com/stretchr/testify/require"
+)
+
+func Test_ResourceType_VersionedToDataModel(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *datamodel.ResourceType
+ err error
+ }{
+ {
+ filename: "resourcetype_resource.json",
+ expected: &datamodel.ResourceType{
+ BaseResource: v1.BaseResource{
+ TrackedResource: v1.TrackedResource{
+ ID: "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ Name: "testResources",
+ Type: datamodel.ResourceTypeResourceType,
+ },
+ InternalMetadata: v1.InternalMetadata{
+ UpdatedAPIVersion: Version,
+ },
+ },
+ Properties: datamodel.ResourceTypeProperties{
+ DefaultAPIVersion: to.Ptr("2025-01-01"),
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ versioned := &ResourceTypeResource{}
+ err := json.Unmarshal(rawPayload, versioned)
+ require.NoError(t, err)
+
+ dm, err := versioned.ConvertTo()
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, dm)
+ }
+ })
+ }
+}
+
+func Test_ResourceType_DataModelToVersioned(t *testing.T) {
+ conversionTests := []struct {
+ filename string
+ expected *ResourceTypeResource
+ err error
+ }{
+ {
+ filename: "resourcetype_datamodel.json",
+ expected: &ResourceTypeResource{
+ ID: to.Ptr("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources"),
+ Type: to.Ptr(datamodel.ResourceTypeResourceType),
+ Name: to.Ptr("testResources"),
+ Properties: &ResourceTypeProperties{
+ ProvisioningState: to.Ptr(ProvisioningStateSucceeded),
+ DefaultAPIVersion: to.Ptr("2025-01-01"),
+ },
+ },
+ },
+ }
+
+ for _, tt := range conversionTests {
+ t.Run(tt.filename, func(t *testing.T) {
+ rawPayload := testutil.ReadFixture(tt.filename)
+ data := &datamodel.ResourceType{}
+ err := json.Unmarshal(rawPayload, data)
+ require.NoError(t, err)
+
+ versioned := &ResourceTypeResource{}
+
+ err = versioned.ConvertFrom(data)
+
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, versioned)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json
new file mode 100644
index 00000000000..a27f0e1ba90
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json
@@ -0,0 +1,7 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "name": "2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "provisioningState": "Succeeded",
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json b/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json
new file mode 100644
index 00000000000..b00654c87bd
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json
@@ -0,0 +1,5 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "name": "2025-01-01",
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json
new file mode 100644
index 00000000000..7554ec45767
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json
@@ -0,0 +1,16 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "name": "east",
+ "type": "System.Resources/resourceProviders/locations",
+ "provisioningState": "Succeeded",
+ "properties": {
+ "address": "https://east.myrp.com",
+ "resourceTypes": {
+ "testResources": {
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/location_resource.json b/pkg/ucp/api/v20231001preview/testdata/location_resource.json
new file mode 100644
index 00000000000..49b318f3640
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/location_resource.json
@@ -0,0 +1,14 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "name": "east",
+ "properties": {
+ "address": "https://east.myrp.com",
+ "resourceTypes": {
+ "testResources": {
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json
new file mode 100644
index 00000000000..7fa9b67dce5
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json
@@ -0,0 +1,8 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "name": "Applications.Test",
+ "type": "System.Resources/resourceProviders",
+ "location": "global",
+ "provisioningState": "Succeeded",
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json
new file mode 100644
index 00000000000..1702862764c
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json
@@ -0,0 +1,6 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "name": "Applications.Test",
+ "location": "global",
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json
new file mode 100644
index 00000000000..c7a17684141
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json
@@ -0,0 +1,16 @@
+{
+ "name": "Applications.Test",
+ "properties": {
+ "locations": {
+ "east": {}
+ },
+ "resourceTypes": {
+ "testResources": {
+ "defaultApiVersion": "2025-01-01",
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json
new file mode 100644
index 00000000000..0de9332a690
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json
@@ -0,0 +1,9 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "name": "testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "provisioningState": "Succeeded",
+ "properties": {
+ "defaultApiVersion": "2025-01-01"
+ }
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json b/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json
new file mode 100644
index 00000000000..67ca436b08c
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json
@@ -0,0 +1,7 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "name": "testResources",
+ "properties": {
+ "defaultApiVersion": "2025-01-01"
+ }
+}
\ No newline at end of file
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_apiversions_client.go b/pkg/ucp/api/v20231001preview/zz_generated_apiversions_client.go
new file mode 100644
index 00000000000..213af38bf7d
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/zz_generated_apiversions_client.go
@@ -0,0 +1,332 @@
+//go:build go1.18
+// +build go1.18
+
+// Licensed under the Apache License, Version 2.0 . See LICENSE in the repository root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+package v20231001preview
+
+import (
+ "context"
+ "errors"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// APIVersionsClient contains the methods for the APIVersions group.
+// Don't use this type directly, use NewAPIVersionsClient() instead.
+type APIVersionsClient struct {
+ internal *arm.Client
+}
+
+// NewAPIVersionsClient creates a new instance of APIVersionsClient with the specified values.
+// - credential - used to authorize requests. Usually a credential from azidentity.
+// - options - pass nil to accept the default values.
+func NewAPIVersionsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*APIVersionsClient, error) {
+ cl, err := arm.NewClient(moduleName+".APIVersionsClient", moduleVersion, credential, options)
+ if err != nil {
+ return nil, err
+ }
+ client := &APIVersionsClient{
+ internal: cl,
+ }
+ return client, nil
+}
+
+// BeginCreateOrUpdate - Create or update an API version.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - apiVersionName - The API version name.
+// - resource - Resource create parameters.
+// - options - APIVersionsClientBeginCreateOrUpdateOptions contains the optional parameters for the APIVersionsClient.BeginCreateOrUpdate
+// method.
+func (client *APIVersionsClient) BeginCreateOrUpdate(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, resource APIVersionResource, options *APIVersionsClientBeginCreateOrUpdateOptions) (*runtime.Poller[APIVersionsClientCreateOrUpdateResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.createOrUpdate(ctx, planeName, resourceProviderName, resourceTypeName, apiVersionName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[APIVersionsClientCreateOrUpdateResponse]{
+ FinalStateVia: runtime.FinalStateViaAzureAsyncOp,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[APIVersionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// CreateOrUpdate - Create or update an API version.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *APIVersionsClient) createOrUpdate(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, resource APIVersionResource, options *APIVersionsClientBeginCreateOrUpdateOptions) (*http.Response, error) {
+ var err error
+ req, err := client.createOrUpdateCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, apiVersionName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// createOrUpdateCreateRequest creates the CreateOrUpdate request.
+func (client *APIVersionsClient) createOrUpdateCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, resource APIVersionResource, options *APIVersionsClientBeginCreateOrUpdateOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}/apiversions/{apiVersionName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ if apiVersionName == "" {
+ return nil, errors.New("parameter apiVersionName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{apiVersionName}", url.PathEscape(apiVersionName))
+ req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ if err := runtime.MarshalAsJSON(req, resource); err != nil {
+ return nil, err
+}
+ return req, nil
+}
+
+// BeginDelete - Delete an API version.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - apiVersionName - The API version name.
+// - options - APIVersionsClientBeginDeleteOptions contains the optional parameters for the APIVersionsClient.BeginDelete method.
+func (client *APIVersionsClient) BeginDelete(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, options *APIVersionsClientBeginDeleteOptions) (*runtime.Poller[APIVersionsClientDeleteResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.deleteOperation(ctx, planeName, resourceProviderName, resourceTypeName, apiVersionName, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[APIVersionsClientDeleteResponse]{
+ FinalStateVia: runtime.FinalStateViaLocation,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[APIVersionsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// Delete - Delete an API version.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *APIVersionsClient) deleteOperation(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, options *APIVersionsClientBeginDeleteOptions) (*http.Response, error) {
+ var err error
+ req, err := client.deleteCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, apiVersionName, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// deleteCreateRequest creates the Delete request.
+func (client *APIVersionsClient) deleteCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, options *APIVersionsClientBeginDeleteOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}/apiversions/{apiVersionName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ if apiVersionName == "" {
+ return nil, errors.New("parameter apiVersionName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{apiVersionName}", url.PathEscape(apiVersionName))
+ req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// Get - Get the specified API version.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - apiVersionName - The API version name.
+// - options - APIVersionsClientGetOptions contains the optional parameters for the APIVersionsClient.Get method.
+func (client *APIVersionsClient) Get(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, options *APIVersionsClientGetOptions) (APIVersionsClientGetResponse, error) {
+ var err error
+ req, err := client.getCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, apiVersionName, options)
+ if err != nil {
+ return APIVersionsClientGetResponse{}, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return APIVersionsClientGetResponse{}, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK) {
+ err = runtime.NewResponseError(httpResp)
+ return APIVersionsClientGetResponse{}, err
+ }
+ resp, err := client.getHandleResponse(httpResp)
+ return resp, err
+}
+
+// getCreateRequest creates the Get request.
+func (client *APIVersionsClient) getCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, apiVersionName string, options *APIVersionsClientGetOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}/apiversions/{apiVersionName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ if apiVersionName == "" {
+ return nil, errors.New("parameter apiVersionName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{apiVersionName}", url.PathEscape(apiVersionName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// getHandleResponse handles the Get response.
+func (client *APIVersionsClient) getHandleResponse(resp *http.Response) (APIVersionsClientGetResponse, error) {
+ result := APIVersionsClientGetResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.APIVersionResource); err != nil {
+ return APIVersionsClientGetResponse{}, err
+ }
+ return result, nil
+}
+
+// NewListPager - List API versions.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - options - APIVersionsClientListOptions contains the optional parameters for the APIVersionsClient.NewListPager method.
+func (client *APIVersionsClient) NewListPager(planeName string, resourceProviderName string, resourceTypeName string, options *APIVersionsClientListOptions) (*runtime.Pager[APIVersionsClientListResponse]) {
+ return runtime.NewPager(runtime.PagingHandler[APIVersionsClientListResponse]{
+ More: func(page APIVersionsClientListResponse) bool {
+ return page.NextLink != nil && len(*page.NextLink) > 0
+ },
+ Fetcher: func(ctx context.Context, page *APIVersionsClientListResponse) (APIVersionsClientListResponse, error) {
+ var req *policy.Request
+ var err error
+ if page == nil {
+ req, err = client.listCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, options)
+ } else {
+ req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink)
+ }
+ if err != nil {
+ return APIVersionsClientListResponse{}, err
+ }
+ resp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return APIVersionsClientListResponse{}, err
+ }
+ if !runtime.HasStatusCode(resp, http.StatusOK) {
+ return APIVersionsClientListResponse{}, runtime.NewResponseError(resp)
+ }
+ return client.listHandleResponse(resp)
+ },
+ })
+}
+
+// listCreateRequest creates the List request.
+func (client *APIVersionsClient) listCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, options *APIVersionsClientListOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}/apiversions"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// listHandleResponse handles the List response.
+func (client *APIVersionsClient) listHandleResponse(resp *http.Response) (APIVersionsClientListResponse, error) {
+ result := APIVersionsClientListResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.APIVersionResourceListResult); err != nil {
+ return APIVersionsClientListResponse{}, err
+ }
+ return result, nil
+}
+
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_client_factory.go b/pkg/ucp/api/v20231001preview/zz_generated_client_factory.go
index cce33657b40..0c94e56ab6f 100644
--- a/pkg/ucp/api/v20231001preview/zz_generated_client_factory.go
+++ b/pkg/ucp/api/v20231001preview/zz_generated_client_factory.go
@@ -34,6 +34,11 @@ func NewClientFactory( credential azcore.TokenCredential, options *arm.ClientOpt
}, nil
}
+func (c *ClientFactory) NewAPIVersionsClient() *APIVersionsClient {
+ subClient, _ := NewAPIVersionsClient(c.credential, c.options)
+ return subClient
+}
+
func (c *ClientFactory) NewAwsCredentialsClient() *AwsCredentialsClient {
subClient, _ := NewAwsCredentialsClient(c.credential, c.options)
return subClient
@@ -54,6 +59,11 @@ func (c *ClientFactory) NewAzurePlanesClient() *AzurePlanesClient {
return subClient
}
+func (c *ClientFactory) NewLocationsClient() *LocationsClient {
+ subClient, _ := NewLocationsClient(c.credential, c.options)
+ return subClient
+}
+
func (c *ClientFactory) NewPlanesClient() *PlanesClient {
subClient, _ := NewPlanesClient(c.credential, c.options)
return subClient
@@ -69,6 +79,16 @@ func (c *ClientFactory) NewResourceGroupsClient() *ResourceGroupsClient {
return subClient
}
+func (c *ClientFactory) NewResourceProvidersClient() *ResourceProvidersClient {
+ subClient, _ := NewResourceProvidersClient(c.credential, c.options)
+ return subClient
+}
+
+func (c *ClientFactory) NewResourceTypesClient() *ResourceTypesClient {
+ subClient, _ := NewResourceTypesClient(c.credential, c.options)
+ return subClient
+}
+
func (c *ClientFactory) NewResourcesClient() *ResourcesClient {
subClient, _ := NewResourcesClient(c.credential, c.options)
return subClient
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_locations_client.go b/pkg/ucp/api/v20231001preview/zz_generated_locations_client.go
new file mode 100644
index 00000000000..01e75c698f9
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/zz_generated_locations_client.go
@@ -0,0 +1,314 @@
+//go:build go1.18
+// +build go1.18
+
+// Licensed under the Apache License, Version 2.0 . See LICENSE in the repository root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+package v20231001preview
+
+import (
+ "context"
+ "errors"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// LocationsClient contains the methods for the Locations group.
+// Don't use this type directly, use NewLocationsClient() instead.
+type LocationsClient struct {
+ internal *arm.Client
+}
+
+// NewLocationsClient creates a new instance of LocationsClient with the specified values.
+// - credential - used to authorize requests. Usually a credential from azidentity.
+// - options - pass nil to accept the default values.
+func NewLocationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*LocationsClient, error) {
+ cl, err := arm.NewClient(moduleName+".LocationsClient", moduleVersion, credential, options)
+ if err != nil {
+ return nil, err
+ }
+ client := &LocationsClient{
+ internal: cl,
+ }
+ return client, nil
+}
+
+// BeginCreateOrUpdate - Create or update a location. The location resource represents a logical location where the resource
+// provider operates.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - locationName - The location name.
+// - resource - Resource create parameters.
+// - options - LocationsClientBeginCreateOrUpdateOptions contains the optional parameters for the LocationsClient.BeginCreateOrUpdate
+// method.
+func (client *LocationsClient) BeginCreateOrUpdate(ctx context.Context, planeName string, resourceProviderName string, locationName string, resource LocationResource, options *LocationsClientBeginCreateOrUpdateOptions) (*runtime.Poller[LocationsClientCreateOrUpdateResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.createOrUpdate(ctx, planeName, resourceProviderName, locationName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LocationsClientCreateOrUpdateResponse]{
+ FinalStateVia: runtime.FinalStateViaAzureAsyncOp,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[LocationsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// CreateOrUpdate - Create or update a location. The location resource represents a logical location where the resource provider
+// operates.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *LocationsClient) createOrUpdate(ctx context.Context, planeName string, resourceProviderName string, locationName string, resource LocationResource, options *LocationsClientBeginCreateOrUpdateOptions) (*http.Response, error) {
+ var err error
+ req, err := client.createOrUpdateCreateRequest(ctx, planeName, resourceProviderName, locationName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// createOrUpdateCreateRequest creates the CreateOrUpdate request.
+func (client *LocationsClient) createOrUpdateCreateRequest(ctx context.Context, planeName string, resourceProviderName string, locationName string, resource LocationResource, options *LocationsClientBeginCreateOrUpdateOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/locations/{locationName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if locationName == "" {
+ return nil, errors.New("parameter locationName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{locationName}", url.PathEscape(locationName))
+ req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ if err := runtime.MarshalAsJSON(req, resource); err != nil {
+ return nil, err
+}
+ return req, nil
+}
+
+// BeginDelete - Delete a location. The location resource represents a logical location where the resource provider operates.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - locationName - The location name.
+// - options - LocationsClientBeginDeleteOptions contains the optional parameters for the LocationsClient.BeginDelete method.
+func (client *LocationsClient) BeginDelete(ctx context.Context, planeName string, resourceProviderName string, locationName string, options *LocationsClientBeginDeleteOptions) (*runtime.Poller[LocationsClientDeleteResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.deleteOperation(ctx, planeName, resourceProviderName, locationName, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LocationsClientDeleteResponse]{
+ FinalStateVia: runtime.FinalStateViaLocation,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[LocationsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// Delete - Delete a location. The location resource represents a logical location where the resource provider operates.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *LocationsClient) deleteOperation(ctx context.Context, planeName string, resourceProviderName string, locationName string, options *LocationsClientBeginDeleteOptions) (*http.Response, error) {
+ var err error
+ req, err := client.deleteCreateRequest(ctx, planeName, resourceProviderName, locationName, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// deleteCreateRequest creates the Delete request.
+func (client *LocationsClient) deleteCreateRequest(ctx context.Context, planeName string, resourceProviderName string, locationName string, options *LocationsClientBeginDeleteOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/locations/{locationName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if locationName == "" {
+ return nil, errors.New("parameter locationName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{locationName}", url.PathEscape(locationName))
+ req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// Get - Get the specified location. The location resource represents a logical location where the resource provider operates.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - locationName - The location name.
+// - options - LocationsClientGetOptions contains the optional parameters for the LocationsClient.Get method.
+func (client *LocationsClient) Get(ctx context.Context, planeName string, resourceProviderName string, locationName string, options *LocationsClientGetOptions) (LocationsClientGetResponse, error) {
+ var err error
+ req, err := client.getCreateRequest(ctx, planeName, resourceProviderName, locationName, options)
+ if err != nil {
+ return LocationsClientGetResponse{}, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return LocationsClientGetResponse{}, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK) {
+ err = runtime.NewResponseError(httpResp)
+ return LocationsClientGetResponse{}, err
+ }
+ resp, err := client.getHandleResponse(httpResp)
+ return resp, err
+}
+
+// getCreateRequest creates the Get request.
+func (client *LocationsClient) getCreateRequest(ctx context.Context, planeName string, resourceProviderName string, locationName string, options *LocationsClientGetOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/locations/{locationName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if locationName == "" {
+ return nil, errors.New("parameter locationName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{locationName}", url.PathEscape(locationName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// getHandleResponse handles the Get response.
+func (client *LocationsClient) getHandleResponse(resp *http.Response) (LocationsClientGetResponse, error) {
+ result := LocationsClientGetResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.LocationResource); err != nil {
+ return LocationsClientGetResponse{}, err
+ }
+ return result, nil
+}
+
+// NewListPager - List available locations for the specified resource provider.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - options - LocationsClientListOptions contains the optional parameters for the LocationsClient.NewListPager method.
+func (client *LocationsClient) NewListPager(planeName string, resourceProviderName string, options *LocationsClientListOptions) (*runtime.Pager[LocationsClientListResponse]) {
+ return runtime.NewPager(runtime.PagingHandler[LocationsClientListResponse]{
+ More: func(page LocationsClientListResponse) bool {
+ return page.NextLink != nil && len(*page.NextLink) > 0
+ },
+ Fetcher: func(ctx context.Context, page *LocationsClientListResponse) (LocationsClientListResponse, error) {
+ var req *policy.Request
+ var err error
+ if page == nil {
+ req, err = client.listCreateRequest(ctx, planeName, resourceProviderName, options)
+ } else {
+ req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink)
+ }
+ if err != nil {
+ return LocationsClientListResponse{}, err
+ }
+ resp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return LocationsClientListResponse{}, err
+ }
+ if !runtime.HasStatusCode(resp, http.StatusOK) {
+ return LocationsClientListResponse{}, runtime.NewResponseError(resp)
+ }
+ return client.listHandleResponse(resp)
+ },
+ })
+}
+
+// listCreateRequest creates the List request.
+func (client *LocationsClient) listCreateRequest(ctx context.Context, planeName string, resourceProviderName string, options *LocationsClientListOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/locations"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// listHandleResponse handles the List response.
+func (client *LocationsClient) listHandleResponse(resp *http.Response) (LocationsClientListResponse, error) {
+ result := LocationsClientListResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.LocationResourceListResult); err != nil {
+ return LocationsClientListResponse{}, err
+ }
+ return result, nil
+}
+
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_models.go b/pkg/ucp/api/v20231001preview/zz_generated_models.go
index 3cfd9ec0d94..4be1d1b2b33 100644
--- a/pkg/ucp/api/v20231001preview/zz_generated_models.go
+++ b/pkg/ucp/api/v20231001preview/zz_generated_models.go
@@ -9,6 +9,40 @@ package v20231001preview
import "time"
+// APIVersionProperties - The properties of an API version.
+type APIVersionProperties struct {
+ // READ-ONLY; The status of the asynchronous operation.
+ ProvisioningState *ProvisioningState
+}
+
+// APIVersionResource - The resource type for defining an API version of a resource type supported by the containing resource
+// provider.
+type APIVersionResource struct {
+ // The resource-specific properties for this resource.
+ Properties *APIVersionProperties
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
+// APIVersionResourceListResult - The response of a ApiVersionResource list operation.
+type APIVersionResourceListResult struct {
+ // REQUIRED; The ApiVersionResource items on this page
+ Value []*APIVersionResource
+
+ // The link to the next page of items
+ NextLink *string
+}
+
// AwsAccessKeyCredentialProperties - AWS credential properties for Access Key
type AwsAccessKeyCredentialProperties struct {
// REQUIRED; Access key ID for AWS identity
@@ -453,6 +487,61 @@ func (i *InternalCredentialStorageProperties) GetCredentialStorageProperties() *
}
}
+// LocationProperties - The properties of a location.
+type LocationProperties struct {
+ // Address of a resource provider implementation.
+ Address *string
+
+ // Configuration for resource types supported by the location.
+ ResourceTypes map[string]*LocationResourceType
+
+ // READ-ONLY; The status of the asynchronous operation.
+ ProvisioningState *ProvisioningState
+}
+
+// LocationResource - The resource type for defining a location of the containing resource provider. The location resource
+// represents a logical location where the resource provider operates.
+type LocationResource struct {
+ // The resource-specific properties for this resource.
+ Properties *LocationProperties
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
+// LocationResourceListResult - The response of a LocationResource list operation.
+type LocationResourceListResult struct {
+ // REQUIRED; The LocationResource items on this page
+ Value []*LocationResource
+
+ // The link to the next page of items
+ NextLink *string
+}
+
+// LocationResourceType - The configuration for a resource type in a specific location.
+type LocationResourceType struct {
+ // The configuration for API versions of a resource type supported by the location.
+ APIVersions map[string]map[string]any
+}
+
+// PagedResourceProviderSummary - Paged collection of ResourceProviderSummary items
+type PagedResourceProviderSummary struct {
+ // REQUIRED; The ResourceProviderSummary items on this page
+ Value []*ResourceProviderSummary
+
+ // The link to the next page of items
+ NextLink *string
+}
+
// PlaneNameParameter - The Plane Name parameter.
type PlaneNameParameter struct {
// REQUIRED; The name of the plane
@@ -583,6 +672,103 @@ type ResourceGroupResourceTagsUpdate struct {
Tags map[string]*string
}
+// ResourceProviderProperties - The properties of a resource provider.
+type ResourceProviderProperties struct {
+ // READ-ONLY; The status of the asynchronous operation.
+ ProvisioningState *ProvisioningState
+}
+
+// ResourceProviderResource - The resource type for defining a resource provider.
+type ResourceProviderResource struct {
+ // REQUIRED; The geo-location where the resource lives
+ Location *string
+
+ // The resource-specific properties for this resource.
+ Properties *ResourceProviderProperties
+
+ // Resource tags.
+ Tags map[string]*string
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
+// ResourceProviderResourceListResult - The response of a ResourceProviderResource list operation.
+type ResourceProviderResourceListResult struct {
+ // REQUIRED; The ResourceProviderResource items on this page
+ Value []*ResourceProviderResource
+
+ // The link to the next page of items
+ NextLink *string
+}
+
+// ResourceProviderSummary - The summary of a resource provider configuration. This type is optimized for querying resource
+// providers and supported types.
+type ResourceProviderSummary struct {
+ // REQUIRED; The resource provider locations.
+ Locations map[string]map[string]any
+
+ // REQUIRED; The resource provider name.
+ Name *string
+
+ // REQUIRED; The resource types supported by the resource provider.
+ ResourceTypes map[string]*ResourceProviderSummaryResourceType
+}
+
+// ResourceProviderSummaryResourceType - A resource type and its versions.
+type ResourceProviderSummaryResourceType struct {
+ // REQUIRED; API versions supported by the resource type.
+ APIVersions map[string]map[string]any
+
+ // REQUIRED; The default api version for the resource type.
+ DefaultAPIVersion *string
+}
+
+// ResourceTypeProperties - The properties of a resource type.
+type ResourceTypeProperties struct {
+ // REQUIRED; The default api version for the resource type.
+ DefaultAPIVersion *string
+
+ // READ-ONLY; The status of the asynchronous operation.
+ ProvisioningState *ProvisioningState
+}
+
+// ResourceTypeResource - The resource type for defining a resource type supported by the containing resource provider.
+type ResourceTypeResource struct {
+ // The resource-specific properties for this resource.
+ Properties *ResourceTypeProperties
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
+// ResourceTypeResourceListResult - The response of a ResourceTypeResource list operation.
+type ResourceTypeResourceListResult struct {
+ // REQUIRED; The ResourceTypeResource items on this page
+ Value []*ResourceTypeResource
+
+ // The link to the next page of items
+ NextLink *string
+}
+
// SystemData - Metadata pertaining to creation and last modification of the resource.
type SystemData struct {
// The timestamp of resource creation (UTC).
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_models_serde.go b/pkg/ucp/api/v20231001preview/zz_generated_models_serde.go
index 32d327b2ea9..f62e590dfd3 100644
--- a/pkg/ucp/api/v20231001preview/zz_generated_models_serde.go
+++ b/pkg/ucp/api/v20231001preview/zz_generated_models_serde.go
@@ -14,6 +14,107 @@ import (
"reflect"
)
+// MarshalJSON implements the json.Marshaller interface for type APIVersionProperties.
+func (a APIVersionProperties) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "provisioningState", a.ProvisioningState)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type APIVersionProperties.
+func (a *APIVersionProperties) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "provisioningState":
+ err = unpopulate(val, "ProvisioningState", &a.ProvisioningState)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type APIVersionResource.
+func (a APIVersionResource) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", a.ID)
+ populate(objectMap, "name", a.Name)
+ populate(objectMap, "properties", a.Properties)
+ populate(objectMap, "systemData", a.SystemData)
+ populate(objectMap, "type", a.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type APIVersionResource.
+func (a *APIVersionResource) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &a.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &a.Name)
+ delete(rawMsg, key)
+ case "properties":
+ err = unpopulate(val, "Properties", &a.Properties)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &a.SystemData)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &a.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type APIVersionResourceListResult.
+func (a APIVersionResourceListResult) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "nextLink", a.NextLink)
+ populate(objectMap, "value", a.Value)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type APIVersionResourceListResult.
+func (a *APIVersionResourceListResult) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "nextLink":
+ err = unpopulate(val, "NextLink", &a.NextLink)
+ delete(rawMsg, key)
+ case "value":
+ err = unpopulate(val, "Value", &a.Value)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ }
+ return nil
+}
+
// MarshalJSON implements the json.Marshaller interface for type AwsAccessKeyCredentialProperties.
func (a AwsAccessKeyCredentialProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -1127,6 +1228,173 @@ func (i *InternalCredentialStorageProperties) UnmarshalJSON(data []byte) error {
return nil
}
+// MarshalJSON implements the json.Marshaller interface for type LocationProperties.
+func (l LocationProperties) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "address", l.Address)
+ populate(objectMap, "provisioningState", l.ProvisioningState)
+ populate(objectMap, "resourceTypes", l.ResourceTypes)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type LocationProperties.
+func (l *LocationProperties) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "address":
+ err = unpopulate(val, "Address", &l.Address)
+ delete(rawMsg, key)
+ case "provisioningState":
+ err = unpopulate(val, "ProvisioningState", &l.ProvisioningState)
+ delete(rawMsg, key)
+ case "resourceTypes":
+ err = unpopulate(val, "ResourceTypes", &l.ResourceTypes)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type LocationResource.
+func (l LocationResource) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", l.ID)
+ populate(objectMap, "name", l.Name)
+ populate(objectMap, "properties", l.Properties)
+ populate(objectMap, "systemData", l.SystemData)
+ populate(objectMap, "type", l.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type LocationResource.
+func (l *LocationResource) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &l.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &l.Name)
+ delete(rawMsg, key)
+ case "properties":
+ err = unpopulate(val, "Properties", &l.Properties)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &l.SystemData)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &l.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type LocationResourceListResult.
+func (l LocationResourceListResult) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "nextLink", l.NextLink)
+ populate(objectMap, "value", l.Value)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type LocationResourceListResult.
+func (l *LocationResourceListResult) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "nextLink":
+ err = unpopulate(val, "NextLink", &l.NextLink)
+ delete(rawMsg, key)
+ case "value":
+ err = unpopulate(val, "Value", &l.Value)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type LocationResourceType.
+func (l LocationResourceType) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "apiVersions", l.APIVersions)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type LocationResourceType.
+func (l *LocationResourceType) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "apiVersions":
+ err = unpopulate(val, "APIVersions", &l.APIVersions)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", l, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type PagedResourceProviderSummary.
+func (p PagedResourceProviderSummary) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "nextLink", p.NextLink)
+ populate(objectMap, "value", p.Value)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type PagedResourceProviderSummary.
+func (p *PagedResourceProviderSummary) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", p, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "nextLink":
+ err = unpopulate(val, "NextLink", &p.NextLink)
+ delete(rawMsg, key)
+ case "value":
+ err = unpopulate(val, "Value", &p.Value)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", p, err)
+ }
+ }
+ return nil
+}
+
// MarshalJSON implements the json.Marshaller interface for type PlaneNameParameter.
func (p PlaneNameParameter) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -1508,6 +1776,286 @@ func (r *ResourceGroupResourceTagsUpdate) UnmarshalJSON(data []byte) error {
return nil
}
+// MarshalJSON implements the json.Marshaller interface for type ResourceProviderProperties.
+func (r ResourceProviderProperties) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "provisioningState", r.ProvisioningState)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderProperties.
+func (r *ResourceProviderProperties) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "provisioningState":
+ err = unpopulate(val, "ProvisioningState", &r.ProvisioningState)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceProviderResource.
+func (r ResourceProviderResource) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", r.ID)
+ populate(objectMap, "location", r.Location)
+ populate(objectMap, "name", r.Name)
+ populate(objectMap, "properties", r.Properties)
+ populate(objectMap, "systemData", r.SystemData)
+ populate(objectMap, "tags", r.Tags)
+ populate(objectMap, "type", r.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderResource.
+func (r *ResourceProviderResource) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &r.ID)
+ delete(rawMsg, key)
+ case "location":
+ err = unpopulate(val, "Location", &r.Location)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &r.Name)
+ delete(rawMsg, key)
+ case "properties":
+ err = unpopulate(val, "Properties", &r.Properties)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &r.SystemData)
+ delete(rawMsg, key)
+ case "tags":
+ err = unpopulate(val, "Tags", &r.Tags)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &r.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceProviderResourceListResult.
+func (r ResourceProviderResourceListResult) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "nextLink", r.NextLink)
+ populate(objectMap, "value", r.Value)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderResourceListResult.
+func (r *ResourceProviderResourceListResult) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "nextLink":
+ err = unpopulate(val, "NextLink", &r.NextLink)
+ delete(rawMsg, key)
+ case "value":
+ err = unpopulate(val, "Value", &r.Value)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceProviderSummary.
+func (r ResourceProviderSummary) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "locations", r.Locations)
+ populate(objectMap, "name", r.Name)
+ populate(objectMap, "resourceTypes", r.ResourceTypes)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderSummary.
+func (r *ResourceProviderSummary) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "locations":
+ err = unpopulate(val, "Locations", &r.Locations)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &r.Name)
+ delete(rawMsg, key)
+ case "resourceTypes":
+ err = unpopulate(val, "ResourceTypes", &r.ResourceTypes)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceProviderSummaryResourceType.
+func (r ResourceProviderSummaryResourceType) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "apiVersions", r.APIVersions)
+ populate(objectMap, "defaultApiVersion", r.DefaultAPIVersion)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceProviderSummaryResourceType.
+func (r *ResourceProviderSummaryResourceType) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "apiVersions":
+ err = unpopulate(val, "APIVersions", &r.APIVersions)
+ delete(rawMsg, key)
+ case "defaultApiVersion":
+ err = unpopulate(val, "DefaultAPIVersion", &r.DefaultAPIVersion)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceTypeProperties.
+func (r ResourceTypeProperties) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "defaultApiVersion", r.DefaultAPIVersion)
+ populate(objectMap, "provisioningState", r.ProvisioningState)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceTypeProperties.
+func (r *ResourceTypeProperties) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "defaultApiVersion":
+ err = unpopulate(val, "DefaultAPIVersion", &r.DefaultAPIVersion)
+ delete(rawMsg, key)
+ case "provisioningState":
+ err = unpopulate(val, "ProvisioningState", &r.ProvisioningState)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceTypeResource.
+func (r ResourceTypeResource) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", r.ID)
+ populate(objectMap, "name", r.Name)
+ populate(objectMap, "properties", r.Properties)
+ populate(objectMap, "systemData", r.SystemData)
+ populate(objectMap, "type", r.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceTypeResource.
+func (r *ResourceTypeResource) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &r.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &r.Name)
+ delete(rawMsg, key)
+ case "properties":
+ err = unpopulate(val, "Properties", &r.Properties)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &r.SystemData)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &r.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
+// MarshalJSON implements the json.Marshaller interface for type ResourceTypeResourceListResult.
+func (r ResourceTypeResourceListResult) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "nextLink", r.NextLink)
+ populate(objectMap, "value", r.Value)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceTypeResourceListResult.
+func (r *ResourceTypeResourceListResult) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "nextLink":
+ err = unpopulate(val, "NextLink", &r.NextLink)
+ delete(rawMsg, key)
+ case "value":
+ err = unpopulate(val, "Value", &r.Value)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", r, err)
+ }
+ }
+ return nil
+}
+
// MarshalJSON implements the json.Marshaller interface for type SystemData.
func (s SystemData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_options.go b/pkg/ucp/api/v20231001preview/zz_generated_options.go
index f42bbe5e13a..56132691bdb 100644
--- a/pkg/ucp/api/v20231001preview/zz_generated_options.go
+++ b/pkg/ucp/api/v20231001preview/zz_generated_options.go
@@ -7,6 +7,29 @@
package v20231001preview
+// APIVersionsClientBeginCreateOrUpdateOptions contains the optional parameters for the APIVersionsClient.BeginCreateOrUpdate
+// method.
+type APIVersionsClientBeginCreateOrUpdateOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// APIVersionsClientBeginDeleteOptions contains the optional parameters for the APIVersionsClient.BeginDelete method.
+type APIVersionsClientBeginDeleteOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// APIVersionsClientGetOptions contains the optional parameters for the APIVersionsClient.Get method.
+type APIVersionsClientGetOptions struct {
+ // placeholder for future optional parameters
+}
+
+// APIVersionsClientListOptions contains the optional parameters for the APIVersionsClient.NewListPager method.
+type APIVersionsClientListOptions struct {
+ // placeholder for future optional parameters
+}
+
// AwsCredentialsClientCreateOrUpdateOptions contains the optional parameters for the AwsCredentialsClient.CreateOrUpdate
// method.
type AwsCredentialsClientCreateOrUpdateOptions struct {
@@ -117,6 +140,29 @@ type AzurePlanesClientListOptions struct {
// placeholder for future optional parameters
}
+// LocationsClientBeginCreateOrUpdateOptions contains the optional parameters for the LocationsClient.BeginCreateOrUpdate
+// method.
+type LocationsClientBeginCreateOrUpdateOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// LocationsClientBeginDeleteOptions contains the optional parameters for the LocationsClient.BeginDelete method.
+type LocationsClientBeginDeleteOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// LocationsClientGetOptions contains the optional parameters for the LocationsClient.Get method.
+type LocationsClientGetOptions struct {
+ // placeholder for future optional parameters
+}
+
+// LocationsClientListOptions contains the optional parameters for the LocationsClient.NewListPager method.
+type LocationsClientListOptions struct {
+ // placeholder for future optional parameters
+}
+
// PlanesClientListPlanesOptions contains the optional parameters for the PlanesClient.NewListPlanesPager method.
type PlanesClientListPlanesOptions struct {
// placeholder for future optional parameters
@@ -177,6 +223,65 @@ type ResourceGroupsClientUpdateOptions struct {
// placeholder for future optional parameters
}
+// ResourceProvidersClientBeginCreateOrUpdateOptions contains the optional parameters for the ResourceProvidersClient.BeginCreateOrUpdate
+// method.
+type ResourceProvidersClientBeginCreateOrUpdateOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// ResourceProvidersClientBeginDeleteOptions contains the optional parameters for the ResourceProvidersClient.BeginDelete
+// method.
+type ResourceProvidersClientBeginDeleteOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// ResourceProvidersClientGetOptions contains the optional parameters for the ResourceProvidersClient.Get method.
+type ResourceProvidersClientGetOptions struct {
+ // placeholder for future optional parameters
+}
+
+// ResourceProvidersClientGetProviderSummaryOptions contains the optional parameters for the ResourceProvidersClient.GetProviderSummary
+// method.
+type ResourceProvidersClientGetProviderSummaryOptions struct {
+ // placeholder for future optional parameters
+}
+
+// ResourceProvidersClientListOptions contains the optional parameters for the ResourceProvidersClient.NewListPager method.
+type ResourceProvidersClientListOptions struct {
+ // placeholder for future optional parameters
+}
+
+// ResourceProvidersClientListProviderSummariesOptions contains the optional parameters for the ResourceProvidersClient.NewListProviderSummariesPager
+// method.
+type ResourceProvidersClientListProviderSummariesOptions struct {
+ // placeholder for future optional parameters
+}
+
+// ResourceTypesClientBeginCreateOrUpdateOptions contains the optional parameters for the ResourceTypesClient.BeginCreateOrUpdate
+// method.
+type ResourceTypesClientBeginCreateOrUpdateOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// ResourceTypesClientBeginDeleteOptions contains the optional parameters for the ResourceTypesClient.BeginDelete method.
+type ResourceTypesClientBeginDeleteOptions struct {
+ // Resumes the LRO from the provided token.
+ ResumeToken string
+}
+
+// ResourceTypesClientGetOptions contains the optional parameters for the ResourceTypesClient.Get method.
+type ResourceTypesClientGetOptions struct {
+ // placeholder for future optional parameters
+}
+
+// ResourceTypesClientListOptions contains the optional parameters for the ResourceTypesClient.NewListPager method.
+type ResourceTypesClientListOptions struct {
+ // placeholder for future optional parameters
+}
+
// ResourcesClientListOptions contains the optional parameters for the ResourcesClient.NewListPager method.
type ResourcesClientListOptions struct {
// placeholder for future optional parameters
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_resourceproviders_client.go b/pkg/ucp/api/v20231001preview/zz_generated_resourceproviders_client.go
new file mode 100644
index 00000000000..dd8f52981f1
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/zz_generated_resourceproviders_client.go
@@ -0,0 +1,414 @@
+//go:build go1.18
+// +build go1.18
+
+// Licensed under the Apache License, Version 2.0 . See LICENSE in the repository root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+package v20231001preview
+
+import (
+ "context"
+ "errors"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// ResourceProvidersClient contains the methods for the ResourceProviders group.
+// Don't use this type directly, use NewResourceProvidersClient() instead.
+type ResourceProvidersClient struct {
+ internal *arm.Client
+}
+
+// NewResourceProvidersClient creates a new instance of ResourceProvidersClient with the specified values.
+// - credential - used to authorize requests. Usually a credential from azidentity.
+// - options - pass nil to accept the default values.
+func NewResourceProvidersClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*ResourceProvidersClient, error) {
+ cl, err := arm.NewClient(moduleName+".ResourceProvidersClient", moduleVersion, credential, options)
+ if err != nil {
+ return nil, err
+ }
+ client := &ResourceProvidersClient{
+ internal: cl,
+ }
+ return client, nil
+}
+
+// BeginCreateOrUpdate - Create or update a resource provider
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resource - Resource create parameters.
+// - options - ResourceProvidersClientBeginCreateOrUpdateOptions contains the optional parameters for the ResourceProvidersClient.BeginCreateOrUpdate
+// method.
+func (client *ResourceProvidersClient) BeginCreateOrUpdate(ctx context.Context, planeName string, resourceProviderName string, resource ResourceProviderResource, options *ResourceProvidersClientBeginCreateOrUpdateOptions) (*runtime.Poller[ResourceProvidersClientCreateOrUpdateResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.createOrUpdate(ctx, planeName, resourceProviderName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ResourceProvidersClientCreateOrUpdateResponse]{
+ FinalStateVia: runtime.FinalStateViaAzureAsyncOp,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[ResourceProvidersClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// CreateOrUpdate - Create or update a resource provider
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *ResourceProvidersClient) createOrUpdate(ctx context.Context, planeName string, resourceProviderName string, resource ResourceProviderResource, options *ResourceProvidersClientBeginCreateOrUpdateOptions) (*http.Response, error) {
+ var err error
+ req, err := client.createOrUpdateCreateRequest(ctx, planeName, resourceProviderName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// createOrUpdateCreateRequest creates the CreateOrUpdate request.
+func (client *ResourceProvidersClient) createOrUpdateCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resource ResourceProviderResource, options *ResourceProvidersClientBeginCreateOrUpdateOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ if err := runtime.MarshalAsJSON(req, resource); err != nil {
+ return nil, err
+}
+ return req, nil
+}
+
+// BeginDelete - Delete a resource provider
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - options - ResourceProvidersClientBeginDeleteOptions contains the optional parameters for the ResourceProvidersClient.BeginDelete
+// method.
+func (client *ResourceProvidersClient) BeginDelete(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientBeginDeleteOptions) (*runtime.Poller[ResourceProvidersClientDeleteResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.deleteOperation(ctx, planeName, resourceProviderName, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ResourceProvidersClientDeleteResponse]{
+ FinalStateVia: runtime.FinalStateViaLocation,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[ResourceProvidersClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// Delete - Delete a resource provider
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *ResourceProvidersClient) deleteOperation(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientBeginDeleteOptions) (*http.Response, error) {
+ var err error
+ req, err := client.deleteCreateRequest(ctx, planeName, resourceProviderName, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// deleteCreateRequest creates the Delete request.
+func (client *ResourceProvidersClient) deleteCreateRequest(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientBeginDeleteOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// Get - Get the specified resource provider.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - options - ResourceProvidersClientGetOptions contains the optional parameters for the ResourceProvidersClient.Get method.
+func (client *ResourceProvidersClient) Get(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientGetOptions) (ResourceProvidersClientGetResponse, error) {
+ var err error
+ req, err := client.getCreateRequest(ctx, planeName, resourceProviderName, options)
+ if err != nil {
+ return ResourceProvidersClientGetResponse{}, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return ResourceProvidersClientGetResponse{}, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK) {
+ err = runtime.NewResponseError(httpResp)
+ return ResourceProvidersClientGetResponse{}, err
+ }
+ resp, err := client.getHandleResponse(httpResp)
+ return resp, err
+}
+
+// getCreateRequest creates the Get request.
+func (client *ResourceProvidersClient) getCreateRequest(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientGetOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// getHandleResponse handles the Get response.
+func (client *ResourceProvidersClient) getHandleResponse(resp *http.Response) (ResourceProvidersClientGetResponse, error) {
+ result := ResourceProvidersClientGetResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.ResourceProviderResource); err != nil {
+ return ResourceProvidersClientGetResponse{}, err
+ }
+ return result, nil
+}
+
+// GetProviderSummary - Get the specified resource provider summary. The resource provider summary aggregates the most commonly
+// used information including locations, api versions and resource types.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - options - ResourceProvidersClientGetProviderSummaryOptions contains the optional parameters for the ResourceProvidersClient.GetProviderSummary
+// method.
+func (client *ResourceProvidersClient) GetProviderSummary(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientGetProviderSummaryOptions) (ResourceProvidersClientGetProviderSummaryResponse, error) {
+ var err error
+ req, err := client.getProviderSummaryCreateRequest(ctx, planeName, resourceProviderName, options)
+ if err != nil {
+ return ResourceProvidersClientGetProviderSummaryResponse{}, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return ResourceProvidersClientGetProviderSummaryResponse{}, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK) {
+ err = runtime.NewResponseError(httpResp)
+ return ResourceProvidersClientGetProviderSummaryResponse{}, err
+ }
+ resp, err := client.getProviderSummaryHandleResponse(httpResp)
+ return resp, err
+}
+
+// getProviderSummaryCreateRequest creates the GetProviderSummary request.
+func (client *ResourceProvidersClient) getProviderSummaryCreateRequest(ctx context.Context, planeName string, resourceProviderName string, options *ResourceProvidersClientGetProviderSummaryOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/{resourceProviderName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// getProviderSummaryHandleResponse handles the GetProviderSummary response.
+func (client *ResourceProvidersClient) getProviderSummaryHandleResponse(resp *http.Response) (ResourceProvidersClientGetProviderSummaryResponse, error) {
+ result := ResourceProvidersClientGetProviderSummaryResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.ResourceProviderSummary); err != nil {
+ return ResourceProvidersClientGetProviderSummaryResponse{}, err
+ }
+ return result, nil
+}
+
+// NewListPager - List resource providers.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - options - ResourceProvidersClientListOptions contains the optional parameters for the ResourceProvidersClient.NewListPager
+// method.
+func (client *ResourceProvidersClient) NewListPager(planeName string, options *ResourceProvidersClientListOptions) (*runtime.Pager[ResourceProvidersClientListResponse]) {
+ return runtime.NewPager(runtime.PagingHandler[ResourceProvidersClientListResponse]{
+ More: func(page ResourceProvidersClientListResponse) bool {
+ return page.NextLink != nil && len(*page.NextLink) > 0
+ },
+ Fetcher: func(ctx context.Context, page *ResourceProvidersClientListResponse) (ResourceProvidersClientListResponse, error) {
+ var req *policy.Request
+ var err error
+ if page == nil {
+ req, err = client.listCreateRequest(ctx, planeName, options)
+ } else {
+ req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink)
+ }
+ if err != nil {
+ return ResourceProvidersClientListResponse{}, err
+ }
+ resp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return ResourceProvidersClientListResponse{}, err
+ }
+ if !runtime.HasStatusCode(resp, http.StatusOK) {
+ return ResourceProvidersClientListResponse{}, runtime.NewResponseError(resp)
+ }
+ return client.listHandleResponse(resp)
+ },
+ })
+}
+
+// listCreateRequest creates the List request.
+func (client *ResourceProvidersClient) listCreateRequest(ctx context.Context, planeName string, options *ResourceProvidersClientListOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// listHandleResponse handles the List response.
+func (client *ResourceProvidersClient) listHandleResponse(resp *http.Response) (ResourceProvidersClientListResponse, error) {
+ result := ResourceProvidersClientListResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.ResourceProviderResourceListResult); err != nil {
+ return ResourceProvidersClientListResponse{}, err
+ }
+ return result, nil
+}
+
+// NewListProviderSummariesPager - List resource provider summaries. The resource provider summary aggregates the most commonly
+// used information including locations, api versions and resource types.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - options - ResourceProvidersClientListProviderSummariesOptions contains the optional parameters for the ResourceProvidersClient.NewListProviderSummariesPager
+// method.
+func (client *ResourceProvidersClient) NewListProviderSummariesPager(planeName string, options *ResourceProvidersClientListProviderSummariesOptions) (*runtime.Pager[ResourceProvidersClientListProviderSummariesResponse]) {
+ return runtime.NewPager(runtime.PagingHandler[ResourceProvidersClientListProviderSummariesResponse]{
+ More: func(page ResourceProvidersClientListProviderSummariesResponse) bool {
+ return page.NextLink != nil && len(*page.NextLink) > 0
+ },
+ Fetcher: func(ctx context.Context, page *ResourceProvidersClientListProviderSummariesResponse) (ResourceProvidersClientListProviderSummariesResponse, error) {
+ var req *policy.Request
+ var err error
+ if page == nil {
+ req, err = client.listProviderSummariesCreateRequest(ctx, planeName, options)
+ } else {
+ req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink)
+ }
+ if err != nil {
+ return ResourceProvidersClientListProviderSummariesResponse{}, err
+ }
+ resp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return ResourceProvidersClientListProviderSummariesResponse{}, err
+ }
+ if !runtime.HasStatusCode(resp, http.StatusOK) {
+ return ResourceProvidersClientListProviderSummariesResponse{}, runtime.NewResponseError(resp)
+ }
+ return client.listProviderSummariesHandleResponse(resp)
+ },
+ })
+}
+
+// listProviderSummariesCreateRequest creates the ListProviderSummaries request.
+func (client *ResourceProvidersClient) listProviderSummariesCreateRequest(ctx context.Context, planeName string, options *ResourceProvidersClientListProviderSummariesOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// listProviderSummariesHandleResponse handles the ListProviderSummaries response.
+func (client *ResourceProvidersClient) listProviderSummariesHandleResponse(resp *http.Response) (ResourceProvidersClientListProviderSummariesResponse, error) {
+ result := ResourceProvidersClientListProviderSummariesResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.PagedResourceProviderSummary); err != nil {
+ return ResourceProvidersClientListProviderSummariesResponse{}, err
+ }
+ return result, nil
+}
+
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_resourcetypes_client.go b/pkg/ucp/api/v20231001preview/zz_generated_resourcetypes_client.go
new file mode 100644
index 00000000000..e1e8e2cfcb6
--- /dev/null
+++ b/pkg/ucp/api/v20231001preview/zz_generated_resourcetypes_client.go
@@ -0,0 +1,313 @@
+//go:build go1.18
+// +build go1.18
+
+// Licensed under the Apache License, Version 2.0 . See LICENSE in the repository root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+package v20231001preview
+
+import (
+ "context"
+ "errors"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// ResourceTypesClient contains the methods for the ResourceTypes group.
+// Don't use this type directly, use NewResourceTypesClient() instead.
+type ResourceTypesClient struct {
+ internal *arm.Client
+}
+
+// NewResourceTypesClient creates a new instance of ResourceTypesClient with the specified values.
+// - credential - used to authorize requests. Usually a credential from azidentity.
+// - options - pass nil to accept the default values.
+func NewResourceTypesClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*ResourceTypesClient, error) {
+ cl, err := arm.NewClient(moduleName+".ResourceTypesClient", moduleVersion, credential, options)
+ if err != nil {
+ return nil, err
+ }
+ client := &ResourceTypesClient{
+ internal: cl,
+ }
+ return client, nil
+}
+
+// BeginCreateOrUpdate - Create or update a resource type
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - resource - Resource create parameters.
+// - options - ResourceTypesClientBeginCreateOrUpdateOptions contains the optional parameters for the ResourceTypesClient.BeginCreateOrUpdate
+// method.
+func (client *ResourceTypesClient) BeginCreateOrUpdate(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, resource ResourceTypeResource, options *ResourceTypesClientBeginCreateOrUpdateOptions) (*runtime.Poller[ResourceTypesClientCreateOrUpdateResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.createOrUpdate(ctx, planeName, resourceProviderName, resourceTypeName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ResourceTypesClientCreateOrUpdateResponse]{
+ FinalStateVia: runtime.FinalStateViaAzureAsyncOp,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[ResourceTypesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// CreateOrUpdate - Create or update a resource type
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *ResourceTypesClient) createOrUpdate(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, resource ResourceTypeResource, options *ResourceTypesClientBeginCreateOrUpdateOptions) (*http.Response, error) {
+ var err error
+ req, err := client.createOrUpdateCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, resource, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// createOrUpdateCreateRequest creates the CreateOrUpdate request.
+func (client *ResourceTypesClient) createOrUpdateCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, resource ResourceTypeResource, options *ResourceTypesClientBeginCreateOrUpdateOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ if err := runtime.MarshalAsJSON(req, resource); err != nil {
+ return nil, err
+}
+ return req, nil
+}
+
+// BeginDelete - Delete a resource type
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - options - ResourceTypesClientBeginDeleteOptions contains the optional parameters for the ResourceTypesClient.BeginDelete
+// method.
+func (client *ResourceTypesClient) BeginDelete(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, options *ResourceTypesClientBeginDeleteOptions) (*runtime.Poller[ResourceTypesClientDeleteResponse], error) {
+ if options == nil || options.ResumeToken == "" {
+ resp, err := client.deleteOperation(ctx, planeName, resourceProviderName, resourceTypeName, options)
+ if err != nil {
+ return nil, err
+ }
+ poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ResourceTypesClientDeleteResponse]{
+ FinalStateVia: runtime.FinalStateViaLocation,
+ })
+ return poller, err
+ } else {
+ return runtime.NewPollerFromResumeToken[ResourceTypesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil)
+ }
+}
+
+// Delete - Delete a resource type
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+func (client *ResourceTypesClient) deleteOperation(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, options *ResourceTypesClientBeginDeleteOptions) (*http.Response, error) {
+ var err error
+ req, err := client.deleteCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, options)
+ if err != nil {
+ return nil, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return nil, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ err = runtime.NewResponseError(httpResp)
+ return nil, err
+ }
+ return httpResp, nil
+}
+
+// deleteCreateRequest creates the Delete request.
+func (client *ResourceTypesClient) deleteCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, options *ResourceTypesClientBeginDeleteOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// Get - Get the specified resource type.
+// If the operation fails it returns an *azcore.ResponseError type.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - resourceTypeName - The resource type name.
+// - options - ResourceTypesClientGetOptions contains the optional parameters for the ResourceTypesClient.Get method.
+func (client *ResourceTypesClient) Get(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, options *ResourceTypesClientGetOptions) (ResourceTypesClientGetResponse, error) {
+ var err error
+ req, err := client.getCreateRequest(ctx, planeName, resourceProviderName, resourceTypeName, options)
+ if err != nil {
+ return ResourceTypesClientGetResponse{}, err
+ }
+ httpResp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return ResourceTypesClientGetResponse{}, err
+ }
+ if !runtime.HasStatusCode(httpResp, http.StatusOK) {
+ err = runtime.NewResponseError(httpResp)
+ return ResourceTypesClientGetResponse{}, err
+ }
+ resp, err := client.getHandleResponse(httpResp)
+ return resp, err
+}
+
+// getCreateRequest creates the Get request.
+func (client *ResourceTypesClient) getCreateRequest(ctx context.Context, planeName string, resourceProviderName string, resourceTypeName string, options *ResourceTypesClientGetOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ if resourceTypeName == "" {
+ return nil, errors.New("parameter resourceTypeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceTypeName}", url.PathEscape(resourceTypeName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// getHandleResponse handles the Get response.
+func (client *ResourceTypesClient) getHandleResponse(resp *http.Response) (ResourceTypesClientGetResponse, error) {
+ result := ResourceTypesClientGetResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.ResourceTypeResource); err != nil {
+ return ResourceTypesClientGetResponse{}, err
+ }
+ return result, nil
+}
+
+// NewListPager - List resource types.
+//
+// Generated from API version 2023-10-01-preview
+// - planeName - The plane name.
+// - resourceProviderName - The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.
+// - options - ResourceTypesClientListOptions contains the optional parameters for the ResourceTypesClient.NewListPager method.
+func (client *ResourceTypesClient) NewListPager(planeName string, resourceProviderName string, options *ResourceTypesClientListOptions) (*runtime.Pager[ResourceTypesClientListResponse]) {
+ return runtime.NewPager(runtime.PagingHandler[ResourceTypesClientListResponse]{
+ More: func(page ResourceTypesClientListResponse) bool {
+ return page.NextLink != nil && len(*page.NextLink) > 0
+ },
+ Fetcher: func(ctx context.Context, page *ResourceTypesClientListResponse) (ResourceTypesClientListResponse, error) {
+ var req *policy.Request
+ var err error
+ if page == nil {
+ req, err = client.listCreateRequest(ctx, planeName, resourceProviderName, options)
+ } else {
+ req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink)
+ }
+ if err != nil {
+ return ResourceTypesClientListResponse{}, err
+ }
+ resp, err := client.internal.Pipeline().Do(req)
+ if err != nil {
+ return ResourceTypesClientListResponse{}, err
+ }
+ if !runtime.HasStatusCode(resp, http.StatusOK) {
+ return ResourceTypesClientListResponse{}, runtime.NewResponseError(resp)
+ }
+ return client.listHandleResponse(resp)
+ },
+ })
+}
+
+// listCreateRequest creates the List request.
+func (client *ResourceTypesClient) listCreateRequest(ctx context.Context, planeName string, resourceProviderName string, options *ResourceTypesClientListOptions) (*policy.Request, error) {
+ urlPath := "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes"
+ if planeName == "" {
+ return nil, errors.New("parameter planeName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{planeName}", url.PathEscape(planeName))
+ if resourceProviderName == "" {
+ return nil, errors.New("parameter resourceProviderName cannot be empty")
+ }
+ urlPath = strings.ReplaceAll(urlPath, "{resourceProviderName}", url.PathEscape(resourceProviderName))
+ req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath))
+ if err != nil {
+ return nil, err
+ }
+ reqQP := req.Raw().URL.Query()
+ reqQP.Set("api-version", "2023-10-01-preview")
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/json"}
+ return req, nil
+}
+
+// listHandleResponse handles the List response.
+func (client *ResourceTypesClient) listHandleResponse(resp *http.Response) (ResourceTypesClientListResponse, error) {
+ result := ResourceTypesClientListResponse{}
+ if err := runtime.UnmarshalAsJSON(resp, &result.ResourceTypeResourceListResult); err != nil {
+ return ResourceTypesClientListResponse{}, err
+ }
+ return result, nil
+}
+
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_response_types.go b/pkg/ucp/api/v20231001preview/zz_generated_response_types.go
index e93fae78e7b..c5e912f1226 100644
--- a/pkg/ucp/api/v20231001preview/zz_generated_response_types.go
+++ b/pkg/ucp/api/v20231001preview/zz_generated_response_types.go
@@ -7,6 +7,29 @@
package v20231001preview
+// APIVersionsClientCreateOrUpdateResponse contains the response from method APIVersionsClient.BeginCreateOrUpdate.
+type APIVersionsClientCreateOrUpdateResponse struct {
+ // The resource type for defining an API version of a resource type supported by the containing resource provider.
+ APIVersionResource
+}
+
+// APIVersionsClientDeleteResponse contains the response from method APIVersionsClient.BeginDelete.
+type APIVersionsClientDeleteResponse struct {
+ // placeholder for future response values
+}
+
+// APIVersionsClientGetResponse contains the response from method APIVersionsClient.Get.
+type APIVersionsClientGetResponse struct {
+ // The resource type for defining an API version of a resource type supported by the containing resource provider.
+ APIVersionResource
+}
+
+// APIVersionsClientListResponse contains the response from method APIVersionsClient.NewListPager.
+type APIVersionsClientListResponse struct {
+ // The response of a ApiVersionResource list operation.
+ APIVersionResourceListResult
+}
+
// AwsCredentialsClientCreateOrUpdateResponse contains the response from method AwsCredentialsClient.CreateOrUpdate.
type AwsCredentialsClientCreateOrUpdateResponse struct {
// Concrete tracked resource types can be created by aliasing this type using a specific property type.
@@ -123,6 +146,31 @@ type AzurePlanesClientUpdateResponse struct {
AzurePlaneResource
}
+// LocationsClientCreateOrUpdateResponse contains the response from method LocationsClient.BeginCreateOrUpdate.
+type LocationsClientCreateOrUpdateResponse struct {
+ // The resource type for defining a location of the containing resource provider. The location resource represents a logical
+// location where the resource provider operates.
+ LocationResource
+}
+
+// LocationsClientDeleteResponse contains the response from method LocationsClient.BeginDelete.
+type LocationsClientDeleteResponse struct {
+ // placeholder for future response values
+}
+
+// LocationsClientGetResponse contains the response from method LocationsClient.Get.
+type LocationsClientGetResponse struct {
+ // The resource type for defining a location of the containing resource provider. The location resource represents a logical
+// location where the resource provider operates.
+ LocationResource
+}
+
+// LocationsClientListResponse contains the response from method LocationsClient.NewListPager.
+type LocationsClientListResponse struct {
+ // The response of a LocationResource list operation.
+ LocationResourceListResult
+}
+
// PlanesClientListPlanesResponse contains the response from method PlanesClient.NewListPlanesPager.
type PlanesClientListPlanesResponse struct {
// The response of a GenericPlaneResource list operation.
@@ -187,6 +235,65 @@ type ResourceGroupsClientUpdateResponse struct {
ResourceGroupResource
}
+// ResourceProvidersClientCreateOrUpdateResponse contains the response from method ResourceProvidersClient.BeginCreateOrUpdate.
+type ResourceProvidersClientCreateOrUpdateResponse struct {
+ // The resource type for defining a resource provider.
+ ResourceProviderResource
+}
+
+// ResourceProvidersClientDeleteResponse contains the response from method ResourceProvidersClient.BeginDelete.
+type ResourceProvidersClientDeleteResponse struct {
+ // placeholder for future response values
+}
+
+// ResourceProvidersClientGetProviderSummaryResponse contains the response from method ResourceProvidersClient.GetProviderSummary.
+type ResourceProvidersClientGetProviderSummaryResponse struct {
+ // The summary of a resource provider configuration. This type is optimized for querying resource providers and supported
+// types.
+ ResourceProviderSummary
+}
+
+// ResourceProvidersClientGetResponse contains the response from method ResourceProvidersClient.Get.
+type ResourceProvidersClientGetResponse struct {
+ // The resource type for defining a resource provider.
+ ResourceProviderResource
+}
+
+// ResourceProvidersClientListProviderSummariesResponse contains the response from method ResourceProvidersClient.NewListProviderSummariesPager.
+type ResourceProvidersClientListProviderSummariesResponse struct {
+ // Paged collection of ResourceProviderSummary items
+ PagedResourceProviderSummary
+}
+
+// ResourceProvidersClientListResponse contains the response from method ResourceProvidersClient.NewListPager.
+type ResourceProvidersClientListResponse struct {
+ // The response of a ResourceProviderResource list operation.
+ ResourceProviderResourceListResult
+}
+
+// ResourceTypesClientCreateOrUpdateResponse contains the response from method ResourceTypesClient.BeginCreateOrUpdate.
+type ResourceTypesClientCreateOrUpdateResponse struct {
+ // The resource type for defining a resource type supported by the containing resource provider.
+ ResourceTypeResource
+}
+
+// ResourceTypesClientDeleteResponse contains the response from method ResourceTypesClient.BeginDelete.
+type ResourceTypesClientDeleteResponse struct {
+ // placeholder for future response values
+}
+
+// ResourceTypesClientGetResponse contains the response from method ResourceTypesClient.Get.
+type ResourceTypesClientGetResponse struct {
+ // The resource type for defining a resource type supported by the containing resource provider.
+ ResourceTypeResource
+}
+
+// ResourceTypesClientListResponse contains the response from method ResourceTypesClient.NewListPager.
+type ResourceTypesClientListResponse struct {
+ // The response of a ResourceTypeResource list operation.
+ ResourceTypeResourceListResult
+}
+
// ResourcesClientListResponse contains the response from method ResourcesClient.NewListPager.
type ResourcesClientListResponse struct {
// The response of a GenericResource list operation.
diff --git a/pkg/ucp/backend/controller/resourceproviders/apiversion_delete.go b/pkg/ucp/backend/controller/resourceproviders/apiversion_delete.go
new file mode 100644
index 00000000000..4cf969d673c
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/apiversion_delete.go
@@ -0,0 +1,73 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+)
+
+var _ ctrl.Controller = (*APIVersionDeleteController)(nil)
+
+// APIVersionDeleteController is the async operation controller to perform DELETE operations on API versions.
+type APIVersionDeleteController struct {
+ ctrl.BaseController
+}
+
+// Run implements the controller interface.
+func (c *APIVersionDeleteController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundIgnore, c.updateSummary(id))
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = c.StorageClient().Delete(ctx, request.ResourceID)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *APIVersionDeleteController) updateSummary(id resources.ID) func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ if summary.Properties.ResourceTypes == nil {
+ return nil
+ }
+
+ resourceTypeName := id.Truncate().Name()
+ resourceTypeEntry, ok := summary.Properties.ResourceTypes[id.Truncate().Name()]
+ if !ok {
+ // If we get here, the resource type entry doesn't exist! This is fine.
+ return nil
+ }
+
+ apiVersionName := id.Name()
+ delete(resourceTypeEntry.APIVersions, apiVersionName)
+ summary.Properties.ResourceTypes[resourceTypeName] = resourceTypeEntry
+
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/apiversion_delete_test.go b/pkg/ucp/backend/controller/resourceproviders/apiversion_delete_test.go
new file mode 100644
index 00000000000..4aae8e51c34
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/apiversion_delete_test.go
@@ -0,0 +1,121 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestAPIVersionDeleteController_updateSummary(t *testing.T) {
+ tests := []struct {
+ name string
+ id resources.ID
+ summary *datamodel.ResourceProviderSummary
+ expected *datamodel.ResourceProviderSummary
+ }{
+ {
+ name: "Delete existing API version",
+ id: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01"),
+ summary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ expected: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{},
+ },
+ },
+ },
+ },
+ },
+ {
+ name: "Delete non-existing API version",
+ id: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01"),
+ summary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2024-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ expected: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2024-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ },
+ {
+ name: "Delete API version from non-existing resource type",
+ id: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/nonExistingResources/apiVersions/2025-01-01"),
+ summary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ expected: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ controller := &APIVersionDeleteController{}
+ updateFunc := controller.updateSummary(tt.id)
+ err := updateFunc(tt.summary)
+ require.NoError(t, err)
+ require.Equal(t, tt.expected, tt.summary)
+ })
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/apiversion_put.go b/pkg/ucp/backend/controller/resourceproviders/apiversion_put.go
new file mode 100644
index 00000000000..ca97bfe3085
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/apiversion_put.go
@@ -0,0 +1,77 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+ "fmt"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+)
+
+var _ ctrl.Controller = (*APIVersionPutController)(nil)
+
+// APIVersionPutController is the async operation controller to perform PUT operations on API versions.
+type APIVersionPutController struct {
+ ctrl.BaseController
+}
+
+// Run implements the controller interface.
+func (c *APIVersionPutController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundFail, c.updateSummary(id))
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *APIVersionPutController) updateSummary(id resources.ID) func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ if summary.Properties.ResourceTypes == nil {
+ summary.Properties.ResourceTypes = map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{}
+ }
+
+ resourceTypeName := id.Truncate().Name()
+ resourceTypeEntry, ok := summary.Properties.ResourceTypes[id.Truncate().Name()]
+ if !ok {
+ // If we get here, the resource type entry doesn't exist! Something is out of whack.
+ return fmt.Errorf("resource type entry %q not found", resourceTypeName)
+ }
+
+ if resourceTypeEntry.APIVersions == nil {
+ resourceTypeEntry.APIVersions = map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{}
+ }
+
+ apiVersionName := id.Name()
+ _, ok = resourceTypeEntry.APIVersions[apiVersionName]
+ if !ok {
+ resourceTypeEntry.APIVersions[apiVersionName] = datamodel.ResourceProviderSummaryPropertiesAPIVersion{}
+ }
+
+ summary.Properties.ResourceTypes[resourceTypeName] = resourceTypeEntry
+
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/apiversion_put_test.go b/pkg/ucp/backend/controller/resourceproviders/apiversion_put_test.go
new file mode 100644
index 00000000000..7421e674798
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/apiversion_put_test.go
@@ -0,0 +1,118 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestAPIVersionPutController_updateSummary(t *testing.T) {
+ id := resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01")
+ tests := []struct {
+ name string
+ id resources.ID
+ initialSummary *datamodel.ResourceProviderSummary
+ expectedSummary *datamodel.ResourceProviderSummary
+ expectError bool
+ }{
+ {
+ name: "Resource type entry not found",
+ id: id,
+ initialSummary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{},
+ },
+ },
+ expectedSummary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{},
+ },
+ },
+ expectError: true,
+ },
+ {
+ name: "APIVersion entry added",
+ id: id,
+ initialSummary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{},
+ },
+ },
+ },
+ },
+ expectedSummary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ expectError: false,
+ },
+ {
+ name: "APIVersion entry already exists",
+ id: id,
+ initialSummary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ expectedSummary: &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ APIVersions: map[string]datamodel.ResourceProviderSummaryPropertiesAPIVersion{
+ "2025-01-01": {},
+ },
+ },
+ },
+ },
+ },
+ expectError: false,
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ controller := &APIVersionPutController{}
+ updateFunc := controller.updateSummary(tt.id)
+ err := updateFunc(tt.initialSummary)
+ if tt.expectError {
+ require.Error(t, err)
+ } else {
+ require.NoError(t, err)
+ require.Equal(t, tt.expectedSummary, tt.initialSummary)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/location_delete.go b/pkg/ucp/backend/controller/resourceproviders/location_delete.go
new file mode 100644
index 00000000000..987ab214392
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/location_delete.go
@@ -0,0 +1,61 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+)
+
+var _ ctrl.Controller = (*LocationDeleteController)(nil)
+
+// LocationDeleteController is the async operation controller to perform DELETE operations on locations.
+type LocationDeleteController struct {
+ ctrl.BaseController
+}
+
+// Run implements the controller interface.
+func (c *LocationDeleteController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundIgnore, c.updateSummary(id))
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = c.StorageClient().Delete(ctx, request.ResourceID)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *LocationDeleteController) updateSummary(id resources.ID) func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ locationName := id.Name()
+ delete(summary.Properties.Locations, locationName)
+
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/location_delete_test.go b/pkg/ucp/backend/controller/resourceproviders/location_delete_test.go
new file mode 100644
index 00000000000..4bd0d7f84a2
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/location_delete_test.go
@@ -0,0 +1,51 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestLocationDeleteController_updateSummary(t *testing.T) {
+ id := resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/testLocation")
+
+ summary := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ Locations: map[string]datamodel.ResourceProviderSummaryPropertiesLocation{
+ "testLocation": {},
+ "testLocation2": {},
+ },
+ },
+ }
+
+ expected := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ Locations: map[string]datamodel.ResourceProviderSummaryPropertiesLocation{
+ "testLocation2": {},
+ },
+ },
+ }
+
+ controller := &LocationDeleteController{}
+ err := controller.updateSummary(id)(summary)
+ require.NoError(t, err)
+ require.Equal(t, expected, summary)
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/location_put.go b/pkg/ucp/backend/controller/resourceproviders/location_put.go
new file mode 100644
index 00000000000..7ff0e3a1307
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/location_put.go
@@ -0,0 +1,63 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+)
+
+var _ ctrl.Controller = (*LocationPutController)(nil)
+
+// LocationPutController is the async operation controller to perform PUT operations on locations.
+type LocationPutController struct {
+ ctrl.BaseController
+}
+
+// Run implements the controller interface.
+func (c *LocationPutController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundFail, c.updateSummary(id))
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *LocationPutController) updateSummary(id resources.ID) func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ if summary.Properties.Locations == nil {
+ summary.Properties.Locations = map[string]datamodel.ResourceProviderSummaryPropertiesLocation{}
+ }
+
+ locationName := id.Name()
+ _, ok := summary.Properties.Locations[locationName]
+ if !ok {
+ summary.Properties.Locations[locationName] = datamodel.ResourceProviderSummaryPropertiesLocation{}
+ }
+
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/location_put_test.go b/pkg/ucp/backend/controller/resourceproviders/location_put_test.go
new file mode 100644
index 00000000000..a7f0c5da49c
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/location_put_test.go
@@ -0,0 +1,48 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestLocationPutController_updateSummary(t *testing.T) {
+ id := resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/testLocation")
+
+ summary := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ Locations: map[string]datamodel.ResourceProviderSummaryPropertiesLocation{},
+ },
+ }
+
+ expected := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ Locations: map[string]datamodel.ResourceProviderSummaryPropertiesLocation{
+ "testLocation": {},
+ },
+ },
+ }
+
+ controller := &LocationPutController{}
+ err := controller.updateSummary(id)(summary)
+ require.NoError(t, err)
+ require.Equal(t, expected, summary)
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete.go b/pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete.go
new file mode 100644
index 00000000000..0984c4d2f7e
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete.go
@@ -0,0 +1,234 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+ "errors"
+ "fmt"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ aztoken "github.com/radius-project/radius/pkg/azure/tokencredentials"
+ "github.com/radius-project/radius/pkg/sdk"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ resources_radius "github.com/radius-project/radius/pkg/ucp/resources/radius"
+ "github.com/radius-project/radius/pkg/ucp/store"
+ "github.com/radius-project/radius/pkg/ucp/ucplog"
+)
+
+var _ ctrl.Controller = (*ResourceProviderDeleteController)(nil)
+
+// ResourceProviderDeleteController is the async operation controller to perform DELETE operations on resource providers.
+type ResourceProviderDeleteController struct {
+ ctrl.BaseController
+
+ // Connection is the connection to UCP.
+ Connection sdk.Connection
+}
+
+// Run implements the controller interface.
+func (c *ResourceProviderDeleteController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ err := c.deleteChildResources(ctx, request)
+ if err != nil {
+ return ctrl.Result{}, fmt.Errorf("failed to delete child resources: %w", err)
+ }
+
+ err = c.deleteSummary(ctx, request)
+ if err != nil {
+ return ctrl.Result{}, fmt.Errorf("failed to delete resource provider summary: %w", err)
+ }
+
+ err = c.StorageClient().Delete(ctx, request.ResourceID)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *ResourceProviderDeleteController) deleteChildResources(ctx context.Context, request *ctrl.Request) error {
+ // Cascading delete of child resources (locations).
+ locations, err := c.locations(ctx, request.ResourceID)
+ if err != nil {
+ return err
+ }
+
+ // We don't do retries here because we're already in a retry loop in the parent controller.
+ var deleteErrors []error
+ for _, location := range locations {
+ err := c.deleteLocation(ctx, location)
+ if err != nil {
+ // Attempt deletion of all child resources before returning an error.
+ //
+ // This will avoid head-of-line blocking in the retry loop in the parent controller.
+ deleteErrors = append(deleteErrors, err)
+ }
+ }
+
+ if len(deleteErrors) > 0 {
+ return errors.Join(deleteErrors...)
+ }
+
+ // Cascading delete of child resources (resourceTypes).
+ resourceTypes, err := c.resourceTypes(ctx, request.ResourceID)
+ if err != nil {
+ return err
+ }
+
+ for _, resourceType := range resourceTypes {
+ err := c.deleteResourceType(ctx, resourceType)
+ if err != nil {
+ deleteErrors = append(deleteErrors, err)
+ }
+ }
+
+ if len(deleteErrors) > 0 {
+ return errors.Join(deleteErrors...)
+ }
+
+ return nil
+}
+
+func (c *ResourceProviderDeleteController) locations(ctx context.Context, rawID string) ([]*v20231001preview.LocationResource, error) {
+ id, err := resources.ParseResource(rawID)
+ if err != nil {
+ return nil, err
+ }
+
+ client, err := v20231001preview.NewLocationsClient(&aztoken.AnonymousCredential{}, sdk.NewClientOptions(c.Connection))
+ if err != nil {
+ return nil, err
+ }
+
+ results := []*v20231001preview.LocationResource{}
+ pager := client.NewListPager(id.FindScope(resources_radius.PlaneTypeRadius), id.TypeSegments()[0].Name, nil)
+ for pager.More() {
+ page, err := pager.NextPage(ctx)
+ if err != nil {
+ return nil, err
+ }
+ results = append(results, page.Value...)
+ }
+
+ return results, nil
+}
+
+func (c *ResourceProviderDeleteController) deleteLocation(ctx context.Context, location *v20231001preview.LocationResource) error {
+ id, err := resources.ParseResource(*location.ID)
+ if err != nil {
+ return err
+ }
+
+ client, err := v20231001preview.NewLocationsClient(&aztoken.AnonymousCredential{}, sdk.NewClientOptions(c.Connection))
+ if err != nil {
+ return err
+ }
+
+ logger := ucplog.FromContextOrDiscard(ctx)
+ logger.Info("Beginning cascading delete of location", "id", id.String())
+ poller, err := client.BeginDelete(
+ ctx,
+ id.FindScope(resources_radius.PlaneTypeRadius),
+ id.TypeSegments()[0].Name,
+ id.Name(),
+ nil)
+ if err != nil {
+ return fmt.Errorf("failed to delete location %s: %w", id.String(), err)
+ }
+
+ _, err = poller.Poll(ctx)
+ if err != nil {
+ return fmt.Errorf("failed to delete location %s: %w", id.String(), err)
+ }
+
+ logger.Info("Completed cascading delete of location", "id", id.String())
+ return nil
+}
+
+func (c *ResourceProviderDeleteController) resourceTypes(ctx context.Context, rawID string) ([]*v20231001preview.ResourceTypeResource, error) {
+ id, err := resources.ParseResource(rawID)
+ if err != nil {
+ return nil, err
+ }
+
+ client, err := v20231001preview.NewResourceTypesClient(&aztoken.AnonymousCredential{}, sdk.NewClientOptions(c.Connection))
+ if err != nil {
+ return nil, err
+ }
+
+ results := []*v20231001preview.ResourceTypeResource{}
+ pager := client.NewListPager(id.FindScope(resources_radius.PlaneTypeRadius), id.TypeSegments()[0].Name, nil)
+ for pager.More() {
+ page, err := pager.NextPage(ctx)
+ if err != nil {
+ return nil, err
+ }
+ results = append(results, page.Value...)
+ }
+
+ return results, nil
+}
+
+func (c *ResourceProviderDeleteController) deleteResourceType(ctx context.Context, resourceType *v20231001preview.ResourceTypeResource) error {
+ id, err := resources.ParseResource(*resourceType.ID)
+ if err != nil {
+ return err
+ }
+
+ client, err := v20231001preview.NewResourceTypesClient(&aztoken.AnonymousCredential{}, sdk.NewClientOptions(c.Connection))
+ if err != nil {
+ return err
+ }
+
+ logger := ucplog.FromContextOrDiscard(ctx)
+ logger.Info("Beginning cascading delete of resource type", "id", id.String())
+ poller, err := client.BeginDelete(
+ ctx,
+ id.FindScope(resources_radius.PlaneTypeRadius),
+ id.TypeSegments()[0].Name,
+ id.Name(),
+ nil)
+ if err != nil {
+ return fmt.Errorf("failed to delete resource type %s: %w", id.String(), err)
+ }
+
+ _, err = poller.Poll(ctx)
+ if err != nil {
+ return fmt.Errorf("failed to delete resource type %s: %w", id.String(), err)
+ }
+
+ logger.Info("Completed cascading delete of resource type", "id", id.String())
+ return nil
+}
+
+func (c *ResourceProviderDeleteController) deleteSummary(ctx context.Context, request *ctrl.Request) error {
+ _, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return err
+ }
+
+ err = c.StorageClient().Delete(ctx, summaryID.String())
+ if errors.Is(err, &store.ErrNotFound{}) {
+ // It's OK if the summary was already deleted.
+ return nil
+ } else if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete_test.go b/pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete_test.go
new file mode 100644
index 00000000000..b02718875a8
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourceprovider_delete_test.go
@@ -0,0 +1,17 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourceprovider_put.go b/pkg/ucp/backend/controller/resourceproviders/resourceprovider_put.go
new file mode 100644
index 00000000000..de416896fa8
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourceprovider_put.go
@@ -0,0 +1,53 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+var _ ctrl.Controller = (*ResourceProviderPutController)(nil)
+
+// ResourceProviderPutController is the async operation controller to perform PUT operations on resource providers.
+type ResourceProviderPutController struct {
+ ctrl.BaseController
+}
+
+// Run implements the controller interface.
+func (c *ResourceProviderPutController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ _, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundCreate, c.updateSummary())
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *ResourceProviderPutController) updateSummary() func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ // Nothing specific we need to modify on the summary at this point, just to ensure it exists.
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourcetype_delete.go b/pkg/ucp/backend/controller/resourceproviders/resourcetype_delete.go
new file mode 100644
index 00000000000..76758b0b6f3
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourcetype_delete.go
@@ -0,0 +1,159 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+ "errors"
+ "fmt"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ aztoken "github.com/radius-project/radius/pkg/azure/tokencredentials"
+ "github.com/radius-project/radius/pkg/sdk"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ resources_radius "github.com/radius-project/radius/pkg/ucp/resources/radius"
+ "github.com/radius-project/radius/pkg/ucp/ucplog"
+)
+
+var _ ctrl.Controller = (*ResourceTypeDeleteController)(nil)
+
+// ResourceTypeDeleteController is the async operation controller to perform DELETE operations on resource types.
+type ResourceTypeDeleteController struct {
+ ctrl.BaseController
+
+ // Connection is the connection to UCP.
+ Connection sdk.Connection
+}
+
+// Run implements the controller interface.
+func (c *ResourceTypeDeleteController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ err := c.deleteChildResources(ctx, request)
+ if err != nil {
+ return ctrl.Result{}, fmt.Errorf("failed to delete child resources: %w", err)
+ }
+
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundIgnore, c.updateSummary(id))
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = c.StorageClient().Delete(ctx, request.ResourceID)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *ResourceTypeDeleteController) deleteChildResources(ctx context.Context, request *ctrl.Request) error {
+ // Cascading delete of child resources (apiVersions).
+ apiVersions, err := c.apiVersions(ctx, request.ResourceID)
+ if err != nil {
+ return err
+ }
+
+ // We don't do retries here because we're already in a retry loop in the parent controller.
+ var deleteErrors []error
+ for _, apiVersion := range apiVersions {
+ err := c.deleteApiVersion(ctx, apiVersion)
+ if err != nil {
+ // Attempt deletion of all child resources before returning an error.
+ //
+ // This will avoid head-of-line blocking in the retry loop in the parent controller.
+ deleteErrors = append(deleteErrors, err)
+ }
+ }
+
+ if len(deleteErrors) > 0 {
+ return errors.Join(deleteErrors...)
+ }
+
+ return nil
+}
+
+func (c *ResourceTypeDeleteController) apiVersions(ctx context.Context, rawID string) ([]*v20231001preview.APIVersionResource, error) {
+ id, err := resources.ParseResource(rawID)
+ if err != nil {
+ return nil, err
+ }
+
+ client, err := v20231001preview.NewAPIVersionsClient(&aztoken.AnonymousCredential{}, sdk.NewClientOptions(c.Connection))
+ if err != nil {
+ return nil, err
+ }
+
+ results := []*v20231001preview.APIVersionResource{}
+ pager := client.NewListPager(id.FindScope(resources_radius.PlaneTypeRadius), id.TypeSegments()[0].Name, id.TypeSegments()[1].Name, nil)
+ for pager.More() {
+ page, err := pager.NextPage(ctx)
+ if err != nil {
+ return nil, err
+ }
+ results = append(results, page.Value...)
+ }
+
+ return results, nil
+}
+
+func (c *ResourceTypeDeleteController) deleteApiVersion(ctx context.Context, apiVersion *v20231001preview.APIVersionResource) error {
+ id, err := resources.ParseResource(*apiVersion.ID)
+ if err != nil {
+ return err
+ }
+
+ client, err := v20231001preview.NewAPIVersionsClient(&aztoken.AnonymousCredential{}, sdk.NewClientOptions(c.Connection))
+ if err != nil {
+ return err
+ }
+
+ logger := ucplog.FromContextOrDiscard(ctx)
+ logger.Info("Beginning cascading delete of API version", "id", id.String())
+ poller, err := client.BeginDelete(
+ ctx,
+ id.FindScope(resources_radius.PlaneTypeRadius),
+ id.TypeSegments()[0].Name,
+ id.TypeSegments()[1].Name,
+ id.Name(),
+ nil)
+ if err != nil {
+ return fmt.Errorf("failed to delete API version %s: %w", id.String(), err)
+ }
+
+ _, err = poller.Poll(ctx)
+ if err != nil {
+ return fmt.Errorf("failed to delete API version %s: %w", id.String(), err)
+ }
+
+ logger.Info("Completed cascading delete of API version", "id", id.String())
+ return nil
+}
+
+func (c *ResourceTypeDeleteController) updateSummary(id resources.ID) func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ resourceTypeName := id.Name()
+ delete(summary.Properties.ResourceTypes, resourceTypeName)
+
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourcetype_delete_test.go b/pkg/ucp/backend/controller/resourceproviders/resourcetype_delete_test.go
new file mode 100644
index 00000000000..4b4eff421b3
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourcetype_delete_test.go
@@ -0,0 +1,51 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestResourceTypeDeleteController_updateSummary(t *testing.T) {
+ id := resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources")
+
+ summary := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {},
+ "testResources2": {},
+ },
+ },
+ }
+
+ expected := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources2": {},
+ },
+ },
+ }
+
+ controller := &ResourceTypeDeleteController{}
+ err := controller.updateSummary(id)(summary)
+ require.NoError(t, err)
+ require.Equal(t, expected, summary)
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourcetype_put.go b/pkg/ucp/backend/controller/resourceproviders/resourcetype_put.go
new file mode 100644
index 00000000000..890be9748e2
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourcetype_put.go
@@ -0,0 +1,85 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+)
+
+var _ ctrl.Controller = (*ResourceTypePutController)(nil)
+
+// ResourceTypePutController is the async operation controller to perform PUT operations on resource types.
+type ResourceTypePutController struct {
+ ctrl.BaseController
+}
+
+// Run implements the controller interface.
+func (c *ResourceTypePutController) Run(ctx context.Context, request *ctrl.Request) (ctrl.Result, error) {
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(request)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ resourceType, err := c.fetchResourceType(ctx, id)
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ err = updateResourceProviderSummaryWithETag(ctx, c.StorageClient(), summaryID, summaryNotFoundFail, c.updateSummary(id, resourceType))
+ if err != nil {
+ return ctrl.Result{}, err
+ }
+
+ return ctrl.Result{}, nil
+}
+
+func (c *ResourceTypePutController) fetchResourceType(ctx context.Context, id resources.ID) (*datamodel.ResourceType, error) {
+ obj, err := c.StorageClient().Get(ctx, id.String())
+ if err != nil {
+ return nil, err
+ }
+
+ resourceType := datamodel.ResourceType{}
+ err = obj.As(&resourceType)
+ if err != nil {
+ return nil, err
+ }
+
+ return &resourceType, nil
+}
+
+func (c *ResourceTypePutController) updateSummary(id resources.ID, resourceType *datamodel.ResourceType) func(summary *datamodel.ResourceProviderSummary) error {
+ return func(summary *datamodel.ResourceProviderSummary) error {
+ if summary.Properties.ResourceTypes == nil {
+ summary.Properties.ResourceTypes = map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{}
+ }
+
+ resourceTypeName := id.Name()
+ resourceTypeEntry, ok := summary.Properties.ResourceTypes[resourceTypeName]
+ if !ok {
+ resourceTypeEntry = datamodel.ResourceProviderSummaryPropertiesResourceType{}
+ }
+
+ resourceTypeEntry.DefaultAPIVersion = resourceType.Properties.DefaultAPIVersion
+ summary.Properties.ResourceTypes[resourceTypeName] = resourceTypeEntry
+ return nil
+ }
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/resourcetype_put_test.go b/pkg/ucp/backend/controller/resourceproviders/resourcetype_put_test.go
new file mode 100644
index 00000000000..61775c42b4a
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/resourcetype_put_test.go
@@ -0,0 +1,56 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "testing"
+
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestResourceTypePutController_updateSummary(t *testing.T) {
+ id := resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources")
+ resourceType := &datamodel.ResourceType{
+ Properties: datamodel.ResourceTypeProperties{
+ DefaultAPIVersion: to.Ptr("2025-01-01"),
+ },
+ }
+
+ summary := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{},
+ },
+ }
+
+ expected := &datamodel.ResourceProviderSummary{
+ Properties: datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {
+ DefaultAPIVersion: to.Ptr("2025-01-01"),
+ },
+ },
+ },
+ }
+
+ controller := &ResourceTypePutController{}
+ err := controller.updateSummary(id, resourceType)(summary)
+ require.NoError(t, err)
+ require.Equal(t, expected, summary)
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/util.go b/pkg/ucp/backend/controller/resourceproviders/util.go
new file mode 100644
index 00000000000..e6c7ccafb50
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/util.go
@@ -0,0 +1,122 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "strings"
+
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/radius-project/radius/pkg/ucp/store"
+ "github.com/radius-project/radius/pkg/ucp/ucplog"
+)
+
+// summaryNotFoundPolicy describes the policy to follow in updateSummaryWithETag
+// when the summary resource is not found.
+type summaryNotFoundPolicy string
+
+const (
+ summaryNotFoundFail summaryNotFoundPolicy = "fail"
+ summaryNotFoundCreate summaryNotFoundPolicy = "create"
+ summaryNotFoundIgnore summaryNotFoundPolicy = "ignore"
+)
+
+// resourceProviderSummaryIDFromRequest returns the resource provider summary ID from the resource
+// id in the request. Returns the request resource ID, the summary ID, and an error.
+//
+// This function handles cases where the resource ID is a resource provider ID or one of the child-types
+// like a location.
+func resourceProviderSummaryIDFromRequest(request *ctrl.Request) (resources.ID, resources.ID, error) {
+ id, err := resources.ParseResource(request.ResourceID)
+ if err != nil {
+ return resources.ID{}, resources.ID{}, err
+ }
+
+ // We need to find the first type segment of the ID. It should match the resource provider type.
+ if !strings.EqualFold(id.TypeSegments()[0].Type, datamodel.ResourceProviderResourceType) {
+ return resources.ID{}, resources.ID{}, fmt.Errorf("expected resource provider id or an id for a child-type of resource provider, got %q", id)
+ }
+
+ summaryID, err := datamodel.ResourceProviderSummaryIDFromParts(id.RootScope(), id.TypeSegments()[0].Name)
+ if err != nil {
+ return resources.ID{}, resources.ID{}, err
+ }
+
+ return id, summaryID, nil
+}
+
+// updateResourceProviderSummaryWithETag updates the summary with the provided function and saves it to the storage client.
+func updateResourceProviderSummaryWithETag(ctx context.Context, client store.StorageClient, summaryID resources.ID, policy summaryNotFoundPolicy, update func(summary *datamodel.ResourceProviderSummary) error) error {
+ // There are a few cases here:
+ // 1. The summary does not exist and we are allowed to create it (in the resource provider).
+ // 2. The summary does not exist and we are not allowed to create it (in the child-types of resource provider).
+ // 3. Any other error case.
+ summary := &datamodel.ResourceProviderSummary{}
+
+ obj, err := client.Get(ctx, summaryID.String())
+ if errors.Is(err, &store.ErrNotFound{}) && policy == summaryNotFoundCreate {
+ // This is fine. We will create a new summary.
+ summary.ID = summaryID.String()
+ summary.Name = summaryID.Name()
+ summary.Type = summaryID.Type()
+
+ obj = &store.Object{
+ Metadata: store.Metadata{
+ ID: summary.ID,
+ },
+ }
+ } else if errors.Is(err, &store.ErrNotFound{}) && policy == summaryNotFoundIgnore {
+ return nil
+ } else if errors.Is(err, &store.ErrNotFound{}) {
+ return err
+ } else if err != nil {
+ return err
+ } else {
+ err = obj.As(summary)
+ if err != nil {
+ return err
+ }
+ }
+
+ // At this point obj and summary should both be populated - run the provided
+ // function to update it.
+ err = update(summary)
+ if err != nil {
+ return err
+ }
+
+ // Now we can save. Use the ETag if the resource already existed.
+ options := []store.SaveOptions{}
+ if obj.ETag != "" {
+ options = append(options, store.WithETag(obj.ETag))
+ }
+
+ obj.Data = summary
+ err = client.Save(ctx, obj, options...)
+ if err != nil {
+ return err
+ }
+
+ logger := ucplog.FromContextOrDiscard(ctx)
+ logger.Info("Updated resource provider summary", "id", summaryID.String(), "data", summary)
+
+ return nil
+}
diff --git a/pkg/ucp/backend/controller/resourceproviders/util_test.go b/pkg/ucp/backend/controller/resourceproviders/util_test.go
new file mode 100644
index 00000000000..874076ca3e8
--- /dev/null
+++ b/pkg/ucp/backend/controller/resourceproviders/util_test.go
@@ -0,0 +1,203 @@
+/*
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "context"
+ "encoding/json"
+ "testing"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/radius-project/radius/pkg/ucp/store"
+ "github.com/radius-project/radius/pkg/ucp/util/etag"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "go.uber.org/mock/gomock"
+)
+
+func TestResourceProviderSummaryIDFromRequest(t *testing.T) {
+ tests := []struct {
+ name string
+ request *ctrl.Request
+ expectedID resources.ID
+ expectedSummaryID resources.ID
+ expectedErr bool
+ }{
+ {
+ name: "valid resource provider ID",
+ request: &ctrl.Request{
+ ResourceID: "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ },
+ expectedID: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test"),
+ expectedSummaryID: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviderSummaries/Applications.Test"),
+ expectedErr: false,
+ },
+ {
+ name: "valid resource provider child ID",
+ request: &ctrl.Request{
+ ResourceID: "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ },
+ expectedID: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01"),
+ expectedSummaryID: resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviderSummaries/Applications.Test"),
+ expectedErr: false,
+ },
+ {
+ name: "invalid resource provider ID",
+ request: &ctrl.Request{
+ ResourceID: "/subscriptions/123/resourceGroups/rg/providers/Microsoft.Provider/invalidType/rp",
+ },
+ expectedErr: true,
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ id, summaryID, err := resourceProviderSummaryIDFromRequest(tt.request)
+ if tt.expectedErr {
+ assert.Error(t, err)
+ } else {
+ assert.NoError(t, err)
+ assert.Equal(t, tt.expectedID, id)
+ assert.Equal(t, tt.expectedSummaryID, summaryID)
+ }
+ })
+ }
+}
+
+func Test_UpdateResourceProviderSummaryWithETag(t *testing.T) {
+ summaryID := resources.MustParse("/planes/radius/local/providers/System.Resources/resourceProviderSummaries/Applications.Test")
+ tests := []struct {
+ name string
+ summaryID resources.ID
+ policy summaryNotFoundPolicy
+ updateFunc func(summary *datamodel.ResourceProviderSummary) error
+ expectedErr bool
+ expectedSave bool
+ existing *datamodel.ResourceProviderSummary
+ }{
+ {
+ name: "create new summary",
+ summaryID: summaryID,
+ policy: summaryNotFoundCreate,
+ updateFunc: func(summary *datamodel.ResourceProviderSummary) error {
+ summary.Properties = datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {},
+ },
+ }
+ return nil
+ },
+ expectedErr: false,
+ expectedSave: true,
+ existing: nil,
+ },
+ {
+ name: "ignore not found summary",
+ summaryID: summaryID,
+ policy: summaryNotFoundIgnore,
+ updateFunc: func(summary *datamodel.ResourceProviderSummary) error {
+ panic("Should not be called!")
+ },
+ expectedErr: false,
+ expectedSave: false,
+ existing: nil,
+ },
+ {
+ name: "fail on not found summary",
+ summaryID: summaryID,
+ policy: summaryNotFoundFail,
+ updateFunc: func(summary *datamodel.ResourceProviderSummary) error {
+ panic("Should not be called!")
+ },
+ expectedErr: true,
+ expectedSave: false,
+ existing: nil,
+ },
+ {
+ name: "update existing summary",
+ summaryID: summaryID,
+ policy: summaryNotFoundFail,
+ updateFunc: func(summary *datamodel.ResourceProviderSummary) error {
+ summary.Properties = datamodel.ResourceProviderSummaryProperties{
+ ResourceTypes: map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {},
+ },
+ }
+ return nil
+ },
+ expectedErr: false,
+ expectedSave: true,
+ existing: &datamodel.ResourceProviderSummary{
+ BaseResource: v1.BaseResource{},
+ },
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ ctrl := gomock.NewController(t)
+ client := store.NewMockStorageClient(ctrl)
+
+ expectedETag := ""
+ if tt.existing == nil {
+ client.EXPECT().Get(gomock.Any(), tt.summaryID.String()).Return(nil, &store.ErrNotFound{})
+ } else {
+ bs, err := json.Marshal(tt.existing)
+ require.NoError(t, err)
+
+ converted := map[string]any{}
+ err = json.Unmarshal(bs, &converted)
+ require.NoError(t, err)
+
+ expectedETag = etag.New(bs)
+ obj := store.Object{
+ Metadata: store.Metadata{
+ ID: tt.summaryID.String(),
+ ETag: expectedETag,
+ },
+ Data: converted,
+ }
+ client.EXPECT().Get(gomock.Any(), tt.summaryID.String()).Return(&obj, nil)
+ }
+
+ if tt.expectedSave {
+ client.EXPECT().Save(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, o *store.Object, so ...store.SaveOptions) error {
+
+ config := store.NewSaveConfig(so...)
+ require.Equal(t, expectedETag, config.ETag)
+
+ expectedResourceTypes := map[string]datamodel.ResourceProviderSummaryPropertiesResourceType{
+ "testResources": {},
+ }
+
+ summary := o.Data.(*datamodel.ResourceProviderSummary)
+ require.Equal(t, expectedResourceTypes, summary.Properties.ResourceTypes)
+
+ return nil
+ })
+ }
+
+ err := updateResourceProviderSummaryWithETag(context.Background(), client, tt.summaryID, tt.policy, tt.updateFunc)
+ if tt.expectedErr {
+ assert.Error(t, err)
+ } else {
+ assert.NoError(t, err)
+ }
+ })
+ }
+}
diff --git a/pkg/ucp/backend/service.go b/pkg/ucp/backend/service.go
index 66c902fac74..b325a3bdcf1 100644
--- a/pkg/ucp/backend/service.go
+++ b/pkg/ucp/backend/service.go
@@ -18,14 +18,17 @@ package backend
import (
"context"
+ "errors"
"fmt"
v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
ctrl "github.com/radius-project/radius/pkg/armrpc/asyncoperation/controller"
"github.com/radius-project/radius/pkg/armrpc/asyncoperation/worker"
"github.com/radius-project/radius/pkg/armrpc/hostoptions"
+ "github.com/radius-project/radius/pkg/sdk"
"github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
"github.com/radius-project/radius/pkg/ucp/backend/controller/resourcegroups"
+ "github.com/radius-project/radius/pkg/ucp/backend/controller/resourceproviders"
"github.com/radius-project/radius/pkg/ucp/datamodel"
)
@@ -38,7 +41,7 @@ type Service struct {
worker.Service
}
-// NewService creates new service instance to run AsyncReqeustProcessWorker.
+// NewService creates new service instance to run AsyncRequestProcessWorker.
func NewService(options hostoptions.HostOptions) *Service {
return &Service{
worker.Service{
@@ -74,7 +77,7 @@ func (w *Service) Run(ctx context.Context) error {
DataProvider: w.StorageProvider,
}
- err := RegisterControllers(ctx, w.Controllers, opts)
+ err := RegisterControllers(ctx, w.Controllers, w.Options.UCPConnection, opts)
if err != nil {
return err
}
@@ -83,8 +86,42 @@ func (w *Service) Run(ctx context.Context) error {
}
// RegisterControllers registers the controllers for the UCP backend.
-func RegisterControllers(ctx context.Context, registry *worker.ControllerRegistry, opts ctrl.Options) error {
- err := registry.Register(ctx, v20231001preview.ResourceType, v1.OperationMethod(datamodel.OperationProcess), resourcegroups.NewTrackedResourceProcessController, opts)
+func RegisterControllers(ctx context.Context, registry *worker.ControllerRegistry, connection sdk.Connection, opts ctrl.Options) error {
+ // Tracked resources
+ err := errors.Join(nil, registry.Register(ctx, v20231001preview.ResourceType, v1.OperationMethod(datamodel.OperationProcess), resourcegroups.NewTrackedResourceProcessController, opts))
+
+ // Resource providers and related types
+ err = errors.Join(err, registry.Register(ctx, datamodel.ResourceProviderResourceType, v1.OperationPut, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.ResourceProviderPutController{BaseController: ctrl.NewBaseAsyncController(opts)}, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.ResourceProviderResourceType, v1.OperationDelete, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.ResourceProviderDeleteController{
+ BaseController: ctrl.NewBaseAsyncController(opts),
+ Connection: connection,
+ }, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.ResourceTypeResourceType, v1.OperationPut, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.ResourceTypePutController{BaseController: ctrl.NewBaseAsyncController(opts)}, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.ResourceTypeResourceType, v1.OperationDelete, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.ResourceTypeDeleteController{
+ BaseController: ctrl.NewBaseAsyncController(opts),
+ Connection: connection,
+ }, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.APIVersionResourceType, v1.OperationPut, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.APIVersionPutController{BaseController: ctrl.NewBaseAsyncController(opts)}, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.APIVersionResourceType, v1.OperationDelete, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.APIVersionDeleteController{BaseController: ctrl.NewBaseAsyncController(opts)}, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.LocationResourceType, v1.OperationPut, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.LocationPutController{BaseController: ctrl.NewBaseAsyncController(opts)}, nil
+ }, opts))
+ err = errors.Join(err, registry.Register(ctx, datamodel.LocationResourceType, v1.OperationDelete, func(opts ctrl.Options) (ctrl.Controller, error) {
+ return &resourceproviders.LocationDeleteController{BaseController: ctrl.NewBaseAsyncController(opts)}, nil
+ }, opts))
+
if err != nil {
return err
}
diff --git a/pkg/ucp/datamodel/apiversion.go b/pkg/ucp/datamodel/apiversion.go
new file mode 100644
index 00000000000..1a8bc42c9e5
--- /dev/null
+++ b/pkg/ucp/datamodel/apiversion.go
@@ -0,0 +1,42 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package datamodel
+
+import v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+
+const (
+ // APIVersionResourceType is the resource type for an API version.
+ APIVersionResourceType = "System.Resources/resourceProviders/resourceTypes/apiVersions"
+)
+
+// APIVersion represents an API version of a resource type.
+type APIVersion struct {
+ v1.BaseResource
+
+ // Properties stores the properties of the API version.
+ Properties APIVersionProperties `json:"properties"`
+}
+
+// ResourceTypeName gives the type of the resource.
+func (r *APIVersion) ResourceTypeName() string {
+ return APIVersionResourceType
+}
+
+// APIVersion stores the properties of an API version.
+type APIVersionProperties struct {
+ // Empty for now.
+}
diff --git a/pkg/ucp/datamodel/converter/apiversion_converter.go b/pkg/ucp/datamodel/converter/apiversion_converter.go
new file mode 100644
index 00000000000..54ebe462c97
--- /dev/null
+++ b/pkg/ucp/datamodel/converter/apiversion_converter.go
@@ -0,0 +1,59 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package converter
+
+import (
+ "encoding/json"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// APIVersionDataModelToVersioned converts version agnostic API version to versioned model.
+func APIVersionDataModelToVersioned(model *datamodel.APIVersion, version string) (v1.VersionedModelInterface, error) {
+ switch version {
+ case v20231001preview.Version:
+ versioned := &v20231001preview.APIVersionResource{}
+ if err := versioned.ConvertFrom(model); err != nil {
+ return nil, err
+ }
+ return versioned, nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
+
+// APIVersionDataModelFromVersioned converts versioned API version model to datamodel.
+func APIVersionDataModelFromVersioned(content []byte, version string) (*datamodel.APIVersion, error) {
+ switch version {
+ case v20231001preview.Version:
+ vm := &v20231001preview.APIVersionResource{}
+ if err := json.Unmarshal(content, vm); err != nil {
+ return nil, err
+ }
+ dm, err := vm.ConvertTo()
+ if err != nil {
+ return nil, err
+ }
+ return dm.(*datamodel.APIVersion), nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
diff --git a/pkg/ucp/datamodel/converter/location_converter.go b/pkg/ucp/datamodel/converter/location_converter.go
new file mode 100644
index 00000000000..45c5f295af3
--- /dev/null
+++ b/pkg/ucp/datamodel/converter/location_converter.go
@@ -0,0 +1,59 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package converter
+
+import (
+ "encoding/json"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// LocationDataModelToVersioned converts version agnostic location to versioned model.
+func LocationDataModelToVersioned(model *datamodel.Location, version string) (v1.VersionedModelInterface, error) {
+ switch version {
+ case v20231001preview.Version:
+ versioned := &v20231001preview.LocationResource{}
+ if err := versioned.ConvertFrom(model); err != nil {
+ return nil, err
+ }
+ return versioned, nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
+
+// LocationDataModelFromVersioned converts versioned location model to datamodel.
+func LocationDataModelFromVersioned(content []byte, version string) (*datamodel.Location, error) {
+ switch version {
+ case v20231001preview.Version:
+ vm := &v20231001preview.LocationResource{}
+ if err := json.Unmarshal(content, vm); err != nil {
+ return nil, err
+ }
+ dm, err := vm.ConvertTo()
+ if err != nil {
+ return nil, err
+ }
+ return dm.(*datamodel.Location), nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
diff --git a/pkg/ucp/datamodel/converter/resourceprovider_converter.go b/pkg/ucp/datamodel/converter/resourceprovider_converter.go
new file mode 100644
index 00000000000..1be1fe984ff
--- /dev/null
+++ b/pkg/ucp/datamodel/converter/resourceprovider_converter.go
@@ -0,0 +1,59 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package converter
+
+import (
+ "encoding/json"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ResourceProviderDataModelToVersioned converts version agnostic resource provider datamodel to versioned model.
+func ResourceProviderDataModelToVersioned(model *datamodel.ResourceProvider, version string) (v1.VersionedModelInterface, error) {
+ switch version {
+ case v20231001preview.Version:
+ versioned := &v20231001preview.ResourceProviderResource{}
+ if err := versioned.ConvertFrom(model); err != nil {
+ return nil, err
+ }
+ return versioned, nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
+
+// ResourceProviderDataModelFromVersioned converts versioned resource provider model to datamodel.
+func ResourceProviderDataModelFromVersioned(content []byte, version string) (*datamodel.ResourceProvider, error) {
+ switch version {
+ case v20231001preview.Version:
+ vm := &v20231001preview.ResourceProviderResource{}
+ if err := json.Unmarshal(content, vm); err != nil {
+ return nil, err
+ }
+ dm, err := vm.ConvertTo()
+ if err != nil {
+ return nil, err
+ }
+ return dm.(*datamodel.ResourceProvider), nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
diff --git a/pkg/ucp/datamodel/converter/resourceprovidersummary_converter.go b/pkg/ucp/datamodel/converter/resourceprovidersummary_converter.go
new file mode 100644
index 00000000000..4daa1e3bdf7
--- /dev/null
+++ b/pkg/ucp/datamodel/converter/resourceprovidersummary_converter.go
@@ -0,0 +1,53 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package converter
+
+import (
+ "errors"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ResourceProviderSummaryDataModelToVersioned converts version agnostic resource provider summary datamodel to versioned model.
+func ResourceProviderSummaryDataModelToVersioned(model *datamodel.ResourceProviderSummary, version string) (v1.VersionedModelInterface, error) {
+ switch version {
+ case v20231001preview.Version:
+ versioned := &v20231001preview.ResourceProviderSummary{}
+ if err := versioned.ConvertFrom(model); err != nil {
+ return nil, err
+ }
+ return versioned, nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
+
+// ResourceProviderDataModelFromVersioned converts versioned resource provider model to datamodel.
+//
+// Note: ResourceProviderSummary is READONLY. There is no conversion from versioned to datamodel.
+func ResourceProviderSummaryDataModelFromVersioned(content []byte, version string) (*datamodel.ResourceProviderSummary, error) {
+ switch version {
+ case v20231001preview.Version:
+ return nil, errors.New("the ResourceProviderSummary is READONLY. There is no conversion from versioned to datamodel")
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
diff --git a/pkg/ucp/datamodel/converter/resourcetype_converter.go b/pkg/ucp/datamodel/converter/resourcetype_converter.go
new file mode 100644
index 00000000000..54a7e490475
--- /dev/null
+++ b/pkg/ucp/datamodel/converter/resourcetype_converter.go
@@ -0,0 +1,59 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package converter
+
+import (
+ "encoding/json"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+)
+
+// ResourceTypeDataModelToVersioned converts version agnostic resource type to versioned model.
+func ResourceTypeDataModelToVersioned(model *datamodel.ResourceType, version string) (v1.VersionedModelInterface, error) {
+ switch version {
+ case v20231001preview.Version:
+ versioned := &v20231001preview.ResourceTypeResource{}
+ if err := versioned.ConvertFrom(model); err != nil {
+ return nil, err
+ }
+ return versioned, nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
+
+// ResourceTypeDataModelFromVersioned converts versioned resource type model to datamodel.
+func ResourceTypeDataModelFromVersioned(content []byte, version string) (*datamodel.ResourceType, error) {
+ switch version {
+ case v20231001preview.Version:
+ vm := &v20231001preview.ResourceTypeResource{}
+ if err := json.Unmarshal(content, vm); err != nil {
+ return nil, err
+ }
+ dm, err := vm.ConvertTo()
+ if err != nil {
+ return nil, err
+ }
+ return dm.(*datamodel.ResourceType), nil
+
+ default:
+ return nil, v1.ErrUnsupportedAPIVersion
+ }
+}
diff --git a/pkg/ucp/datamodel/genericresource.go b/pkg/ucp/datamodel/genericresource.go
index f561569a543..1def4b001bc 100644
--- a/pkg/ucp/datamodel/genericresource.go
+++ b/pkg/ucp/datamodel/genericresource.go
@@ -24,8 +24,8 @@ import (
const (
// OperationProcess is the operation type for processing a tracked resource.
OperationProcess = "PROCESS"
- // ResourceType is the resource type for a generic resource.
- ResourceType = "System.Resources/resources"
+ // GenericResourceType is the resource type for a generic resource.
+ GenericResourceType = "System.Resources/resources"
)
// GenericResource represents a stored "tracked resource" within a UCP resource group.
@@ -47,7 +47,7 @@ type GenericResource struct {
// ResourceTypeName gives the type of ucp resource.
func (r *GenericResource) ResourceTypeName() string {
- return ResourceType
+ return GenericResourceType
}
// GenericResourceProperties stores the properties of the resource being tracked.
diff --git a/pkg/ucp/datamodel/location.go b/pkg/ucp/datamodel/location.go
new file mode 100644
index 00000000000..f4ea49999f3
--- /dev/null
+++ b/pkg/ucp/datamodel/location.go
@@ -0,0 +1,57 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package datamodel
+
+import v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+
+const (
+ // LocationResourceType is the resource type for a resource provider location
+ LocationResourceType = "System.Resources/resourceProviders/locations"
+)
+
+// Location represents a location.
+type Location struct {
+ v1.BaseResource
+
+ // Properties stores the properties of the location.
+ Properties LocationProperties `json:"properties"`
+}
+
+// ResourceTypeName gives the type of the resource.
+func (r *Location) ResourceTypeName() string {
+ return LocationResourceType
+}
+
+// LocationProperties stores the properties of the location
+type LocationProperties struct {
+ // Address is the address (url) of the resource provider.
+ Address *string `json:"address,omitempty"`
+
+ // ResourceTypes defines the configuration for resource types supported in this location.
+ ResourceTypes map[string]LocationResourceTypeConfiguration `json:"resourceTypes,omitempty"`
+}
+
+// LocationResourceTypeConfiguration represents the configuration for resource type in a location.
+type LocationResourceTypeConfiguration struct {
+ // APIVersions defines the configuration for API versions supported for this resource type in this location.
+ APIVersions map[string]LocationAPIVersionConfiguration `json:"apiVersions,omitempty"`
+}
+
+// LocationAPIVersionConfiguration represents the configuration for an API version in a location.
+type LocationAPIVersionConfiguration struct {
+ // Empty for now.
+}
diff --git a/pkg/ucp/datamodel/resourceprovider.go b/pkg/ucp/datamodel/resourceprovider.go
new file mode 100644
index 00000000000..9a2067b902a
--- /dev/null
+++ b/pkg/ucp/datamodel/resourceprovider.go
@@ -0,0 +1,42 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package datamodel
+
+import v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+
+const (
+ // ResourceProviderResourceType is the resource type for a resource provider.
+ ResourceProviderResourceType = "System.Resources/resourceProviders"
+)
+
+// ResourceProvider represents a resource provider (namespace + set of types).
+type ResourceProvider struct {
+ v1.BaseResource
+
+ // Properties stores the properties of the resource provider.
+ Properties ResourceProviderProperties `json:"properties"`
+}
+
+// ResourceTypeName gives the type of the resource.
+func (r *ResourceProvider) ResourceTypeName() string {
+ return ResourceProviderResourceType
+}
+
+// ResourceProviderProperties stores the properties of a resource provider.
+type ResourceProviderProperties struct {
+ // Empty for now.
+}
diff --git a/pkg/ucp/datamodel/resourceprovidersummary.go b/pkg/ucp/datamodel/resourceprovidersummary.go
new file mode 100644
index 00000000000..244ea3144eb
--- /dev/null
+++ b/pkg/ucp/datamodel/resourceprovidersummary.go
@@ -0,0 +1,82 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package datamodel
+
+import (
+ "fmt"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+)
+
+const (
+ // ResourceProviderResourceSummaryType is the resource type for the summary of a resource provider.
+ //
+ // These are **READONLY** virtual resources served from URLs like:
+ //
+ // /planes/radius/local/providers/
+ // /planes/radius/local/providers/Applications.Test
+ ResourceProviderSummaryResourceType = "System.Resources/resourceProviderSummaries"
+)
+
+// ResourceProviderSummaryIDFromParts returns the resource id for a resource provider summary.
+//
+// Since ResourceProviderSummary is a virtual resource, the resource id is different from the URL used to access it.
+func ResourceProviderSummaryIDFromParts(scope string, name string) (resources.ID, error) {
+ return resources.ParseResource(fmt.Sprintf("%s/providers/%s/%s", scope, ResourceProviderSummaryResourceType, name))
+}
+
+// ResourceProviderSummary represents the common set of fields for a resource provider.
+type ResourceProviderSummary struct {
+ v1.BaseResource
+
+ // Properties stores the properties of the resource provider summary.
+ Properties ResourceProviderSummaryProperties `json:"properties"`
+}
+
+// ResourceTypeName gives the type of the resource.
+func (r *ResourceProviderSummary) ResourceTypeName() string {
+ return ResourceProviderSummaryResourceType
+}
+
+// ResourceProviderSummaryProperties stores the properties of a resource provider summary.
+type ResourceProviderSummaryProperties struct {
+ // Locations is the list of locations where the resource provider is available.
+ Locations map[string]ResourceProviderSummaryPropertiesLocation `json:"locations,omitempty"`
+
+ // ResourceTypes is the list of resource types available in the resource provider.
+ ResourceTypes map[string]ResourceProviderSummaryPropertiesResourceType `json:"resourceTypes,omitempty"`
+}
+
+// ResourceProviderSummaryLocation represents a location where a resource provider is available.
+type ResourceProviderSummaryPropertiesLocation struct {
+ // Empty for now.
+}
+
+// ResourceProviderSummaryResourceType represents a resource type available in a resource provider.
+type ResourceProviderSummaryPropertiesResourceType struct {
+ // DefaultAPIVersion is the default API version for the resource type.
+ DefaultAPIVersion *string `json:"defaultApiVersion,omitempty"`
+
+ // APIVersions is the list of API versions available for the resource type.
+ APIVersions map[string]ResourceProviderSummaryPropertiesAPIVersion `json:"apiVersions,omitempty"`
+}
+
+// ResourceProviderSummaryAPIVersion represents an API version available in a resource provider.
+type ResourceProviderSummaryPropertiesAPIVersion struct {
+ // Empty for now.
+}
diff --git a/pkg/ucp/datamodel/resourcetype.go b/pkg/ucp/datamodel/resourcetype.go
new file mode 100644
index 00000000000..bc1631e2fc3
--- /dev/null
+++ b/pkg/ucp/datamodel/resourcetype.go
@@ -0,0 +1,43 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package datamodel
+
+import v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+
+const (
+ // ResourceTypesResourceType is the resource type for a resource type.
+ ResourceTypeResourceType = "System.Resources/resourceProviders/resourceTypes"
+)
+
+// ResourceType represents a resource type.
+type ResourceType struct {
+ v1.BaseResource
+
+ // Properties stores the properties of the resource type.
+ Properties ResourceTypeProperties `json:"properties"`
+}
+
+// ResourceTypeName gives the type of the resource.
+func (r *ResourceType) ResourceTypeName() string {
+ return ResourceTypeResourceType
+}
+
+// ResourceTypeProperties stores the properties of a resource type.
+type ResourceTypeProperties struct {
+ // DefaultAPIVersion is the default API version for this resource type.
+ DefaultAPIVersion *string `json:"defaultApiVersion"`
+}
diff --git a/pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary.go b/pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary.go
new file mode 100644
index 00000000000..ac0b92acd4c
--- /dev/null
+++ b/pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary.go
@@ -0,0 +1,130 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package resourceproviders
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ http "net/http"
+ "strings"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ armrpc_controller "github.com/radius-project/radius/pkg/armrpc/frontend/controller"
+ armrpc_rest "github.com/radius-project/radius/pkg/armrpc/rest"
+ "github.com/radius-project/radius/pkg/middleware"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/datamodel/converter"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/radius-project/radius/pkg/ucp/store"
+)
+
+var _ armrpc_controller.Controller = (*GetResourceProviderSummary)(nil)
+
+// GetResourceProviderSummary is the controller implementation to get the list of resources stored in a resource group.
+type GetResourceProviderSummary struct {
+ armrpc_controller.Operation[*datamodel.ResourceProviderSummary, datamodel.ResourceProviderSummary]
+}
+
+// NewGetResourceProviderSummary creates a new controller for listing resources stored in a resource group.
+func NewGetResourceProviderSummary(opts armrpc_controller.Options) (armrpc_controller.Controller, error) {
+ return &GetResourceProviderSummary{
+ Operation: armrpc_controller.NewOperation(opts,
+ armrpc_controller.ResourceOptions[datamodel.ResourceProviderSummary]{
+ RequestConverter: converter.ResourceProviderSummaryDataModelFromVersioned,
+ ResponseConverter: converter.ResourceProviderSummaryDataModelToVersioned,
+ },
+ ),
+ }, nil
+}
+
+// Run implements controller.Controller.
+func (r *GetResourceProviderSummary) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (armrpc_rest.Response, error) {
+ relativePath := middleware.GetRelativePath(r.Options().PathBase, req.URL.Path)
+
+ scope, name, err := r.extractScopeAndName(relativePath)
+ if err != nil {
+ return nil, err
+ }
+
+ // First check if the plane exists.
+ _, err = r.StorageClient().Get(ctx, scope.String())
+ if errors.Is(err, &store.ErrNotFound{}) {
+ return armrpc_rest.NewNotFoundResponse(scope), nil
+ } else if err != nil {
+ return nil, err
+ }
+
+ // Next, construct a resource id for the summary.
+ id, err := datamodel.ResourceProviderSummaryIDFromParts(scope.String(), name)
+ if err != nil {
+ return nil, err
+ }
+
+ result, err := r.StorageClient().Get(ctx, id.String())
+ if errors.Is(err, &store.ErrNotFound{}) {
+ // If we fail to find the summary, then use the relative path as the target.
+ message := fmt.Sprintf("the resource provider with name '%s' was not found", name)
+ return armrpc_rest.NewNotFoundMessageResponse(message), nil
+ } else if err != nil {
+ return nil, err
+ }
+
+ response, err := r.createResponse(ctx, result)
+ if err != nil {
+ return nil, err
+ }
+
+ return armrpc_rest.NewOKResponse(response), nil
+}
+
+func (r *GetResourceProviderSummary) extractScopeAndName(relativePath string) (resources.ID, string, error) {
+ // Trim a trailing slash if it exists.
+ relativePath = strings.TrimSuffix(relativePath, "/")
+
+ // NOTE: the URL path should be something like: /planes/radius/local/providers/Applications.Test.
+ //
+ // This is NOT a valid resource id, so we can't use the parser for it.
+ //
+ // Instead we trim this to just /planes/radius/local and keep the Applications.Test part separate.
+ lastSeparator := strings.LastIndex(relativePath, resources.SegmentSeparator)
+ if lastSeparator == -1 {
+ // This probably can't happen, but let's not panic.
+ return resources.ID{}, "", errors.New("invalid URL path")
+ }
+
+ name := relativePath[lastSeparator+1:]
+ scope, err := resources.ParseScope(
+ strings.TrimSuffix(
+ strings.TrimSuffix(relativePath[0:lastSeparator], resources.SegmentSeparator), resources.SegmentSeparator+resources.ProvidersSegment))
+ if err != nil {
+ return resources.ID{}, "", err
+ }
+
+ return scope, name, nil
+}
+
+func (r *GetResourceProviderSummary) createResponse(ctx context.Context, result *store.Object) (any, error) {
+ serviceCtx := v1.ARMRequestContextFromContext(ctx)
+
+ summary := datamodel.ResourceProviderSummary{}
+ err := result.As(&summary)
+ if err != nil {
+ return nil, err
+ }
+
+ return converter.ResourceProviderSummaryDataModelToVersioned(&summary, serviceCtx.APIVersion)
+}
diff --git a/pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary_test.go b/pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary_test.go
new file mode 100644
index 00000000000..563fe3f166e
--- /dev/null
+++ b/pkg/ucp/frontend/controller/resourceproviders/getresourceprovidersummary_test.go
@@ -0,0 +1,65 @@
+package resourceproviders
+
+import (
+ "errors"
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/stretchr/testify/require"
+)
+
+func TestExtractScopeAndName(t *testing.T) {
+ tests := []struct {
+ name string
+ relativePath string
+ expectedScope resources.ID
+ expectedName string
+ expectedErr error
+ }{
+ {
+ name: "Valid path with trailing slash",
+ relativePath: "/planes/radius/local/providers/Applications.Test/",
+ expectedScope: resources.MustParse("/planes/radius/local"),
+ expectedName: "Applications.Test",
+ expectedErr: nil,
+ },
+ {
+ name: "Valid path without trailing slash",
+ relativePath: "/planes/radius/local/providers/Applications.Test",
+ expectedScope: resources.MustParse("/planes/radius/local"),
+ expectedName: "Applications.Test",
+ expectedErr: nil,
+ },
+ {
+ name: "Invalid path with no separator",
+ relativePath: "planesradiuslocalprovidersApplicationsTest",
+ expectedScope: resources.ID{},
+ expectedName: "",
+ expectedErr: errors.New("invalid URL path"),
+ },
+ {
+ name: "Invalid scope",
+ relativePath: "/planes/radius/local/providers/Applications.Test/some/other/path",
+ expectedScope: resources.ID{},
+ expectedName: "",
+ expectedErr: errors.New("\"/planes/radius/local/providers/Applications.Test/some/other\" is a valid resource id but does not refer to a scope"),
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ r := &GetResourceProviderSummary{}
+ scope, name, err := r.extractScopeAndName(tt.relativePath)
+
+ if tt.expectedErr != nil {
+ require.Error(t, err, "expected error %v, got nil", tt.expectedErr)
+ require.Equal(t, tt.expectedErr.Error(), err.Error(), "expected error %v, got %v", tt.expectedErr, err)
+ } else {
+ require.NoError(t, err, "expected no error, got %v", err)
+ }
+
+ require.Equal(t, tt.expectedScope, scope, "expected scope %v, got %v", tt.expectedScope, scope)
+ require.Equal(t, tt.expectedName, name, "expected name %v, got %v", tt.expectedName, name)
+ })
+ }
+}
diff --git a/pkg/ucp/frontend/controller/resourceproviders/listresourceprovidersummaries.go b/pkg/ucp/frontend/controller/resourceproviders/listresourceprovidersummaries.go
new file mode 100644
index 00000000000..edd72c4575d
--- /dev/null
+++ b/pkg/ucp/frontend/controller/resourceproviders/listresourceprovidersummaries.go
@@ -0,0 +1,119 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package resourceproviders
+
+import (
+ "context"
+ "errors"
+ http "net/http"
+ "strings"
+
+ v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
+ armrpc_controller "github.com/radius-project/radius/pkg/armrpc/frontend/controller"
+ armrpc_rest "github.com/radius-project/radius/pkg/armrpc/rest"
+ "github.com/radius-project/radius/pkg/middleware"
+ "github.com/radius-project/radius/pkg/ucp/datamodel"
+ "github.com/radius-project/radius/pkg/ucp/datamodel/converter"
+ "github.com/radius-project/radius/pkg/ucp/resources"
+ "github.com/radius-project/radius/pkg/ucp/store"
+)
+
+var _ armrpc_controller.Controller = (*ListResourceProviderSummaries)(nil)
+
+// ListResourceProviderSummaries is the controller implementation to list the summaries
+// of all resource providers.
+type ListResourceProviderSummaries struct {
+ armrpc_controller.Operation[*datamodel.ResourceProviderSummary, datamodel.ResourceProviderSummary]
+}
+
+// NewListResourceProviderSummaries creates a new controller for listing the summaries of all resource providers.
+func NewListResourceProviderSummaries(opts armrpc_controller.Options) (armrpc_controller.Controller, error) {
+ return &ListResourceProviderSummaries{
+ Operation: armrpc_controller.NewOperation(opts,
+ armrpc_controller.ResourceOptions[datamodel.ResourceProviderSummary]{
+ RequestConverter: converter.ResourceProviderSummaryDataModelFromVersioned,
+ ResponseConverter: converter.ResourceProviderSummaryDataModelToVersioned,
+ },
+ ),
+ }, nil
+}
+
+// Run implements controller.Controller.
+func (r *ListResourceProviderSummaries) Run(ctx context.Context, w http.ResponseWriter, req *http.Request) (armrpc_rest.Response, error) {
+ relativePath := middleware.GetRelativePath(r.Options().PathBase, req.URL.Path)
+
+ // NOTE: the URL path should be something like: /planes/radius/local/providers.
+ //
+ // This is NOT a valid resource id, so we can't use the parser for it.
+ //
+ // Instead we trim this to just /planes/radius/local
+ scope, err := resources.ParseScope(
+ strings.TrimSuffix(
+ strings.TrimSuffix(relativePath, resources.SegmentSeparator), resources.SegmentSeparator+resources.ProvidersSegment))
+ if err != nil {
+ return nil, err
+ }
+
+ // First check if the plane exists.
+ _, err = r.StorageClient().Get(ctx, scope.String())
+ if errors.Is(err, &store.ErrNotFound{}) {
+ return armrpc_rest.NewNotFoundResponse(scope), nil
+ } else if err != nil {
+ return nil, err
+ }
+
+ // Now query for resource provider summaries
+ query := store.Query{
+ RootScope: scope.String(),
+ ResourceType: datamodel.ResourceProviderSummaryResourceType,
+ }
+
+ result, err := r.StorageClient().Query(ctx, query)
+ if err != nil {
+ return nil, err
+ }
+
+ response, err := r.createResponse(ctx, result)
+ if err != nil {
+ return nil, err
+ }
+
+ return armrpc_rest.NewOKResponse(response), nil
+}
+
+func (r *ListResourceProviderSummaries) createResponse(ctx context.Context, result *store.ObjectQueryResult) (*v1.PaginatedList, error) {
+ items := v1.PaginatedList{
+ Value: []any{}, // Initialize to empty list for testability
+ }
+ serviceCtx := v1.ARMRequestContextFromContext(ctx)
+
+ for _, item := range result.Items {
+ data := datamodel.ResourceProviderSummary{}
+ err := item.As(&data)
+ if err != nil {
+ return nil, err
+ }
+
+ versioned, err := converter.ResourceProviderSummaryDataModelToVersioned(&data, serviceCtx.APIVersion)
+ if err != nil {
+ return nil, err
+ }
+
+ items.Value = append(items.Value, versioned)
+ }
+
+ return &items, nil
+}
diff --git a/pkg/ucp/frontend/radius/routes.go b/pkg/ucp/frontend/radius/routes.go
index fc2fdaf6870..22bf6288b63 100644
--- a/pkg/ucp/frontend/radius/routes.go
+++ b/pkg/ucp/frontend/radius/routes.go
@@ -18,8 +18,10 @@ package radius
import (
"context"
+ "errors"
"net/http"
+ "github.com/go-chi/chi/v5"
v1 "github.com/radius-project/radius/pkg/armrpc/api/v1"
"github.com/radius-project/radius/pkg/armrpc/frontend/controller"
"github.com/radius-project/radius/pkg/armrpc/frontend/defaultoperation"
@@ -30,138 +32,29 @@ import (
planes_ctrl "github.com/radius-project/radius/pkg/ucp/frontend/controller/planes"
radius_ctrl "github.com/radius-project/radius/pkg/ucp/frontend/controller/radius"
resourcegroups_ctrl "github.com/radius-project/radius/pkg/ucp/frontend/controller/resourcegroups"
+ resourceproviders_ctrl "github.com/radius-project/radius/pkg/ucp/frontend/controller/resourceproviders"
"github.com/radius-project/radius/pkg/validator"
)
const (
- planeCollectionPath = "/planes/radius"
- planeResourcePath = "/planes/radius/{planeName}"
- resourceGroupCollectionPath = planeResourcePath + "/resourcegroups"
- resourceGroupResourcePath = planeResourcePath + "/resourcegroups/{resourceGroupName}"
-
// OperationTypeUCPRadiusProxy is the operation type for proxying Radius API calls.
OperationTypeUCPRadiusProxy = "UCPRADIUSPROXY"
)
func (m *Module) Initialize(ctx context.Context) (http.Handler, error) {
- baseRouter := server.NewSubrouter(m.router, m.options.PathBase)
-
apiValidator := validator.APIValidator(validator.Options{
SpecLoader: m.options.SpecLoader,
ResourceTypeGetter: validator.UCPResourceTypeGetter,
})
- planeResourceOptions := controller.ResourceOptions[datamodel.RadiusPlane]{
- RequestConverter: converter.RadiusPlaneDataModelFromVersioned,
- ResponseConverter: converter.RadiusPlaneDataModelToVersioned,
- }
-
- // URLs for lifecycle of planes
- planeCollectionRouter := server.NewSubrouter(baseRouter, planeCollectionPath, apiValidator)
- planeResourceRouter := server.NewSubrouter(baseRouter, planeResourcePath, apiValidator)
-
- resourceGroupResourceOptions := controller.ResourceOptions[datamodel.ResourceGroup]{
- RequestConverter: converter.ResourceGroupDataModelFromVersioned,
- ResponseConverter: converter.ResourceGroupDataModelToVersioned,
- }
+ // More convienent way to capture errors
+ var err error
+ capture := func(handler http.HandlerFunc, e error) http.HandlerFunc {
+ if e != nil {
+ err = errors.Join(err, e)
+ }
- // URLs for lifecycle of resource groups
- resourceGroupCollectionRouter := server.NewSubrouter(baseRouter, resourceGroupCollectionPath, apiValidator)
- resourceGroupResourceRouter := server.NewSubrouter(baseRouter, resourceGroupResourcePath, apiValidator)
-
- handlerOptions := []server.HandlerOptions{
- {
- // This is a scope query so we can't use the default operation.
- ParentRouter: planeCollectionRouter,
- Method: v1.OperationList,
- OperationType: &v1.OperationType{Type: datamodel.RadiusPlaneResourceType, Method: v1.OperationList},
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return &planes_ctrl.ListPlanesByType[*datamodel.RadiusPlane, datamodel.RadiusPlane]{
- Operation: controller.NewOperation(opts, planeResourceOptions),
- }, nil
- },
- },
- {
- ParentRouter: planeResourceRouter,
- Method: v1.OperationGet,
- OperationType: &v1.OperationType{Type: datamodel.RadiusPlaneResourceType, Method: v1.OperationGet},
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return defaultoperation.NewGetResource(opts, planeResourceOptions)
- },
- },
- {
- ParentRouter: planeResourceRouter,
- Method: v1.OperationPut,
- OperationType: &v1.OperationType{Type: datamodel.RadiusPlaneResourceType, Method: v1.OperationPut},
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return defaultoperation.NewDefaultSyncPut(opts, planeResourceOptions)
- },
- },
- {
- ParentRouter: planeResourceRouter,
- Method: v1.OperationDelete,
- OperationType: &v1.OperationType{Type: datamodel.RadiusPlaneResourceType, Method: v1.OperationDelete},
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return defaultoperation.NewDefaultSyncDelete(opts, planeResourceOptions)
- },
- },
- {
- ParentRouter: resourceGroupCollectionRouter,
- ResourceType: v20231001preview.ResourceGroupType,
- Method: v1.OperationList,
- ControllerFactory: resourcegroups_ctrl.NewListResourceGroups,
- },
- {
- ParentRouter: resourceGroupResourceRouter,
- ResourceType: v20231001preview.ResourceGroupType,
- Method: v1.OperationGet,
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return defaultoperation.NewGetResource(opts, resourceGroupResourceOptions)
- },
- },
- {
- ParentRouter: resourceGroupResourceRouter,
- ResourceType: v20231001preview.ResourceGroupType,
- Method: v1.OperationPut,
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return defaultoperation.NewDefaultSyncPut(opts, resourceGroupResourceOptions)
- },
- },
- {
- ParentRouter: resourceGroupResourceRouter,
- ResourceType: v20231001preview.ResourceGroupType,
- Method: v1.OperationDelete,
- ControllerFactory: func(opts controller.Options) (controller.Controller, error) {
- return defaultoperation.NewDefaultSyncDelete(opts, resourceGroupResourceOptions)
- },
- },
- {
- ParentRouter: resourceGroupResourceRouter,
- ResourceType: v20231001preview.ResourceType,
- Path: "/resources",
- Method: v1.OperationList,
- ControllerFactory: func(opt controller.Options) (controller.Controller, error) {
- return resourcegroups_ctrl.NewListResources(opt)
- },
- },
- // Chi router uses radix tree so that it doesn't linear search the matched one. So, to catch all requests,
- // we need to use CatchAllPath(/*) at the above matched routes path in chi router.
- //
- // Note that the API validation is not applied for CatchAllPath(/*).
- {
- // Proxy request should use CatchAllPath(/*) to process all requests under /planes/radius/{planeName}/resourcegroups/{resourceGroupName}.
- ParentRouter: resourceGroupResourceRouter,
- Path: server.CatchAllPath,
- OperationType: &v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
- ControllerFactory: radius_ctrl.NewProxyController,
- },
- {
- // Proxy request should use CatchAllPath(/*) to process all requests under /planes/radius/{planeName}/.
- ParentRouter: planeResourceRouter,
- Path: server.CatchAllPath,
- OperationType: &v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
- ControllerFactory: radius_ctrl.NewProxyController,
- },
+ return handler
}
ctrlOptions := controller.Options{
@@ -171,11 +64,301 @@ func (m *Module) Initialize(ctx context.Context) (http.Handler, error) {
StatusManager: m.options.StatusManager,
}
- for _, h := range handlerOptions {
- if err := server.RegisterHandler(ctx, h, ctrlOptions); err != nil {
- return nil, err
- }
- }
+ // NOTE: we're careful where we use the `apiValidator` middleware. It's not used for the proxy routes.
+ m.router.Route(m.options.PathBase+"/planes/radius", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(radiusPlaneListHandler(ctx, ctrlOptions)))
+ r.Route("/{planeName}", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(radiusPlaneGetHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Put("/", capture(radiusPlanePutHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Delete("/", capture(radiusPlaneDeleteHandler(ctx, ctrlOptions)))
+
+ r.Route("/providers", func(r chi.Router) {
+ r.Get("/", capture(resourceProviderSummaryListHandler(ctx, ctrlOptions)))
+ r.Get("/{resourceProviderName}", capture(resourceProviderSummaryGetHandler(ctx, ctrlOptions)))
+
+ r.Route("/System.Resources", func(r chi.Router) {
+
+ // Routes for async support: operationResults + operationStatuses
+ r.Route("/locations/{location}", func(r chi.Router) {
+ r.Get("/operationStatuses/{operationId}", capture(operationStatusGetHandler(ctx, ctrlOptions)))
+ r.Get("/operationResults/{operationId}", capture(operationResultGetHandler(ctx, ctrlOptions)))
+ })
+
+ r.Route("/resourceproviders", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(resourceProviderListHandler(ctx, ctrlOptions)))
+ r.Route("/{resourceProviderName}", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(resourceProviderGetHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Put("/", capture(resourceProviderPutHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Delete("/", capture(resourceProviderDeleteHandler(ctx, ctrlOptions)))
+
+ r.Route("/locations", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(locationListHandler(ctx, ctrlOptions)))
+ r.Route("/{locationName}", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(locationGetHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Put("/", capture(locationPutHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Delete("/", capture(locationDeleteHandler(ctx, ctrlOptions)))
+ })
+ })
+
+ r.Route("/resourcetypes", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(resourceTypeListHandler(ctx, ctrlOptions)))
+ r.Route("/{resourceTypeName}", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(resourceTypeGetHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Put("/", capture(resourceTypePutHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Delete("/", capture(resourceTypeDeleteHandler(ctx, ctrlOptions)))
+
+ r.Route("/apiversions", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(apiVersionListHandler(ctx, ctrlOptions)))
+ r.Route("/{apiVersionName}", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(apiVersionGetHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Put("/", capture(apiVersionPutHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Delete("/", capture(apiVersionDeleteHandler(ctx, ctrlOptions)))
+ })
+ })
+ })
+ })
+ })
+ })
+ })
+
+ // Proxy to plane-scoped ResourceProvider APIs
+ //
+ // NOTE: DO NOT validate schema for proxy routes.
+ r.Handle("/*", capture(planeScopedProxyHandler(ctx, ctrlOptions)))
+ })
+
+ r.Route("/resourcegroups", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(resourceGroupListHandler(ctx, ctrlOptions)))
+ r.Route("/{resourceGroupName}", func(r chi.Router) {
+ r.With(apiValidator).Get("/", capture(resourceGroupGetHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Put("/", capture(resourceGroupPutHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Delete("/", capture(resourceGroupDeleteHandler(ctx, ctrlOptions)))
+ r.With(apiValidator).Route("/resources", func(r chi.Router) {
+ r.Get("/", capture(resourceGroupResourcesHandler(ctx, ctrlOptions)))
+ })
+
+ r.Route("/providers", func(r chi.Router) {
+ // Proxy to resource-group-scoped ResourceProvider APIs
+ //
+ // NOTE: DO NOT validate schema for proxy routes.
+ r.Handle("/*", capture(resourceGroupScopedProxyHandler(ctx, ctrlOptions)))
+ })
+ })
+
+ })
+ })
+ })
return m.router, nil
}
+
+var planeResourceOptions = controller.ResourceOptions[datamodel.RadiusPlane]{
+ RequestConverter: converter.RadiusPlaneDataModelFromVersioned,
+ ResponseConverter: converter.RadiusPlaneDataModelToVersioned,
+}
+
+var planeResourceType = "System.Radius/planes"
+
+func radiusPlaneListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, planeResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return &planes_ctrl.ListPlanesByType[*datamodel.RadiusPlane, datamodel.RadiusPlane]{
+ Operation: controller.NewOperation(opts, planeResourceOptions),
+ }, nil
+ })
+}
+
+func radiusPlaneGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, planeResourceType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewGetResource(opts, planeResourceOptions)
+ })
+}
+
+func radiusPlanePutHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, planeResourceType, v1.OperationPut, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultSyncPut(opts, planeResourceOptions)
+ })
+}
+
+func radiusPlaneDeleteHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, planeResourceType, v1.OperationDelete, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultSyncDelete(opts, planeResourceOptions)
+ })
+}
+
+var resourceGroupResourceOptions = controller.ResourceOptions[datamodel.ResourceGroup]{
+ RequestConverter: converter.ResourceGroupDataModelFromVersioned,
+ ResponseConverter: converter.ResourceGroupDataModelToVersioned,
+}
+
+func resourceGroupListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, v20231001preview.ResourceGroupType, v1.OperationList, ctrlOptions, resourcegroups_ctrl.NewListResourceGroups)
+}
+
+func resourceGroupGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, v20231001preview.ResourceGroupType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewGetResource(opts, resourceGroupResourceOptions)
+ })
+}
+
+func resourceGroupPutHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, v20231001preview.ResourceGroupType, v1.OperationPut, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultSyncPut(opts, resourceGroupResourceOptions)
+ })
+}
+
+func resourceGroupDeleteHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, v20231001preview.ResourceGroupType, v1.OperationDelete, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultSyncDelete(opts, resourceGroupResourceOptions)
+ })
+}
+
+func resourceGroupResourcesHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, v20231001preview.ResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return resourcegroups_ctrl.NewListResources(opts)
+ })
+}
+
+func resourceProviderSummaryListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceProviderSummaryResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return resourceproviders_ctrl.NewListResourceProviderSummaries(opts)
+ })
+}
+
+func resourceProviderSummaryGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceProviderSummaryResourceType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return resourceproviders_ctrl.NewGetResourceProviderSummary(opts)
+ })
+}
+
+var resourceProviderResourceOptions = controller.ResourceOptions[datamodel.ResourceProvider]{
+ RequestConverter: converter.ResourceProviderDataModelFromVersioned,
+ ResponseConverter: converter.ResourceProviderDataModelToVersioned,
+}
+
+func resourceProviderListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceProviderResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewListResources(opts, resourceProviderResourceOptions)
+ })
+}
+
+func resourceProviderGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceProviderResourceType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewGetResource(opts, resourceProviderResourceOptions)
+ })
+}
+
+func resourceProviderPutHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceProviderResourceType, v1.OperationPut, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncPut(opts, resourceProviderResourceOptions)
+ })
+}
+
+func resourceProviderDeleteHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceProviderResourceType, v1.OperationDelete, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncDelete(opts, resourceProviderResourceOptions)
+ })
+}
+
+var resourceTypeResourceOptions = controller.ResourceOptions[datamodel.ResourceType]{
+ RequestConverter: converter.ResourceTypeDataModelFromVersioned,
+ ResponseConverter: converter.ResourceTypeDataModelToVersioned,
+}
+
+func resourceTypeListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceTypeResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewListResources(opts, resourceTypeResourceOptions)
+ })
+}
+
+func resourceTypeGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceTypeResourceType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewGetResource(opts, resourceTypeResourceOptions)
+ })
+}
+
+func resourceTypePutHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceTypeResourceType, v1.OperationPut, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncPut(opts, resourceTypeResourceOptions)
+ })
+}
+
+func resourceTypeDeleteHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.ResourceTypeResourceType, v1.OperationDelete, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncDelete(opts, resourceTypeResourceOptions)
+ })
+}
+
+var apiVersionResourceOptions = controller.ResourceOptions[datamodel.APIVersion]{
+ RequestConverter: converter.APIVersionDataModelFromVersioned,
+ ResponseConverter: converter.APIVersionDataModelToVersioned,
+}
+
+func apiVersionListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.APIVersionResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewListResources(opts, apiVersionResourceOptions)
+ })
+}
+
+func apiVersionGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.APIVersionResourceType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewGetResource(opts, apiVersionResourceOptions)
+ })
+}
+
+func apiVersionPutHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.APIVersionResourceType, v1.OperationPut, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncPut(opts, apiVersionResourceOptions)
+ })
+}
+
+func apiVersionDeleteHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.APIVersionResourceType, v1.OperationDelete, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncDelete(opts, apiVersionResourceOptions)
+ })
+}
+
+var locationResourceOptions = controller.ResourceOptions[datamodel.Location]{
+ RequestConverter: converter.LocationDataModelFromVersioned,
+ ResponseConverter: converter.LocationDataModelToVersioned,
+}
+
+func locationListHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.LocationResourceType, v1.OperationList, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewListResources(opts, locationResourceOptions)
+ })
+}
+
+func locationGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.LocationResourceType, v1.OperationGet, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewGetResource(opts, locationResourceOptions)
+ })
+}
+
+func locationPutHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.LocationResourceType, v1.OperationPut, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncPut(opts, locationResourceOptions)
+ })
+}
+
+func locationDeleteHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, datamodel.LocationResourceType, v1.OperationDelete, ctrlOptions, func(opts controller.Options) (controller.Controller, error) {
+ return defaultoperation.NewDefaultAsyncDelete(opts, locationResourceOptions)
+ })
+}
+
+func planeScopedProxyHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, OperationTypeUCPRadiusProxy, v1.OperationProxy, ctrlOptions, radius_ctrl.NewProxyController)
+}
+
+func resourceGroupScopedProxyHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, OperationTypeUCPRadiusProxy, v1.OperationProxy, ctrlOptions, radius_ctrl.NewProxyController)
+}
+
+func operationStatusGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ return server.CreateHandler(ctx, "System.Resources/operationstatuses", v1.OperationGet, ctrlOptions, defaultoperation.NewGetOperationStatus)
+}
+
+func operationResultGetHandler(ctx context.Context, ctrlOptions controller.Options) (http.HandlerFunc, error) {
+ // NOTE: The resource type below is CORRECT. operation status and operation result use the same resource for storage.
+ return server.CreateHandler(ctx, "System.Resources/operationstatuses", v1.OperationGet, ctrlOptions, defaultoperation.NewGetOperationResult)
+}
diff --git a/pkg/ucp/frontend/radius/routes_test.go b/pkg/ucp/frontend/radius/routes_test.go
index 92d08b512a3..c47bb9ab1a3 100644
--- a/pkg/ucp/frontend/radius/routes_test.go
+++ b/pkg/ucp/frontend/radius/routes_test.go
@@ -38,6 +38,7 @@ const pathBase = "/some-path-base"
func Test_Routes(t *testing.T) {
tests := []rpctest.HandlerTestSpec{
+ // Radius plane
{
OperationType: v1.OperationType{Type: datamodel.RadiusPlaneResourceType, Method: v1.OperationList},
Method: http.MethodGet,
@@ -58,38 +59,129 @@ func Test_Routes(t *testing.T) {
Method: http.MethodDelete,
Path: "/planes/radius/someName",
},
+
+ // Resource types
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceProviderResourceType, Method: v1.OperationList},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceProviderResourceType, Method: v1.OperationGet},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceProviderResourceType, Method: v1.OperationPut},
+ Method: http.MethodPut,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceProviderResourceType, Method: v1.OperationDelete},
+ Method: http.MethodDelete,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.LocationResourceType, Method: v1.OperationList},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/locations",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.LocationResourceType, Method: v1.OperationGet},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/locations/east",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.LocationResourceType, Method: v1.OperationPut},
+ Method: http.MethodPut,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/locations/east",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.LocationResourceType, Method: v1.OperationDelete},
+ Method: http.MethodDelete,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/locations/east",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceTypeResourceType, Method: v1.OperationList},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceTypeResourceType, Method: v1.OperationGet},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceTypeResourceType, Method: v1.OperationPut},
+ Method: http.MethodPut,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.ResourceTypeResourceType, Method: v1.OperationDelete},
+ Method: http.MethodDelete,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.APIVersionResourceType, Method: v1.OperationList},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.APIVersionResourceType, Method: v1.OperationGet},
+ Method: http.MethodGet,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.APIVersionResourceType, Method: v1.OperationPut},
+ Method: http.MethodPut,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01",
+ },
+ {
+ OperationType: v1.OperationType{Type: datamodel.APIVersionResourceType, Method: v1.OperationDelete},
+ Method: http.MethodDelete,
+ Path: "/planes/radius/someName/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01",
+ },
+
+ // Resource groups
{
- OperationType: v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
- Method: http.MethodGet,
- Path: "/planes/radius/local/resourcegroups/test-rg/providers/applications.core/applications/test-app",
- SkipOperationTypeValidation: true,
- }, {
- OperationType: v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
- Method: http.MethodPut,
- Path: "/planes/radius/local/resourcegroups/test-rg/providers/applications.core/applications/test-app",
- SkipOperationTypeValidation: true,
- }, {
OperationType: v1.OperationType{Type: v20231001preview.ResourceGroupType, Method: v1.OperationList},
Method: http.MethodGet,
Path: "/planes/radius/local/resourcegroups",
- }, {
+ },
+ {
OperationType: v1.OperationType{Type: v20231001preview.ResourceGroupType, Method: v1.OperationGet},
Method: http.MethodGet,
Path: "/planes/radius/local/resourcegroups/test-rg",
- }, {
+ },
+ {
OperationType: v1.OperationType{Type: v20231001preview.ResourceGroupType, Method: v1.OperationPut},
Method: http.MethodPut,
Path: "/planes/radius/local/resourcegroups/test-rg",
- }, {
+ },
+ {
OperationType: v1.OperationType{Type: v20231001preview.ResourceGroupType, Method: v1.OperationDelete},
Method: http.MethodDelete,
Path: "/planes/radius/local/resourcegroups/test-rg",
- }, {
+ },
+ {
OperationType: v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
Method: http.MethodGet,
Path: "/planes/radius/local/providers/applications.core/applications/test-app",
SkipOperationTypeValidation: true,
},
+
+ // Proxy
+ {
+ OperationType: v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
+ Method: http.MethodGet,
+ Path: "/planes/radius/local/resourcegroups/test-rg/providers/applications.core/applications/test-app",
+ SkipOperationTypeValidation: true,
+ }, {
+ OperationType: v1.OperationType{Type: OperationTypeUCPRadiusProxy, Method: v1.OperationProxy},
+ Method: http.MethodPut,
+ Path: "/planes/radius/local/resourcegroups/test-rg/providers/applications.core/applications/test-app",
+ SkipOperationTypeValidation: true,
+ },
}
ctrl := gomock.NewController(t)
diff --git a/pkg/ucp/integrationtests/resourceproviders/apiversions_test.go b/pkg/ucp/integrationtests/resourceproviders/apiversions_test.go
new file mode 100644
index 00000000000..8ba1d22fcec
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/apiversions_test.go
@@ -0,0 +1,66 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/frontend/api"
+ "github.com/radius-project/radius/pkg/ucp/integrationtests/testserver"
+ "github.com/stretchr/testify/require"
+)
+
+const (
+ apiVersionEmptyListResponseFixture = "testdata/apiversion_v20231001preview_emptylist_responsebody.json"
+ apiVersionListResponseFixture = "testdata/apiversion_v20231001preview_list_responsebody.json"
+)
+
+func Test_APIVersion_Lifecycle(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+ createResourceProvider(server)
+ createResourceType(server)
+
+ // We don't use t.Run() here because we want the test to fail if *any* of these steps fail.
+
+ // List should start empty
+ response := server.MakeRequest(http.MethodGet, apiVersionCollectionURL, nil)
+ response.EqualsFixture(200, apiVersionEmptyListResponseFixture)
+
+ // Getting a specific resource type should return 404 with the correct resource ID.
+ response = server.MakeRequest(http.MethodGet, apiVersionURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, apiVersionID, response.Error.Error.Target)
+
+ // Create a resource provider
+ createAPIVersion(server)
+
+ // List should now contain the resource provider
+ response = server.MakeRequest(http.MethodGet, apiVersionCollectionURL, nil)
+ response.EqualsFixture(200, apiVersionListResponseFixture)
+
+ response = server.MakeRequest(http.MethodGet, apiVersionURL, nil)
+ response.EqualsFixture(200, apiVersionResponseFixture)
+
+ deleteAPIVersion(server)
+
+ deleteResourceType(server)
+ deleteResourceProvider(server)
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/locations_test.go b/pkg/ucp/integrationtests/resourceproviders/locations_test.go
new file mode 100644
index 00000000000..64923fbc9a4
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/locations_test.go
@@ -0,0 +1,63 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/frontend/api"
+ "github.com/radius-project/radius/pkg/ucp/integrationtests/testserver"
+ "github.com/stretchr/testify/require"
+)
+
+const (
+ locationEmptyListResponseFixture = "testdata/location_v20231001preview_emptylist_responsebody.json"
+ locationListResponseFixture = "testdata/location_v20231001preview_list_responsebody.json"
+)
+
+func Test_Location_Lifecycle(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+ createResourceProvider(server)
+
+ // We don't use t.Run() here because we want the test to fail if *any* of these steps fail.
+
+ // List should start empty
+ response := server.MakeRequest(http.MethodGet, locationCollectionURL, nil)
+ response.EqualsFixture(200, locationEmptyListResponseFixture)
+
+ // Getting a specific resource type should return 404 with the correct resource ID.
+ response = server.MakeRequest(http.MethodGet, locationURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, locationID, response.Error.Error.Target)
+
+ // Create a resource provider
+ createLocation(server)
+
+ // List should now contain the resource provider
+ response = server.MakeRequest(http.MethodGet, locationCollectionURL, nil)
+ response.EqualsFixture(200, locationListResponseFixture)
+
+ response = server.MakeRequest(http.MethodGet, locationURL, nil)
+ response.EqualsFixture(200, locationResponseFixture)
+
+ deleteLocation(server)
+ deleteResourceProvider(server)
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/resourceproviders_test.go b/pkg/ucp/integrationtests/resourceproviders/resourceproviders_test.go
new file mode 100644
index 00000000000..a67000cf8bd
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/resourceproviders_test.go
@@ -0,0 +1,90 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/frontend/api"
+ "github.com/radius-project/radius/pkg/ucp/integrationtests/testserver"
+ "github.com/stretchr/testify/require"
+)
+
+const (
+ resourceProviderEmptyListResponseFixture = "testdata/resourceprovider_v20231001preview_emptylist_responsebody.json"
+ resourceProviderListResponseFixture = "testdata/resourceprovider_v20231001preview_list_responsebody.json"
+)
+
+func Test_ResourceProvider_Lifecycle(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+
+ // We don't use t.Run() here because we want the test to fail if *any* of these steps fail.
+
+ // List should start empty
+ response := server.MakeRequest(http.MethodGet, resourceProviderCollectionURL, nil)
+ response.EqualsFixture(200, resourceProviderEmptyListResponseFixture)
+
+ // Getting a specific resource provider should return 404 with the correct resource ID.
+ response = server.MakeRequest(http.MethodGet, resourceProviderURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, resourceProviderID, response.Error.Error.Target)
+
+ // Create a resource provider
+ createResourceProvider(server)
+
+ // List should now contain the resource provider
+ response = server.MakeRequest(http.MethodGet, resourceProviderCollectionURL, nil)
+ response.EqualsFixture(200, resourceProviderListResponseFixture)
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderURL, nil)
+ response.EqualsFixture(200, resourceProviderResponseFixture)
+
+ deleteResourceProvider(server)
+}
+
+func Test_ResourceProvider_CascadingDelete(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+
+ // We don't use t.Run() here because we want the test to fail if *any* of these steps fail.
+
+ // Create a resource provider
+ createResourceProvider(server)
+
+ // Create a resource type and location inside the resource provider
+ createResourceType(server)
+ createLocation(server)
+
+ // This will trigger deletion of the resource type and location
+ deleteResourceProvider(server)
+
+ // The resource type should be gone now.
+ response := server.MakeRequest(http.MethodGet, resourceTypeURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, resourceTypeID, response.Error.Error.Target)
+
+ // The location should be gone now.
+ response = server.MakeRequest(http.MethodGet, locationURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, locationID, response.Error.Error.Target)
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/resourcetypes_test.go b/pkg/ucp/integrationtests/resourceproviders/resourcetypes_test.go
new file mode 100644
index 00000000000..b8ae5885485
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/resourcetypes_test.go
@@ -0,0 +1,90 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/radius-project/radius/pkg/ucp/frontend/api"
+ "github.com/radius-project/radius/pkg/ucp/integrationtests/testserver"
+ "github.com/stretchr/testify/require"
+)
+
+const (
+ resourceTypeEmptyListResponseFixture = "testdata/resourcetype_v20231001preview_emptylist_responsebody.json"
+ resourceTypeListResponseFixture = "testdata/resourcetype_v20231001preview_list_responsebody.json"
+)
+
+func Test_ResourceType_Lifecycle(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+ createResourceProvider(server)
+
+ // We don't use t.Run() here because we want the test to fail if *any* of these steps fail.
+
+ // List should start empty
+ response := server.MakeRequest(http.MethodGet, resourceTypeCollectionURL, nil)
+ response.EqualsFixture(200, resourceTypeEmptyListResponseFixture)
+
+ // Getting a specific resource type should return 404 with the correct resource ID.
+ response = server.MakeRequest(http.MethodGet, resourceTypeURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, resourceTypeID, response.Error.Error.Target)
+
+ // Create a resource provider
+ createResourceType(server)
+
+ // List should now contain the resource provider
+ response = server.MakeRequest(http.MethodGet, resourceTypeCollectionURL, nil)
+ response.EqualsFixture(200, resourceTypeListResponseFixture)
+
+ response = server.MakeRequest(http.MethodGet, resourceTypeURL, nil)
+ response.EqualsFixture(200, resourceTypeResponseFixture)
+
+ deleteResourceType(server)
+
+ deleteResourceProvider(server)
+}
+
+func Test_ResourceType_CascadingDelete(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+ createResourceProvider(server)
+
+ // We don't use t.Run() here because we want the test to fail if *any* of these steps fail.
+
+ // Create a resource provider
+ createResourceType(server)
+
+ // Create an API version inside the resource type
+ createAPIVersion(server)
+
+ // This will trigger deletion of the API version.
+ deleteResourceType(server)
+
+ // The API version should be gone now.
+ response := server.MakeRequest(http.MethodGet, apiVersionURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, apiVersionID, response.Error.Error.Target)
+
+ deleteResourceProvider(server)
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/summary_test.go b/pkg/ucp/integrationtests/resourceproviders/summary_test.go
new file mode 100644
index 00000000000..9fbfb19b356
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/summary_test.go
@@ -0,0 +1,110 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "github.com/radius-project/radius/pkg/to"
+ "github.com/radius-project/radius/pkg/ucp/api/v20231001preview"
+ "github.com/radius-project/radius/pkg/ucp/frontend/api"
+ "github.com/radius-project/radius/pkg/ucp/integrationtests/testserver"
+ "github.com/stretchr/testify/require"
+)
+
+func Test_ResourceProviderSummary_Lifecycle(t *testing.T) {
+ server := testserver.StartWithETCD(t, api.DefaultModules)
+ defer server.Close()
+
+ createRadiusPlane(server)
+
+ // List should begin empty
+ response := server.MakeRequest(http.MethodGet, resourceProviderSummaryCollectionURL, nil)
+ response.EqualsEmptyList()
+
+ // Getting a specific resource provider should return 404 with the correct resource ID.
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, fmt.Sprintf("the resource provider with name '%s' was not found", resourceProviderNamespace), response.Error.Error.Message)
+ require.Equal(t, "", response.Error.Error.Target)
+
+ createResourceProvider(server)
+
+ // List should now contain a resource provider.
+ expected := v20231001preview.ResourceProviderSummary{
+ Name: to.Ptr(resourceProviderNamespace),
+ Locations: map[string]map[string]any{},
+ ResourceTypes: map[string]*v20231001preview.ResourceProviderSummaryResourceType{},
+ }
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryCollectionURL, nil)
+ response.EqualsValue(200, map[string]any{
+ "value": []any{expected},
+ })
+
+ // Getting a specific resource provider should return the resource provide summary.
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ // Now we'll iteratively add/remove elements and verify the summary is updated.
+ createResourceType(server)
+ expected.ResourceTypes[resourceTypeName] = &v20231001preview.ResourceProviderSummaryResourceType{
+ APIVersions: map[string]map[string]any{},
+ DefaultAPIVersion: to.Ptr("2025-01-01"),
+ }
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ createAPIVersion(server)
+ expected.ResourceTypes[resourceTypeName].APIVersions["2025-01-01"] = map[string]any{}
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ createLocation(server)
+ expected.Locations["east"] = map[string]any{}
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ deleteAPIVersion(server)
+ delete(expected.ResourceTypes[resourceTypeName].APIVersions, "2025-01-01")
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ deleteResourceType(server)
+ delete(expected.ResourceTypes, resourceTypeName)
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ deleteLocation(server)
+ delete(expected.Locations, "east")
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsValue(200, expected)
+
+ deleteResourceProvider(server)
+
+ response = server.MakeRequest(http.MethodGet, resourceProviderSummaryURL, nil)
+ response.EqualsErrorCode(404, "NotFound")
+ require.Equal(t, fmt.Sprintf("the resource provider with name '%s' was not found", resourceProviderNamespace), response.Error.Error.Message)
+ require.Equal(t, "", response.Error.Error.Target)
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json
new file mode 100644
index 00000000000..bcd37241563
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json
@@ -0,0 +1,3 @@
+{
+ "value": []
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json
new file mode 100644
index 00000000000..68f7e91778e
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json
@@ -0,0 +1,12 @@
+{
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "System.Resources/resourceproviders/resourcetypes/apiversions"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json
new file mode 100644
index 00000000000..c4d8e7a64d5
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json
@@ -0,0 +1,7 @@
+{
+ "location": "global",
+ "tags": {
+ "test": "my-test"
+ },
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json
new file mode 100644
index 00000000000..51eb3e7113b
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json
@@ -0,0 +1,8 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "System.Resources/resourceproviders/resourcetypes/apiversions"
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json
new file mode 100644
index 00000000000..bcd37241563
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json
@@ -0,0 +1,3 @@
+{
+ "value": []
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json
new file mode 100644
index 00000000000..f644f893058
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json
@@ -0,0 +1,13 @@
+{
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/locations/east",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ },
+ "type": "System.Resources/resourceProviders/locations"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json
new file mode 100644
index 00000000000..c4d8e7a64d5
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json
@@ -0,0 +1,7 @@
+{
+ "location": "global",
+ "tags": {
+ "test": "my-test"
+ },
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json
new file mode 100644
index 00000000000..4a385dbdb4f
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json
@@ -0,0 +1,9 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/locations/east",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ },
+ "type": "System.Resources/resourceProviders/locations"
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json
new file mode 100644
index 00000000000..bcd37241563
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json
@@ -0,0 +1,3 @@
+{
+ "value": []
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json
new file mode 100644
index 00000000000..a809b0035fe
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json
@@ -0,0 +1,16 @@
+{
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test",
+ "location": "global",
+ "name": "Applications.Test",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "test": "my-test"
+ },
+ "type": "System.Resources/resourceproviders"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json
new file mode 100644
index 00000000000..c4d8e7a64d5
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json
@@ -0,0 +1,7 @@
+{
+ "location": "global",
+ "tags": {
+ "test": "my-test"
+ },
+ "properties": {}
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json
new file mode 100644
index 00000000000..7f1cfd4e4d9
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json
@@ -0,0 +1,12 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test",
+ "location": "global",
+ "name": "Applications.Test",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "test": "my-test"
+ },
+ "type": "System.Resources/resourceproviders"
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json
new file mode 100644
index 00000000000..bcd37241563
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json
@@ -0,0 +1,3 @@
+{
+ "value": []
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json
new file mode 100644
index 00000000000..f433b23a317
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json
@@ -0,0 +1,13 @@
+{
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources",
+ "name": "testResources",
+ "properties": {
+ "defaultApiVersion": "2025-01-01",
+ "provisioningState": "Succeeded"
+ },
+ "type": "System.Resources/resourceproviders/resourcetypes"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json
new file mode 100644
index 00000000000..cbf7447da64
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json
@@ -0,0 +1,5 @@
+{
+ "properties": {
+ "defaultApiVersion": "2025-01-01"
+ }
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json
new file mode 100644
index 00000000000..21437a157c7
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json
@@ -0,0 +1,9 @@
+{
+ "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources",
+ "name": "testResources",
+ "properties": {
+ "defaultApiVersion": "2025-01-01",
+ "provisioningState": "Succeeded"
+ },
+ "type": "System.Resources/resourceproviders/resourcetypes"
+}
\ No newline at end of file
diff --git a/pkg/ucp/integrationtests/resourceproviders/util_test.go b/pkg/ucp/integrationtests/resourceproviders/util_test.go
new file mode 100644
index 00000000000..efca2af2286
--- /dev/null
+++ b/pkg/ucp/integrationtests/resourceproviders/util_test.go
@@ -0,0 +1,129 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package resourceproviders
+
+import "github.com/radius-project/radius/pkg/ucp/integrationtests/testserver"
+
+const (
+ radiusAPIVersion = "?api-version=2023-10-01-preview"
+ radiusPlaneResourceURL = "/planes/radius/local" + radiusAPIVersion
+ radiusPlaneRequestFixture = "../planes/testdata/radiusplane_v20231001preview_requestbody.json"
+ radiusPlaneResponseFixture = "../planes/testdata/radiusplane_v20231001preview_responsebody.json"
+
+ resourceProviderNamespace = "Applications.Test"
+ resourceProviderID = "/planes/radius/local/providers/System.Resources/resourceproviders/" + resourceProviderNamespace
+ resourceProviderCollectionURL = "/planes/radius/local/providers/System.Resources/resourceproviders" + radiusAPIVersion
+ resourceProviderURL = resourceProviderID + radiusAPIVersion
+ resourceProviderRequestFixture = "testdata/resourceprovider_v20231001preview_requestbody.json"
+ resourceProviderResponseFixture = "testdata/resourceprovider_v20231001preview_responsebody.json"
+
+ resourceTypeName = "testResources"
+ resourceTypeID = resourceProviderID + "/resourcetypes/" + resourceTypeName
+ resourceTypeCollectionURL = resourceProviderID + "/resourcetypes" + radiusAPIVersion
+ resourceTypeURL = resourceTypeID + radiusAPIVersion
+ resourceTypeRequestFixture = "testdata/resourcetype_v20231001preview_requestbody.json"
+ resourceTypeResponseFixture = "testdata/resourcetype_v20231001preview_responsebody.json"
+
+ apiVersionName = "2025-01-01"
+ apiVersionID = resourceTypeID + "/apiversions/" + apiVersionName
+ apiVersionCollectionURL = resourceTypeID + "/apiversions" + radiusAPIVersion
+ apiVersionURL = apiVersionID + radiusAPIVersion
+ apiVersionRequestFixture = "testdata/apiversion_v20231001preview_requestbody.json"
+ apiVersionResponseFixture = "testdata/apiversion_v20231001preview_responsebody.json"
+
+ locationName = "east"
+ locationID = resourceProviderID + "/locations/" + locationName
+ locationCollectionURL = resourceProviderID + "/locations" + radiusAPIVersion
+ locationURL = locationID + radiusAPIVersion
+ locationRequestFixture = "testdata/location_v20231001preview_requestbody.json"
+ locationResponseFixture = "testdata/location_v20231001preview_responsebody.json"
+
+ resourceProviderSummaryCollectionURL = "/planes/radius/local/providers" + radiusAPIVersion
+ resourceProviderSummaryURL = "/planes/radius/local/providers/" + resourceProviderNamespace + radiusAPIVersion
+)
+
+func createRadiusPlane(server *testserver.TestServer) {
+ response := server.MakeFixtureRequest("PUT", radiusPlaneResourceURL, radiusPlaneRequestFixture)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", radiusPlaneResourceURL, nil)
+ response.EqualsFixture(200, radiusPlaneResponseFixture)
+}
+
+func createResourceProvider(server *testserver.TestServer) {
+ response := server.MakeFixtureRequest("PUT", resourceProviderURL, resourceProviderRequestFixture)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", resourceProviderURL, nil)
+ response.EqualsFixture(200, resourceProviderResponseFixture)
+}
+
+func deleteResourceProvider(server *testserver.TestServer) {
+ response := server.MakeRequest("DELETE", resourceProviderURL, nil)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", resourceProviderURL, nil)
+ response.EqualsStatusCode(404)
+}
+
+func createResourceType(server *testserver.TestServer) {
+ response := server.MakeFixtureRequest("PUT", resourceTypeURL, resourceTypeRequestFixture)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", resourceTypeURL, nil)
+ response.EqualsFixture(200, resourceTypeResponseFixture)
+}
+
+func deleteResourceType(server *testserver.TestServer) {
+ response := server.MakeRequest("DELETE", resourceTypeURL, nil)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", resourceTypeURL, nil)
+ response.EqualsStatusCode(404)
+}
+
+func createAPIVersion(server *testserver.TestServer) {
+ response := server.MakeFixtureRequest("PUT", apiVersionURL, apiVersionRequestFixture)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", apiVersionURL, nil)
+ response.EqualsFixture(200, apiVersionResponseFixture)
+}
+
+func deleteAPIVersion(server *testserver.TestServer) {
+ response := server.MakeRequest("DELETE", apiVersionURL, nil)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", apiVersionURL, nil)
+ response.EqualsStatusCode(404)
+}
+
+func createLocation(server *testserver.TestServer) {
+ response := server.MakeFixtureRequest("PUT", locationURL, locationRequestFixture)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", locationURL, nil)
+ response.EqualsFixture(200, locationResponseFixture)
+}
+
+func deleteLocation(server *testserver.TestServer) {
+ response := server.MakeRequest("DELETE", locationURL, nil)
+ response.WaitForOperationComplete(nil)
+
+ response = server.MakeRequest("GET", locationURL, nil)
+ response.EqualsStatusCode(404)
+}
diff --git a/pkg/ucp/integrationtests/testserver/testserver.go b/pkg/ucp/integrationtests/testserver/testserver.go
index d3d2e0ad97b..c0134c0db69 100644
--- a/pkg/ucp/integrationtests/testserver/testserver.go
+++ b/pkg/ucp/integrationtests/testserver/testserver.go
@@ -25,9 +25,11 @@ import (
"net"
"net/http"
"net/http/httptest"
+ "net/url"
"os"
"sync"
"testing"
+ "time"
"github.com/go-chi/chi/v5"
"github.com/go-logr/logr"
@@ -43,6 +45,7 @@ import (
"github.com/radius-project/radius/pkg/armrpc/rpctest"
"github.com/radius-project/radius/pkg/armrpc/servicecontext"
"github.com/radius-project/radius/pkg/middleware"
+ "github.com/radius-project/radius/pkg/sdk"
"github.com/radius-project/radius/pkg/ucp/backend"
"github.com/radius-project/radius/pkg/ucp/data"
"github.com/radius-project/radius/pkg/ucp/dataprovider"
@@ -279,10 +282,24 @@ func StartWithETCD(t *testing.T, configureModules func(options modules.Options)
queueClient, err := queueProvider.GetClient(ctx)
require.NoError(t, err)
+ router := chi.NewRouter()
+ router.Use(servicecontext.ARMRequestCtx(pathBase, "global"))
+
+ app := middleware.NormalizePath(router)
+ server := httptest.NewUnstartedServer(app)
+ server.Config.BaseContext = func(l net.Listener) context.Context {
+ return ctx
+ }
+
+ // Unfortunately the server doesn't populate 'server.URL' until it is started, so we have to build it ourselves.
+ address := "http://" + server.Listener.Addr().String()
+ connection, err := sdk.NewDirectConnection(address + pathBase)
+ require.NoError(t, err)
+
statusManager := statusmanager.New(dataProvider, queueClient, v1.LocationGlobal)
registry := worker.NewControllerRegistry(dataProvider)
- err = backend.RegisterControllers(ctx, registry, backend_ctrl.Options{DataProvider: dataProvider})
+ err = backend.RegisterControllers(ctx, registry, connection, backend_ctrl.Options{DataProvider: dataProvider})
require.NoError(t, err)
w := worker.New(worker.Options{}, statusManager, queueClient, registry)
@@ -291,20 +308,11 @@ func StartWithETCD(t *testing.T, configureModules func(options modules.Options)
require.NoError(t, err)
}()
- router := chi.NewRouter()
- router.Use(servicecontext.ARMRequestCtx(pathBase, "global"))
-
- app := middleware.NormalizePath(router)
- server := httptest.NewUnstartedServer(app)
- server.Config.BaseContext = func(l net.Listener) context.Context {
- return ctx
- }
-
specLoader, err := validator.LoadSpec(ctx, "ucp", swagger.SpecFilesUCP, []string{pathBase}, "")
require.NoError(t, err, "failed to load OpenAPI spec")
options := modules.Options{
- Address: server.URL,
+ Address: address,
PathBase: pathBase,
Config: &hostoptions.UCPConfig{},
DataProvider: dataProvider,
@@ -358,10 +366,11 @@ func StartWithETCD(t *testing.T, configureModules func(options modules.Options)
// TestResponse is return from requests made against a TestServer. Tests should use the functions defined
// on TestResponse for valiation.
type TestResponse struct {
- Raw *http.Response
- Body *bytes.Buffer
- Error *v1.ErrorResponse
- t *testing.T
+ Raw *http.Response
+ Body *bytes.Buffer
+ Error *v1.ErrorResponse
+ t *testing.T
+ server *TestServer
}
// MakeFixtureRequest sends a request to the server using a file on disk as the payload (body). Use the fixture
@@ -385,8 +394,16 @@ func (ts *TestServer) MakeTypedRequest(method string, pathAndQuery string, body
// MakeRequest sends a request to the server.
func (ts *TestServer) MakeRequest(method string, pathAndQuery string, body []byte) *TestResponse {
+ // Prepend the base path if this is a relative URL.
+ requestUrl := pathAndQuery
+ parsed, err := url.Parse(pathAndQuery)
+ require.NoError(ts.t, err, "parsing URL failed")
+ if !parsed.IsAbs() {
+ requestUrl = ts.BaseURL + pathAndQuery
+ }
+
client := ts.Server.Client()
- request, err := rpctest.NewHTTPRequestWithContent(context.Background(), method, ts.BaseURL+pathAndQuery, body)
+ request, err := rpctest.NewHTTPRequestWithContent(context.Background(), method, requestUrl, body)
require.NoError(ts.t, err, "creating request failed")
ctx := rpctest.NewARMRequestContext(request)
@@ -422,7 +439,7 @@ func (ts *TestServer) MakeRequest(method string, pathAndQuery string, body []byt
require.NoError(ts.t, err, "unmarshalling error response failed - THIS IS A SERIOUS BUG. ALL ERROR RESPONSES MUST USE THE STANDARD FORMAT")
}
- return &TestResponse{Raw: response, Body: responseBuffer, Error: errorResponse, t: ts.t}
+ return &TestResponse{Raw: response, Body: responseBuffer, Error: errorResponse, server: ts, t: ts.t}
}
// EqualsErrorCode compares a TestResponse against an expected status code and error code. EqualsErrorCode assumes the response
@@ -468,6 +485,91 @@ func (tr *TestResponse) EqualsResponse(statusCode int, body []byte) {
require.Equal(tr.t, statusCode, tr.Raw.StatusCode, "status code did not match expected")
}
+// EqualsValue compares a TestResponse against an expected status code and an response body.
+//
+// If the systemData propert is present in the response, it will be removed.
+func (tr *TestResponse) EqualsValue(statusCode int, expected any) {
+ var actual map[string]any
+ err := json.Unmarshal(tr.Body.Bytes(), &actual)
+ require.NoError(tr.t, err, "unmarshalling actual response failed")
+
+ // Convert expected input to map[string]any to compare with actual response.
+ expectedBytes, err := json.Marshal(expected)
+ require.NoError(tr.t, err, "marshalling expected response failed")
+
+ var expectedMap map[string]any
+ err = json.Unmarshal(expectedBytes, &expectedMap)
+ require.NoError(tr.t, err, "unmarshalling expected response failed")
+
+ tr.removeSystemData(expectedMap)
+ tr.removeSystemData(actual)
+
+ require.EqualValues(tr.t, expectedMap, actual, "response body did not match expected")
+ require.Equal(tr.t, statusCode, tr.Raw.StatusCode, "status code did not match expected")
+}
+
+// EqualsEmptyList compares a TestResponse against an expected status code and an empty resource list.
+func (tr *TestResponse) EqualsEmptyList() {
+ expected := map[string]any{
+ "value": []any{},
+ }
+
+ var actual map[string]any
+ err := json.Unmarshal(tr.Body.Bytes(), &actual)
+
+ tr.removeSystemData(actual)
+
+ require.NoError(tr.t, err, "unmarshalling actual response failed")
+ require.EqualValues(tr.t, expected, actual, "response body did not match expected")
+ require.Equal(tr.t, http.StatusOK, tr.Raw.StatusCode, "status code did not match expected")
+}
+
+func (tr *TestResponse) ReadAs(obj any) {
+ tr.t.Helper()
+
+ decoder := json.NewDecoder(tr.Body)
+ decoder.DisallowUnknownFields()
+
+ err := decoder.Decode(obj)
+ require.NoError(tr.t, err, "unmarshalling expected response failed")
+}
+
+func (tr *TestResponse) WaitForOperationComplete(timeout *time.Duration) *TestResponse {
+ if tr.Raw.StatusCode != http.StatusCreated && tr.Raw.StatusCode != http.StatusAccepted {
+ // Response is already terminal.
+ return tr
+ }
+
+ if timeout == nil {
+ x := 30 * time.Second
+ timeout = &x
+ }
+
+ timer := time.After(*timeout)
+ poller := time.NewTicker(1 * time.Second)
+ defer poller.Stop()
+ for {
+ select {
+ case <-timer:
+ tr.t.Fatalf("timed out waiting for operation to complete")
+ return nil // unreachable
+ case <-poller.C:
+ // The Location header should give us the operation status URL.
+ response := tr.server.MakeRequest(http.MethodGet, tr.Raw.Header.Get("Azure-AsyncOperation"), nil)
+ // To determine if the response is terminal we need to read the provisioning state field.
+
+ operationStatus := v1.AsyncOperationStatus{}
+ response.ReadAs(&operationStatus)
+ if operationStatus.Status.IsTerminal() {
+ // Response is terminal.
+ return response
+ }
+
+ continue
+ }
+ }
+}
+
func (tr *TestResponse) removeSystemData(responseBody map[string]any) {
// Delete systemData property if found, it's not stable so we don't include it in baselines.
_, ok := responseBody["systemData"]
diff --git a/pkg/validator/validator.go b/pkg/validator/validator.go
index 7aa5f2ea18f..5e66855db1a 100644
--- a/pkg/validator/validator.go
+++ b/pkg/validator/validator.go
@@ -124,7 +124,8 @@ func (v *validator) findParam(req *http.Request) (map[string]spec.Parameter, err
analyzer := v.specDoc.Analyzer
// Iterate loaded paths to find the matched route.
- for k := range analyzer.AllPaths() {
+ paths := analyzer.AllPaths()
+ for k := range paths {
if strings.EqualFold(k, scopePath) {
// Ensure that the current API path and method are defined in the spec.
if _, ok := analyzer.OperationFor(req.Method, k); !ok {
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json
index be972e445fd..b6497af3e40 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json
@@ -1,54 +1,54 @@
{
- "operationId": "AwsCredentials_Update",
- "title": "Update an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_Update",
+ "title": "Update an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
+ }
}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json
new file mode 100644
index 00000000000..9588c4dd763
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json
@@ -0,0 +1,38 @@
+{
+ "operationId": "ApiVersions_CreateOrUpdate",
+ "title": "Create or update an api version defined by a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "apiVersionName": "2025-01-01",
+ "resource": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json
new file mode 100644
index 00000000000..4bedace3503
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "ApiVersions_Delete",
+ "title": "Delete an api version of a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "apiVersionName": "2025-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json
new file mode 100644
index 00000000000..c12de83dd0e
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "ApiVersions_Get",
+ "title": "Get an api version defined by a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "apiVersionName": "2025-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json
new file mode 100644
index 00000000000..358a3274f6e
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "ApiVersions_List",
+ "title": "List api versions defined by a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "name": "2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json
new file mode 100644
index 00000000000..a96ce299861
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json
@@ -0,0 +1,43 @@
+{
+ "operationId": "Locations_CreateOrUpdate",
+ "title": "Create or update a location supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "locationName": "east",
+ "resource": {
+ "properties": {
+ "resourceTypes": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "type": "System.Resources/resourceProviders/locations",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "type": "System.Resources/resourceProviders/locations",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json
new file mode 100644
index 00000000000..0ed0275bfbe
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "Locations_Delete",
+ "title": "Delete a location supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "locationName": "east"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json
new file mode 100644
index 00000000000..63694b8ba90
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "Locations_Get",
+ "title": "Gets a location supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "locationName": "east"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "type": "System.Resources/resourceProviders/locations",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json
new file mode 100644
index 00000000000..a5c18106fa1
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "Locations_List",
+ "title": "List locations supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "name": "east",
+ "type": "System.Resources/resourceProviders/locations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json
index a8c322c8670..88a80d36331 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json
@@ -6,7 +6,7 @@
"planeType": "radius",
"planeName": "local",
"resourceGroupName": "rg1",
- "ResourceGroup": {
+ "resource": {
"location": "global"
}
},
@@ -17,6 +17,17 @@
"id": "/planes/radius/local/resourcegroups/rg1",
"name": "rg1"
}
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "id": "/planes/radius/local/resourcegroups/rg1",
+ "name": "rg1"
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
}
}
}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json
index ab092fcd922..dae569f6d77 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json
@@ -6,8 +6,10 @@
"planeType": "radius",
"planeName": "local",
"resourceGroupName": "rg1",
- "ResourceGroup": {
- "location": "global"
+ "properties": {
+ "tags": {
+ "a": "b"
+ }
}
},
"responses": {
@@ -15,7 +17,10 @@
"body": {
"location": "global",
"id": "/planes/radius/local/resourcegroups/rg1",
- "name": "rg1"
+ "name": "rg1",
+ "tags": {
+ "a": "b"
+ }
}
}
}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json
new file mode 100644
index 00000000000..402f2fe4dc6
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "ResourceProviders_CreateOrUpdate",
+ "title": "Create or update a resource provider",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resource": {
+ "location": "global"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "location": "global",
+ "type": "System.Resources/resourceProviders",
+ "name": "Applications.Test",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "name": "Applications.Test",
+ "type": "System.Resources/resourceProviders",
+ "location": "global",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json
new file mode 100644
index 00000000000..0d60fc0c090
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "ResourceProviders_Delete",
+ "title": "Delete a resource resource",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json
new file mode 100644
index 00000000000..f6ea02f51f1
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json
@@ -0,0 +1,22 @@
+{
+ "operationId": "ResourceProviders_Get",
+ "title": "Gets a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "location": "global",
+ "type": "System.Resources/resourceProviders",
+ "name": "Applications.Test",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json
new file mode 100644
index 00000000000..5d96e685820
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "ResourceProviders_GetProviderSummary",
+ "title": "Get a resoure provider summary. The resource provider summary aggregates common information about resource types, api versions, and locations.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Applications.Test",
+ "locations": {
+ "east": {}
+ },
+ "resourceTypes": {
+ "testResources": {
+ "defaultApiVersion": "2025-01-01",
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json
new file mode 100644
index 00000000000..4c9fbf0003d
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "ResourceProviders_List",
+ "title": "List resource providers.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "name": "Applications.Test",
+ "location": "global",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json
new file mode 100644
index 00000000000..71f71e262dc
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json
@@ -0,0 +1,30 @@
+{
+ "operationId": "ResourceProviders_ListProviderSummaries",
+ "title": "List resource provider summaries. The resource provider summary aggregates common information about resource types, api versions, and locations.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Applications.Test",
+ "locations": {
+ "east": {}
+ },
+ "resourceTypes": {
+ "testResources": {
+ "defaultApiVersion": "2025-01-01",
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json
new file mode 100644
index 00000000000..92aa7108c21
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json
@@ -0,0 +1,43 @@
+{
+ "operationId": "ResourceTypes_CreateOrUpdate",
+ "title": "Create or update a resource type defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "resource": {
+ "properties": {
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "name": "testResources",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "name": "testResources",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json
new file mode 100644
index 00000000000..00212013d49
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "ResourceTypes_Delete",
+ "title": "Delete a resource type defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json
new file mode 100644
index 00000000000..b3c29e5b519
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "ResourceTypes_Get",
+ "title": "Gets a resource type defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "name": "testResources",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json
new file mode 100644
index 00000000000..f77af4c566c
--- /dev/null
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "ResourceTypes_List",
+ "title": "List resource types defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "name": "testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json
index 3323273ce21..3856e126bac 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json
@@ -14,13 +14,11 @@
{
"id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/containers/my-container",
"name": "my-container",
- "location": "global",
"type": "Applications.Core/containers"
},
{
"id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/my-application",
"name": "my-application",
- "location": "global",
"type": "Applications.Core/applications"
}
]
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json
index 2ab5e4d7b01..b6c146bf74a 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json
@@ -60,6 +60,18 @@
{
"name": "Resources"
},
+ {
+ "name": "ResourceProviders"
+ },
+ {
+ "name": "ResourceTypes"
+ },
+ {
+ "name": "ApiVersions"
+ },
+ {
+ "name": "Locations"
+ },
{
"name": "RadiusPlanes"
}
@@ -1337,13 +1349,13 @@
"x-ms-long-running-operation": true
}
},
- "/planes/radius/{planeName}/resourcegroups": {
+ "/planes/radius/{planeName}/providers": {
"get": {
- "operationId": "ResourceGroups_List",
+ "operationId": "ResourceProviders_ListProviderSummaries",
"tags": [
- "ResourceGroups"
+ "ResourceProviders"
],
- "description": "List resource groups",
+ "description": "List resource provider summaries. The resource provider summary aggregates the most commonly used information including locations, api versions and resource types.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -1360,9 +1372,9 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "The request has succeeded.",
"schema": {
- "$ref": "#/definitions/ResourceGroupResourceListResult"
+ "$ref": "#/definitions/PagedResourceProviderSummary"
}
},
"default": {
@@ -1373,8 +1385,8 @@
}
},
"x-ms-examples": {
- "List resource groups": {
- "$ref": "./examples/ResourceGroups_List.json"
+ "List resource provider summaries. The resource provider summary aggregates common information about resource types, api versions, and locations.": {
+ "$ref": "./examples/ResourceProviders_ListProviderSummaries.json"
}
},
"x-ms-pageable": {
@@ -1382,13 +1394,13 @@
}
}
},
- "/planes/radius/{planeName}/resourcegroups/{resourceGroupName}": {
+ "/planes/radius/{planeName}/providers/{resourceProviderName}": {
"get": {
- "operationId": "ResourceGroups_Get",
+ "operationId": "ResourceProviders_GetProviderSummary",
"tags": [
- "ResourceGroups"
+ "ResourceProviders"
],
- "description": "Get a resource group",
+ "description": "Get the specified resource provider summary. The resource provider summary aggregates the most commonly used information including locations, api versions and resource types.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -1403,20 +1415,20 @@
"pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
},
{
- "name": "resourceGroupName",
+ "name": "resourceProviderName",
"in": "path",
- "description": "The name of resource group",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
"required": true,
"type": "string",
"maxLength": 63,
- "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
}
],
"responses": {
"200": {
"description": "ARM operation completed successfully.",
"schema": {
- "$ref": "#/definitions/ResourceGroupResource"
+ "$ref": "#/definitions/ResourceProviderSummary"
}
},
"default": {
@@ -1427,17 +1439,19 @@
}
},
"x-ms-examples": {
- "Get a resource group": {
- "$ref": "./examples/ResourceGroups_Get.json"
+ "Get a resoure provider summary. The resource provider summary aggregates common information about resource types, api versions, and locations.": {
+ "$ref": "./examples/ResourceProviders_GetProviderSummary.json"
}
}
- },
- "put": {
- "operationId": "ResourceGroups_CreateOrUpdate",
+ }
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders": {
+ "get": {
+ "operationId": "ResourceProviders_List",
"tags": [
- "ResourceGroups"
+ "ResourceProviders"
],
- "description": "Create or update a resource group",
+ "description": "List resource providers.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -1450,37 +1464,67 @@
"type": "string",
"maxLength": 63,
"pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderResourceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource providers.": {
+ "$ref": "./examples/ResourceProviders_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}": {
+ "get": {
+ "operationId": "ResourceProviders_Get",
+ "tags": [
+ "ResourceProviders"
+ ],
+ "description": "Get the specified resource provider.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
- "name": "resourceGroupName",
+ "name": "planeName",
"in": "path",
- "description": "The name of resource group",
+ "description": "The plane name.",
"required": true,
"type": "string",
"maxLength": 63,
"pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
},
{
- "name": "resource",
- "in": "body",
- "description": "Resource create parameters.",
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
"required": true,
- "schema": {
- "$ref": "#/definitions/ResourceGroupResource"
- }
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
}
],
"responses": {
"200": {
- "description": "Resource 'ResourceGroupResource' update operation succeeded",
- "schema": {
- "$ref": "#/definitions/ResourceGroupResource"
- }
- },
- "201": {
- "description": "Resource 'ResourceGroupResource' create operation succeeded",
+ "description": "ARM operation completed successfully.",
"schema": {
- "$ref": "#/definitions/ResourceGroupResource"
+ "$ref": "#/definitions/ResourceProviderResource"
}
},
"default": {
@@ -1491,17 +1535,17 @@
}
},
"x-ms-examples": {
- "Create or update a resource group": {
- "$ref": "./examples/ResourceGroups_CreateOrUpdate.json"
+ "Gets a resource provider.": {
+ "$ref": "./examples/ResourceProviders_Get.json"
}
}
},
- "patch": {
- "operationId": "ResourceGroups_Update",
+ "put": {
+ "operationId": "ResourceProviders_CreateOrUpdate",
"tags": [
- "ResourceGroups"
+ "ResourceProviders"
],
- "description": "Update a resource group",
+ "description": "Create or update a resource provider",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -1516,29 +1560,42 @@
"pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
},
{
- "name": "resourceGroupName",
+ "name": "resourceProviderName",
"in": "path",
- "description": "The name of resource group",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
"required": true,
"type": "string",
"maxLength": 63,
- "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
},
{
- "name": "properties",
+ "name": "resource",
"in": "body",
- "description": "The resource properties to be updated.",
+ "description": "Resource create parameters.",
"required": true,
"schema": {
- "$ref": "#/definitions/ResourceGroupResourceTagsUpdate"
+ "$ref": "#/definitions/ResourceProviderResource"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Resource 'ResourceProviderResource' update operation succeeded",
"schema": {
- "$ref": "#/definitions/ResourceGroupResource"
+ "$ref": "#/definitions/ResourceProviderResource"
+ }
+ },
+ "201": {
+ "description": "Resource 'ResourceProviderResource' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderResource"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
}
},
"default": {
@@ -1549,17 +1606,21 @@
}
},
"x-ms-examples": {
- "Update a resource group": {
- "$ref": "./examples/ResourceGroups_Update.json"
+ "Create or update a resource provider": {
+ "$ref": "./examples/ResourceProviders_CreateOrUpdate.json"
}
- }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
},
"delete": {
- "operationId": "ResourceGroups_Delete",
+ "operationId": "ResourceProviders_Delete",
"tags": [
- "ResourceGroups"
+ "ResourceProviders"
],
- "description": "Delete a resource group",
+ "description": "Delete a resource provider",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -1574,19 +1635,33 @@
"pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
},
{
- "name": "resourceGroupName",
+ "name": "resourceProviderName",
"in": "path",
- "description": "The name of resource group",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
"required": true,
"type": "string",
"maxLength": 63,
- "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
}
],
"responses": {
"200": {
"description": "Resource deleted successfully."
},
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
"204": {
"description": "Resource deleted successfully."
},
@@ -1598,19 +1673,23 @@
}
},
"x-ms-examples": {
- "Delete a resource group": {
- "$ref": "./examples/ResourceGroups_Delete.json"
+ "Delete a resource resource": {
+ "$ref": "./examples/ResourceProviders_Delete.json"
}
- }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
}
},
- "/planes/radius/{planeName}/resourcegroups/{resourceGroupName}/resources": {
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/locations": {
"get": {
- "operationId": "Resources_List",
+ "operationId": "Locations_List",
"tags": [
- "Resources"
+ "Locations"
],
- "description": "List resources in a resource group",
+ "description": "List available locations for the specified resource provider.",
"parameters": [
{
"$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
@@ -1625,20 +1704,20 @@
"pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
},
{
- "name": "resourceGroupName",
+ "name": "resourceProviderName",
"in": "path",
- "description": "The name of resource group",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
"required": true,
"type": "string",
"maxLength": 63,
- "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
}
],
"responses": {
"200": {
"description": "ARM operation completed successfully.",
"schema": {
- "$ref": "#/definitions/GenericResourceListResult"
+ "$ref": "#/definitions/LocationResourceListResult"
}
},
"default": {
@@ -1649,78 +1728,1261 @@
}
},
"x-ms-examples": {
- "List resources in a resource group.": {
- "$ref": "./examples/Resources_List.json"
+ "List locations supported by a resource provider.": {
+ "$ref": "./examples/Locations_List.json"
}
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
- }
- },
- "definitions": {
- "AWSCredentialKind": {
- "type": "string",
- "description": "AWS credential kind",
- "enum": [
- "AccessKey",
- "IRSA"
- ],
- "x-ms-enum": {
- "name": "AWSCredentialKind",
- "modelAsString": true,
- "values": [
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/locations/{locationName}": {
+ "get": {
+ "operationId": "Locations_Get",
+ "tags": [
+ "Locations"
+ ],
+ "description": "Get the specified location. The location resource represents a logical location where the resource provider operates.",
+ "parameters": [
{
- "name": "AccessKey",
- "value": "AccessKey",
- "description": "The AWS Access Key credential"
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
},
{
- "name": "IRSA",
- "value": "IRSA",
- "description": "AWS IAM roles for service accounts. For more information, please see: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html"
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z][A-Za-z0-9]*$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/LocationResource"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
}
- ]
- }
- },
- "AwsAccessKeyCredentialProperties": {
- "type": "object",
- "description": "AWS credential properties for Access Key",
- "properties": {
- "accessKeyId": {
- "type": "string",
- "format": "password",
- "description": "Access key ID for AWS identity",
- "x-ms-secret": true
- },
- "secretAccessKey": {
- "type": "string",
- "format": "password",
- "description": "Secret Access Key for AWS identity",
- "x-ms-secret": true
},
- "storage": {
- "$ref": "#/definitions/CredentialStorageProperties",
- "description": "The storage properties"
+ "x-ms-examples": {
+ "Gets a location supported by a resource provider.": {
+ "$ref": "./examples/Locations_Get.json"
+ }
}
},
- "required": [
- "accessKeyId",
- "secretAccessKey",
- "storage"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/AwsCredentialProperties"
- }
- ],
- "x-ms-discriminator-value": "AccessKey"
- },
- "AwsCredentialProperties": {
- "type": "object",
- "description": "AWS Credential properties",
- "properties": {
+ "put": {
+ "operationId": "Locations_CreateOrUpdate",
+ "tags": [
+ "Locations"
+ ],
+ "description": "Create or update a location. The location resource represents a logical location where the resource provider operates.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z][A-Za-z0-9]*$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LocationResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'LocationResource' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/LocationResource"
+ }
+ },
+ "201": {
+ "description": "Resource 'LocationResource' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/LocationResource"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a location supported by a resource provider.": {
+ "$ref": "./examples/Locations_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "Locations_Delete",
+ "tags": [
+ "Locations"
+ ],
+ "description": "Delete a location. The location resource represents a logical location where the resource provider operates.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "description": "The location name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z][A-Za-z0-9]*$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a location supported by a resource provider.": {
+ "$ref": "./examples/Locations_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes": {
+ "get": {
+ "operationId": "ResourceTypes_List",
+ "tags": [
+ "ResourceTypes"
+ ],
+ "description": "List resource types.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ResourceTypeResourceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource types defined by a resource provider.": {
+ "$ref": "./examples/ResourceTypes_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}": {
+ "get": {
+ "operationId": "ResourceTypes_Get",
+ "tags": [
+ "ResourceTypes"
+ ],
+ "description": "Get the specified resource type.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ResourceTypeResource"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a resource type defined by a resource provider.": {
+ "$ref": "./examples/ResourceTypes_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "ResourceTypes_CreateOrUpdate",
+ "tags": [
+ "ResourceTypes"
+ ],
+ "description": "Create or update a resource type",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceTypeResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'ResourceTypeResource' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ResourceTypeResource"
+ }
+ },
+ "201": {
+ "description": "Resource 'ResourceTypeResource' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ResourceTypeResource"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a resource type defined by a resource provider.": {
+ "$ref": "./examples/ResourceTypes_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "ResourceTypes_Delete",
+ "tags": [
+ "ResourceTypes"
+ ],
+ "description": "Delete a resource type",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a resource type defined by a resource provider.": {
+ "$ref": "./examples/ResourceTypes_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}/apiversions": {
+ "get": {
+ "operationId": "ApiVersions_List",
+ "tags": [
+ "ApiVersions"
+ ],
+ "description": "List API versions.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionResourceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List api versions defined by a resource type supported by a resource provider.": {
+ "$ref": "./examples/ApiVersions_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/planes/radius/{planeName}/providers/System.Resources/resourceproviders/{resourceProviderName}/resourcetypes/{resourceTypeName}/apiversions/{apiVersionName}": {
+ "get": {
+ "operationId": "ApiVersions_Get",
+ "tags": [
+ "ApiVersions"
+ ],
+ "description": "Get the specified API version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ },
+ {
+ "name": "apiVersionName",
+ "in": "path",
+ "description": "The API version name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}(-preview)?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionResource"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get an api version defined by a resource type supported by a resource provider.": {
+ "$ref": "./examples/ApiVersions_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "ApiVersions_CreateOrUpdate",
+ "tags": [
+ "ApiVersions"
+ ],
+ "description": "Create or update an API version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ },
+ {
+ "name": "apiVersionName",
+ "in": "path",
+ "description": "The API version name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}(-preview)?$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiVersionResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'ApiVersionResource' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionResource"
+ }
+ },
+ "201": {
+ "description": "Resource 'ApiVersionResource' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ApiVersionResource"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update an api version defined by a resource type supported by a resource provider.": {
+ "$ref": "./examples/ApiVersions_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "ApiVersions_Delete",
+ "tags": [
+ "ApiVersions"
+ ],
+ "description": "Delete an API version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceProviderName",
+ "in": "path",
+ "description": "The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "The resource type name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ },
+ {
+ "name": "apiVersionName",
+ "in": "path",
+ "description": "The API version name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}(-preview)?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete an api version of a resource type supported by a resource provider.": {
+ "$ref": "./examples/ApiVersions_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/planes/radius/{planeName}/resourcegroups": {
+ "get": {
+ "operationId": "ResourceGroups_List",
+ "tags": [
+ "ResourceGroups"
+ ],
+ "description": "List resource groups",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResourceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource groups": {
+ "$ref": "./examples/ResourceGroups_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/planes/radius/{planeName}/resourcegroups/{resourceGroupName}": {
+ "get": {
+ "operationId": "ResourceGroups_Get",
+ "tags": [
+ "ResourceGroups"
+ ],
+ "description": "Get a resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of resource group",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResource"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a resource group": {
+ "$ref": "./examples/ResourceGroups_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "ResourceGroups_CreateOrUpdate",
+ "tags": [
+ "ResourceGroups"
+ ],
+ "description": "Create or update a resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of resource group",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'ResourceGroupResource' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResource"
+ }
+ },
+ "201": {
+ "description": "Resource 'ResourceGroupResource' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResource"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a resource group": {
+ "$ref": "./examples/ResourceGroups_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "ResourceGroups_Update",
+ "tags": [
+ "ResourceGroups"
+ ],
+ "description": "Update a resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of resource group",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "description": "The resource properties to be updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResourceTagsUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ResourceGroupResource"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a resource group": {
+ "$ref": "./examples/ResourceGroups_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ResourceGroups_Delete",
+ "tags": [
+ "ResourceGroups"
+ ],
+ "description": "Delete a resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of resource group",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource deleted successfully."
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a resource group": {
+ "$ref": "./examples/ResourceGroups_Delete.json"
+ }
+ }
+ }
+ },
+ "/planes/radius/{planeName}/resourcegroups/{resourceGroupName}/resources": {
+ "get": {
+ "operationId": "Resources_List",
+ "tags": [
+ "Resources"
+ ],
+ "description": "List resources in a resource group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "planeName",
+ "in": "path",
+ "description": "The plane name.",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of resource group",
+ "required": true,
+ "type": "string",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9])?$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GenericResourceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resources in a resource group.": {
+ "$ref": "./examples/Resources_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AWSCredentialKind": {
+ "type": "string",
+ "description": "AWS credential kind",
+ "enum": [
+ "AccessKey",
+ "IRSA"
+ ],
+ "x-ms-enum": {
+ "name": "AWSCredentialKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "AccessKey",
+ "value": "AccessKey",
+ "description": "The AWS Access Key credential"
+ },
+ {
+ "name": "IRSA",
+ "value": "IRSA",
+ "description": "AWS IAM roles for service accounts. For more information, please see: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html"
+ }
+ ]
+ }
+ },
+ "ApiVersionNameString": {
+ "type": "string",
+ "description": "The resource type API version. Example: '2023-10-01-preview'.",
+ "maxLength": 63,
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}(-preview)?$"
+ },
+ "ApiVersionProperties": {
+ "type": "object",
+ "description": "The properties of an API version.",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The status of the asynchronous operation.",
+ "readOnly": true
+ }
+ }
+ },
+ "ApiVersionResource": {
+ "type": "object",
+ "description": "The resource type for defining an API version of a resource type supported by the containing resource provider.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApiVersionProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ApiVersionResourceListResult": {
+ "type": "object",
+ "description": "The response of a ApiVersionResource list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The ApiVersionResource items on this page",
+ "items": {
+ "$ref": "#/definitions/ApiVersionResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "AwsAccessKeyCredentialProperties": {
+ "type": "object",
+ "description": "AWS credential properties for Access Key",
+ "properties": {
+ "accessKeyId": {
+ "type": "string",
+ "format": "password",
+ "description": "Access key ID for AWS identity",
+ "x-ms-secret": true
+ },
+ "secretAccessKey": {
+ "type": "string",
+ "format": "password",
+ "description": "Secret Access Key for AWS identity",
+ "x-ms-secret": true
+ },
+ "storage": {
+ "$ref": "#/definitions/CredentialStorageProperties",
+ "description": "The storage properties"
+ }
+ },
+ "required": [
+ "accessKeyId",
+ "secretAccessKey",
+ "storage"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AwsCredentialProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "AccessKey"
+ },
+ "AwsCredentialProperties": {
+ "type": "object",
+ "description": "AWS Credential properties",
+ "properties": {
"kind": {
"$ref": "#/definitions/AWSCredentialKind",
"description": "The AWS credential kind"
@@ -2288,6 +3550,115 @@
],
"x-ms-discriminator-value": "Internal"
},
+ "LocationNameString": {
+ "type": "string",
+ "description": "The resource provider location name. Example: 'eastus'.",
+ "maxLength": 63,
+ "pattern": "^[A-Za-z][A-Za-z0-9]*$"
+ },
+ "LocationProperties": {
+ "type": "object",
+ "description": "The properties of a location.",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The status of the asynchronous operation.",
+ "readOnly": true
+ },
+ "address": {
+ "type": "string",
+ "description": "Address of a resource provider implementation."
+ },
+ "resourceTypes": {
+ "type": "object",
+ "description": "Configuration for resource types supported by the location.",
+ "additionalProperties": {
+ "$ref": "#/definitions/LocationResourceType"
+ }
+ }
+ }
+ },
+ "LocationResource": {
+ "type": "object",
+ "description": "The resource type for defining a location of the containing resource provider. The location resource represents a logical location where the resource provider operates.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LocationProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "LocationResourceListResult": {
+ "type": "object",
+ "description": "The response of a LocationResource list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The LocationResource items on this page",
+ "items": {
+ "$ref": "#/definitions/LocationResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "LocationResourceType": {
+ "type": "object",
+ "description": "The configuration for a resource type in a specific location.",
+ "properties": {
+ "apiVersions": {
+ "type": "object",
+ "description": "The configuration for API versions of a resource type supported by the location.",
+ "additionalProperties": {
+ "$ref": "#/definitions/LocationResourceTypeApiVersion"
+ }
+ }
+ }
+ },
+ "LocationResourceTypeApiVersion": {
+ "type": "object",
+ "description": "The configuration for an API version of an resource type.",
+ "properties": {}
+ },
+ "PagedResourceProviderSummary": {
+ "type": "object",
+ "description": "Paged collection of ResourceProviderSummary items",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The ResourceProviderSummary items on this page",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderSummary"
+ },
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
"PlaneNameParameter": {
"type": "object",
"description": "The Plane Name parameter.",
@@ -2512,6 +3883,189 @@
"description": "The resource properties",
"properties": {}
},
+ "ResourceProviderNamespaceString": {
+ "type": "string",
+ "description": "The resource provider namespace. Example: 'Applications.Datastores'.",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$"
+ },
+ "ResourceProviderProperties": {
+ "type": "object",
+ "description": "The properties of a resource provider.",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The status of the asynchronous operation.",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderResource": {
+ "type": "object",
+ "description": "The resource type for defining a resource provider.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResourceProviderProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "ResourceProviderResourceListResult": {
+ "type": "object",
+ "description": "The response of a ResourceProviderResource list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The ResourceProviderResource items on this page",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "ResourceProviderSummary": {
+ "type": "object",
+ "description": "The summary of a resource provider configuration. This type is optimized for querying resource providers and supported types.",
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/ResourceProviderNamespaceString",
+ "description": "The resource provider name."
+ },
+ "locations": {
+ "type": "object",
+ "description": "The resource provider locations.",
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceProviderSummaryLocation"
+ }
+ },
+ "resourceTypes": {
+ "type": "object",
+ "description": "The resource types supported by the resource provider.",
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceProviderSummaryResourceType"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "locations",
+ "resourceTypes"
+ ]
+ },
+ "ResourceProviderSummaryLocation": {
+ "type": "object",
+ "description": "The configuration of a resource provider in a specific location.",
+ "properties": {}
+ },
+ "ResourceProviderSummaryResourceType": {
+ "type": "object",
+ "description": "A resource type and its versions.",
+ "properties": {
+ "apiVersions": {
+ "type": "object",
+ "description": "API versions supported by the resource type.",
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceTypeSummaryResultApiVersion"
+ }
+ },
+ "defaultApiVersion": {
+ "type": "string",
+ "description": "The default api version for the resource type."
+ }
+ },
+ "required": [
+ "apiVersions",
+ "defaultApiVersion"
+ ]
+ },
+ "ResourceTypeNameString": {
+ "type": "string",
+ "description": "The resource type name. Example: 'redisCaches'.",
+ "maxLength": 63,
+ "pattern": "^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$"
+ },
+ "ResourceTypeProperties": {
+ "type": "object",
+ "description": "The properties of a resource type.",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The status of the asynchronous operation.",
+ "readOnly": true
+ },
+ "defaultApiVersion": {
+ "$ref": "#/definitions/ApiVersionNameString",
+ "description": "The default api version for the resource type."
+ }
+ },
+ "required": [
+ "defaultApiVersion"
+ ]
+ },
+ "ResourceTypeResource": {
+ "type": "object",
+ "description": "The resource type for defining a resource type supported by the containing resource provider.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResourceTypeProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ResourceTypeResourceListResult": {
+ "type": "object",
+ "description": "The response of a ResourceTypeResource list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The ResourceTypeResource items on this page",
+ "items": {
+ "$ref": "#/definitions/ResourceTypeResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "ResourceTypeSummaryResultApiVersion": {
+ "type": "object",
+ "description": "The configuration of a resource type API version.",
+ "properties": {}
+ },
"Versions": {
"type": "string",
"description": "Supported API versions for Universal Control Plane resource provider.",
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json
index be972e445fd..b6497af3e40 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json
@@ -1,54 +1,54 @@
{
- "operationId": "AwsCredentials_Update",
- "title": "Update an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_Update",
+ "title": "Update an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
+ }
}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json
new file mode 100644
index 00000000000..9588c4dd763
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json
@@ -0,0 +1,38 @@
+{
+ "operationId": "ApiVersions_CreateOrUpdate",
+ "title": "Create or update an api version defined by a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "apiVersionName": "2025-01-01",
+ "resource": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json
new file mode 100644
index 00000000000..4bedace3503
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "ApiVersions_Delete",
+ "title": "Delete an api version of a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "apiVersionName": "2025-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json
new file mode 100644
index 00000000000..c12de83dd0e
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "ApiVersions_Get",
+ "title": "Get an api version defined by a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "apiVersionName": "2025-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "name": "2025-01-01",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json
new file mode 100644
index 00000000000..358a3274f6e
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "ApiVersions_List",
+ "title": "List api versions defined by a resource type supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
+ "name": "2025-01-01",
+ "type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json
new file mode 100644
index 00000000000..a96ce299861
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json
@@ -0,0 +1,43 @@
+{
+ "operationId": "Locations_CreateOrUpdate",
+ "title": "Create or update a location supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "locationName": "east",
+ "resource": {
+ "properties": {
+ "resourceTypes": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "type": "System.Resources/resourceProviders/locations",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "type": "System.Resources/resourceProviders/locations",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json b/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json
new file mode 100644
index 00000000000..0ed0275bfbe
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "Locations_Delete",
+ "title": "Delete a location supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "locationName": "east"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json b/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json
new file mode 100644
index 00000000000..63694b8ba90
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "Locations_Get",
+ "title": "Gets a location supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "locationName": "east"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "type": "System.Resources/resourceProviders/locations",
+ "name": "east",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_List.json b/typespec/UCP/examples/2023-10-01-preview/Locations_List.json
new file mode 100644
index 00000000000..a5c18106fa1
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_List.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "Locations_List",
+ "title": "List locations supported by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east",
+ "name": "east",
+ "type": "System.Resources/resourceProviders/locations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceTypes": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json
index a8c322c8670..88a80d36331 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json
@@ -6,7 +6,7 @@
"planeType": "radius",
"planeName": "local",
"resourceGroupName": "rg1",
- "ResourceGroup": {
+ "resource": {
"location": "global"
}
},
@@ -17,6 +17,17 @@
"id": "/planes/radius/local/resourcegroups/rg1",
"name": "rg1"
}
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "id": "/planes/radius/local/resourcegroups/rg1",
+ "name": "rg1"
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
}
}
}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json
index ab092fcd922..dae569f6d77 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json
@@ -6,8 +6,10 @@
"planeType": "radius",
"planeName": "local",
"resourceGroupName": "rg1",
- "ResourceGroup": {
- "location": "global"
+ "properties": {
+ "tags": {
+ "a": "b"
+ }
}
},
"responses": {
@@ -15,7 +17,10 @@
"body": {
"location": "global",
"id": "/planes/radius/local/resourcegroups/rg1",
- "name": "rg1"
+ "name": "rg1",
+ "tags": {
+ "a": "b"
+ }
}
}
}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json
new file mode 100644
index 00000000000..402f2fe4dc6
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "ResourceProviders_CreateOrUpdate",
+ "title": "Create or update a resource provider",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resource": {
+ "location": "global"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "location": "global",
+ "type": "System.Resources/resourceProviders",
+ "name": "Applications.Test",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "name": "Applications.Test",
+ "type": "System.Resources/resourceProviders",
+ "location": "global",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json
new file mode 100644
index 00000000000..0d60fc0c090
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "ResourceProviders_Delete",
+ "title": "Delete a resource resource",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json
new file mode 100644
index 00000000000..f6ea02f51f1
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json
@@ -0,0 +1,22 @@
+{
+ "operationId": "ResourceProviders_Get",
+ "title": "Gets a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "location": "global",
+ "type": "System.Resources/resourceProviders",
+ "name": "Applications.Test",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json
new file mode 100644
index 00000000000..5d96e685820
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "ResourceProviders_GetProviderSummary",
+ "title": "Get a resoure provider summary. The resource provider summary aggregates common information about resource types, api versions, and locations.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Applications.Test",
+ "locations": {
+ "east": {}
+ },
+ "resourceTypes": {
+ "testResources": {
+ "defaultApiVersion": "2025-01-01",
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json
new file mode 100644
index 00000000000..4c9fbf0003d
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "ResourceProviders_List",
+ "title": "List resource providers.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
+ "name": "Applications.Test",
+ "location": "global",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json
new file mode 100644
index 00000000000..71f71e262dc
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json
@@ -0,0 +1,30 @@
+{
+ "operationId": "ResourceProviders_ListProviderSummaries",
+ "title": "List resource provider summaries. The resource provider summary aggregates common information about resource types, api versions, and locations.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Applications.Test",
+ "locations": {
+ "east": {}
+ },
+ "resourceTypes": {
+ "testResources": {
+ "defaultApiVersion": "2025-01-01",
+ "apiVersions": {
+ "2025-01-01": {}
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json
new file mode 100644
index 00000000000..92aa7108c21
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json
@@ -0,0 +1,43 @@
+{
+ "operationId": "ResourceTypes_CreateOrUpdate",
+ "title": "Create or update a resource type defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources",
+ "resource": {
+ "properties": {
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "name": "testResources",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "name": "testResources",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ },
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json
new file mode 100644
index 00000000000..00212013d49
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "ResourceTypes_Delete",
+ "title": "Delete a resource type defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "azure-asyncoperation": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd",
+ "location": "http://example.com/planes/radius/local/providers/System.Resources/locations/global/operations/abcd"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json
new file mode 100644
index 00000000000..b3c29e5b519
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json
@@ -0,0 +1,23 @@
+{
+ "operationId": "ResourceTypes_Get",
+ "title": "Gets a resource type defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test",
+ "resourceTypeName": "testResources"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "name": "testResources",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json
new file mode 100644
index 00000000000..f77af4c566c
--- /dev/null
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json
@@ -0,0 +1,26 @@
+{
+ "operationId": "ResourceTypes_List",
+ "title": "List resource types defined by a resource provider.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "resourceProviderName": "Applications.Test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources",
+ "name": "testResources",
+ "type": "System.Resources/resourceProviders/resourceTypes",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultApiVersion": "2025-01-01"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/typespec/UCP/examples/2023-10-01-preview/Resources_List.json b/typespec/UCP/examples/2023-10-01-preview/Resources_List.json
index 3323273ce21..3856e126bac 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Resources_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Resources_List.json
@@ -14,13 +14,11 @@
{
"id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/containers/my-container",
"name": "my-container",
- "location": "global",
"type": "Applications.Core/containers"
},
{
"id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/my-application",
"name": "my-application",
- "location": "global",
"type": "Applications.Core/applications"
}
]
diff --git a/typespec/UCP/main.tsp b/typespec/UCP/main.tsp
index a1f33d06fe0..97e2761142a 100644
--- a/typespec/UCP/main.tsp
+++ b/typespec/UCP/main.tsp
@@ -27,6 +27,7 @@ import "./azure-credentials.tsp";
import "./azure-plane.tsp";
import "./resourcegroups.tsp";
+import "./resourceproviders.tsp";
import "./radius-plane.tsp";
using TypeSpec.Versioning;
diff --git a/typespec/UCP/resourceproviders.tsp b/typespec/UCP/resourceproviders.tsp
new file mode 100644
index 00000000000..9fbd68a36f8
--- /dev/null
+++ b/typespec/UCP/resourceproviders.tsp
@@ -0,0 +1,323 @@
+/*
+Copyright 2023 The Radius Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import "@typespec/rest";
+import "@typespec/versioning";
+import "@typespec/openapi";
+import "@azure-tools/typespec-autorest";
+import "@azure-tools/typespec-azure-core";
+import "@azure-tools/typespec-azure-resource-manager";
+import "@azure-tools/typespec-providerhub";
+
+import "../radius/v1/ucprootscope.tsp";
+import "../radius/v1/resources.tsp";
+import "./common.tsp";
+import "./ucp-operations.tsp";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Autorest;
+using Azure.Core;
+using Azure.ResourceManager;
+using Azure.ResourceManager.Foundations;
+using OpenAPI;
+
+namespace Ucp;
+
+@doc("The resource provider namespace. Example: 'Applications.Datastores'.")
+@maxLength(63)
+@pattern("^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))\\.([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))?$")
+scalar ResourceProviderNamespaceString extends string;
+
+@doc("The resource type name. Example: 'redisCaches'.")
+@maxLength(63)
+@pattern("^([A-Za-z]([-A-Za-z0-9]*[A-Za-z0-9]))$")
+scalar ResourceTypeNameString extends string;
+
+@doc("The resource type API version. Example: '2023-10-01-preview'.")
+@maxLength(63)
+@pattern("^\\d{4}-\\d{2}-\\d{2}(-preview)?$")
+scalar ApiVersionNameString extends string;
+
+@doc("The resource provider location name. Example: 'eastus'.")
+@maxLength(63)
+@pattern("^[A-Za-z][A-Za-z0-9]*$")
+scalar LocationNameString extends string;
+
+#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars"
+@doc("The resource type for defining a resource provider.")
+model ResourceProviderResource is TrackedResource {
+ @key("resourceProviderName")
+ @doc("The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.")
+ @path
+ @segment("providers/System.Resources/resourceproviders")
+ name: ResourceProviderNamespaceString;
+}
+
+@doc("The properties of a resource provider.")
+model ResourceProviderProperties {
+ @doc("The status of the asynchronous operation.")
+ @visibility("read")
+ provisioningState?: ProvisioningState;
+}
+
+@doc("The resource type for defining a resource type supported by the containing resource provider.")
+model ResourceTypeResource is ProxyResource {
+ @key("resourceTypeName")
+ @doc("The resource type name.")
+ @path
+ @segment("resourcetypes")
+ name: ResourceTypeNameString;
+}
+
+@doc("The properties of a resource type.")
+model ResourceTypeProperties {
+ @doc("The status of the asynchronous operation.")
+ @visibility("read")
+ provisioningState?: ProvisioningState;
+
+ @doc("The default api version for the resource type.")
+ defaultApiVersion: ApiVersionNameString;
+}
+
+@doc("The resource type for defining an API version of a resource type supported by the containing resource provider.")
+model ApiVersionResource is ProxyResource {
+ @key("apiVersionName")
+ @doc("The API version name.")
+ @path
+ @segment("apiversions")
+ name: ApiVersionNameString;
+}
+
+@doc("The properties of an API version.")
+model ApiVersionProperties {
+ @doc("The status of the asynchronous operation.")
+ @visibility("read")
+ provisioningState?: ProvisioningState;
+}
+
+@doc("The resource type for defining a location of the containing resource provider. The location resource represents a logical location where the resource provider operates.")
+model LocationResource is ProxyResource {
+ @key("locationName")
+ @doc("The location name.")
+ @path
+ @segment("locations")
+ name: LocationNameString;
+}
+
+@doc("The properties of a location.")
+model LocationProperties {
+ @doc("The status of the asynchronous operation.")
+ @visibility("read")
+ provisioningState?: ProvisioningState;
+
+ @doc("Address of a resource provider implementation.")
+ address?: string;
+
+ @doc("Configuration for resource types supported by the location.")
+ resourceTypes?: Record;
+}
+
+@doc("The configuration for a resource type in a specific location.")
+model LocationResourceType {
+ @doc("The configuration for API versions of a resource type supported by the location.")
+ apiVersions?: Record;
+}
+
+@doc("The configuration for an API version of an resource type.")
+model LocationResourceTypeApiVersion {
+ // Empty for now.
+}
+
+@doc("The summary of a resource provider configuration. This type is optimized for querying resource providers and supported types.")
+model ResourceProviderSummary {
+ @doc("The resource provider name.")
+ name: ResourceProviderNamespaceString;
+
+ @doc("The resource provider locations.")
+ locations: Record;
+
+ @doc("The resource types supported by the resource provider.")
+ resourceTypes: Record;
+}
+
+@doc("The configuration of a resource provider in a specific location.")
+model ResourceProviderSummaryLocation {}
+
+@doc("A resource type and its versions.")
+model ResourceProviderSummaryResourceType {
+ @doc("API versions supported by the resource type.")
+ apiVersions: Record;
+
+ @doc("The default api version for the resource type.")
+ defaultApiVersion: string;
+}
+
+@doc("The configuration of a resource type API version.")
+model ResourceTypeSummaryResultApiVersion {}
+
+model ResourceProviderBaseParameters {
+ ...PlaneBaseParameters;
+ ...KeysOf;
+}
+
+model ResourceTypeBaseParameters {
+ ...PlaneBaseParameters;
+ ...KeysOf;
+ ...KeysOf;
+}
+
+model ApiVersionBaseParameters {
+ ...PlaneBaseParameters;
+ ...KeysOf;
+ ...KeysOf;
+ ...KeysOf;
+}
+
+model LocationBaseParameters {
+ ...PlaneBaseParameters;
+ ...KeysOf;
+ ...KeysOf;
+}
+
+@route("/planes")
+@armResourceOperations
+interface ResourceProviders {
+ @doc("List resource providers.")
+ list is UcpResourceList<
+ ResourceProviderResource,
+ PlaneBaseParameters
+ >;
+
+ @doc("Get the specified resource provider.")
+ get is UcpResourceRead<
+ ResourceProviderResource,
+ ResourceProviderBaseParameters
+ >;
+
+ @doc("Create or update a resource provider")
+ createOrUpdate is UcpResourceCreateOrUpdateAsync<
+ ResourceProviderResource,
+ ResourceProviderBaseParameters
+ >;
+
+ @doc("Delete a resource provider")
+ delete is UcpResourceDeleteAsync<
+ ResourceProviderResource,
+ ResourceProviderBaseParameters
+ >;
+
+ @doc("List resource provider summaries. The resource provider summary aggregates the most commonly used information including locations, api versions and resource types.")
+ @segment("providers")
+ listProviderSummaries(
+ ...PlaneBaseParameters,
+ ): Azure.Core.Page | ErrorResponse;
+
+ @doc("Get the specified resource provider summary. The resource provider summary aggregates the most commonly used information including locations, api versions and resource types.")
+ getProviderSummary(
+ ...PlaneBaseParameters,
+
+ @doc("The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.")
+ @path
+ @segment("providers")
+ resourceProviderName: ResourceProviderNamespaceString,
+ ): ArmResponse | ErrorResponse;
+}
+
+@route("/planes")
+@armResourceOperations
+interface ResourceTypes {
+ @doc("List resource types.")
+ list is UcpResourceList<
+ ResourceTypeResource,
+ ResourceProviderBaseParameters
+ >;
+
+ @doc("Get the specified resource type.")
+ get is UcpResourceRead<
+ ResourceTypeResource,
+ ResourceTypeBaseParameters
+ >;
+
+ @doc("Create or update a resource type")
+ createOrUpdate is UcpResourceCreateOrUpdateAsync<
+ ResourceTypeResource,
+ ResourceTypeBaseParameters
+ >;
+
+ @doc("Delete a resource type")
+ delete is UcpResourceDeleteAsync<
+ ResourceTypeResource,
+ ResourceTypeBaseParameters
+ >;
+}
+
+@route("/planes")
+@armResourceOperations
+interface ApiVersions {
+ @doc("List API versions.")
+ list is UcpResourceList<
+ ApiVersionResource,
+ ResourceTypeBaseParameters
+ >;
+
+ @doc("Get the specified API version.")
+ get is UcpResourceRead<
+ ApiVersionResource,
+ ApiVersionBaseParameters
+ >;
+
+ @doc("Create or update an API version.")
+ createOrUpdate is UcpResourceCreateOrUpdateAsync<
+ ApiVersionResource,
+ ApiVersionBaseParameters
+ >;
+
+ @doc("Delete an API version.")
+ delete is UcpResourceDeleteAsync<
+ ApiVersionResource,
+ ApiVersionBaseParameters
+ >;
+}
+
+@route("/planes")
+@armResourceOperations
+interface Locations {
+ @doc("List available locations for the specified resource provider.")
+ list is UcpResourceList<
+ LocationResource,
+ ResourceProviderBaseParameters
+ >;
+
+ @doc("Get the specified location. The location resource represents a logical location where the resource provider operates.")
+ get is UcpResourceRead<
+ LocationResource,
+ LocationBaseParameters
+ >;
+
+ @doc("Create or update a location. The location resource represents a logical location where the resource provider operates.")
+ createOrUpdate is UcpResourceCreateOrUpdateAsync<
+ LocationResource,
+ LocationBaseParameters
+ >;
+
+ @doc("Delete a location. The location resource represents a logical location where the resource provider operates.")
+ delete is UcpResourceDeleteAsync<
+ LocationResource,
+ LocationBaseParameters
+ >;
+}
From 59567906a33ffc3d789c4628b271f87d22599e08 Mon Sep 17 00:00:00 2001
From: Karishma Chawla
Date: Wed, 9 Oct 2024 11:25:17 -0700
Subject: [PATCH 05/27] Release 0.39: Create RC release (#7983)
# Description
Creating RC release for 0.39
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #issue_number
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue. -- N/A
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced. -- N/A
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers. -- N/A
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR. -- N/A
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made. -- N/A
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR. -- N/A
Signed-off-by: karishma-chawla <74574173+karishma-chawla@users.noreply.github.com>
Co-authored-by: karishma-chawla <74574173+karishma-chawla@users.noreply.github.com>
---
versions.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/versions.yaml b/versions.yaml
index 266d569c548..28553efcc10 100644
--- a/versions.yaml
+++ b/versions.yaml
@@ -1,4 +1,6 @@
supported:
+ - channel: '0.39'
+ version: 'v0.39.0-rc1'
- channel: '0.38'
version: 'v0.38.0'
deprecated:
From b1daef5c90fceb4a37e76c1975e9eac13b66b9a7 Mon Sep 17 00:00:00 2001
From: Yetkin Timocin
Date: Thu, 10 Oct 2024 10:30:26 -0700
Subject: [PATCH 06/27] Skipping one of the text prompt tests (#7985)
# Description
Skipping one of the text prompt tests because of flakiness:
https://github.com/radius-project/radius/actions/runs/11277938942/job/31365273830?pr=7939.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Addresses: #7670
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: ytimocin
---
pkg/cli/prompt/text/text_test.go | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/pkg/cli/prompt/text/text_test.go b/pkg/cli/prompt/text/text_test.go
index e2048a8614c..268998e569f 100644
--- a/pkg/cli/prompt/text/text_test.go
+++ b/pkg/cli/prompt/text/text_test.go
@@ -78,12 +78,12 @@ func validateNewTextModel(t *testing.T, model *Model, options *TextModelOptions)
}
func Test_E2E(t *testing.T) {
-
+
const expectedPrompt = "\r" + testPrompt + "\n" +
- "\n" +
- "> " + testPlaceholder + "\n" +
- "\n" +
- "(ctrl+c to quit)"
+ "\n" +
+ "> " + testPlaceholder + "\n" +
+ "\n" +
+ "(ctrl+c to quit)"
setup := func(t *testing.T) *teatest.TestModel {
options := TextModelOptions{
@@ -117,11 +117,12 @@ func Test_E2E(t *testing.T) {
tm := setup(t)
output := waitForInitialRender(t, tm.Output())
-
+
require.Equal(t, expectedPrompt, output)
})
t.Run("confirm default", func(t *testing.T) {
+ t.Skip("This test is intermittently failing in linux_amd64: https://github.com/radius-project/radius/issues/7670")
tm := setup(t)
tm.Send(tea.KeyMsg{Type: tea.KeyEnter})
From 12d6bce76433eb1be9629323e09eb7596ba3537d Mon Sep 17 00:00:00 2001
From: Karishma Chawla
Date: Fri, 11 Oct 2024 09:24:28 -0700
Subject: [PATCH 07/27] Release v0.39.0 (#7987)
# Description
* Adding 0.39.0 to the supported versions
* Deprecating v0.38.0
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #issue_number
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue. -- N/A
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced. -- N/A
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers. -- N/A
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR. -- N/A
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made. -- N/A
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR. -- N/A
---------
Signed-off-by: karishma-chawla <74574173+karishma-chawla@users.noreply.github.com>
Signed-off-by: Karishma Chawla
Signed-off-by: Will <28876888+willtsai@users.noreply.github.com>
Co-authored-by: karishma-chawla <74574173+karishma-chawla@users.noreply.github.com>
Co-authored-by: Will <28876888+willtsai@users.noreply.github.com>
Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com>
---
docs/release-notes/v0.39.0.md | 69 +++++++++++++++++++++++++++++++++++
versions.yaml | 4 +-
2 files changed, 71 insertions(+), 2 deletions(-)
create mode 100644 docs/release-notes/v0.39.0.md
diff --git a/docs/release-notes/v0.39.0.md b/docs/release-notes/v0.39.0.md
new file mode 100644
index 00000000000..ab9a76c2ce0
--- /dev/null
+++ b/docs/release-notes/v0.39.0.md
@@ -0,0 +1,69 @@
+# Announcing Radius v0.39.0
+
+Today we're happy to announce the release of Radius v0.39.0. Check out the [highlights](#highlights) below, along with the [full changelog](#full-changelog) for more details.
+
+We would like to extend our thanks to all the [new](#new-contributors) and existing contributors who helped make this release possible!
+
+## Intro to Radius
+
+If you're new to Radius, check out our website, [radapp.io](https://radapp.io), for more information. Also visit our [getting started guide](https://docs.radapp.io/getting-started/) to learn how to install Radius and create your first app.
+
+## Highlights
+
+### Support for Dapr Configuration Building Block
+A new `Applications.Dapr/configurationStores` resource type is now available to define and deploy the [Dapr Configuration](https://docs.dapr.io/getting-started/quickstarts/configuration-quickstart/) building block in Radius. The Dapr Configuration building block allows for dynamic configuration updates, including feature flag management, and is a great addition to the Dapr integration in Radius. To learn more, go to the [Dapr Configuration Store resource schema](https://docs.radapp.io/reference/resource-schema/dapr-schema/configurationstore/) in the Radius documentation. Thanks to community contributor @SoTrx for adding this functionality.
+
+### In-memory data store for testing and development
+Radius has added an implementation for an in-memory version of the data store interface, which may be used for testing and development purposes, when contributing to Radius. This helps to speed up and simplify the existing ETC.d and mocking mechanisms that are frequently used today in tests.
+
+## Breaking changes
+None.
+
+## Upgrading to Radius v0.39.0
+
+During our preview stage, an upgrade to Radius v0.39.0 requires a full reinstallation of the Radius control-plane, rad CLI, and all Radius apps. Stay tuned for an in-place upgrade path in the future.
+
+1. Delete any environments you have created:
+
+ ```bash
+ rad env delete
+ ```
+
+2. Uninstall the previous version of the Radius control-plane:
+
+ ```bash
+ rad uninstall kubernetes
+ ```
+
+3. Visit the [Radius installation guide](https://docs.radapp.io/getting-started/install/) to install the latest CLI, or download a binary below
+
+4. Install the latest version of the Radius control-plane:
+
+ ```bash
+ rad install kubernetes
+ ```
+
+## Full changelog
+
+* Update version to 0.38 in versions.yaml by @ytimocin in https://github.com/radius-project/radius/pull/7924
+* Bump bicep-types from `99cdcee` to `d936309` by @dependabot in https://github.com/radius-project/radius/pull/7929
+* Implementation of Dapr Building Block: Configuration Store by @SoTrx in https://github.com/radius-project/radius/pull/7906
+* Updating and reformatting the release doc by @ytimocin in https://github.com/radius-project/radius/pull/7933
+* Update the timeout of the clean-up cluster step to 1h by @ytimocin in https://github.com/radius-project/radius/pull/7938
+* Add dapr-sts* namespaces to be deleted to the clean-up workflow by @ytimocin in https://github.com/radius-project/radius/pull/7942
+* Update golangci-lint version and fix new warnings by @ytimocin in https://github.com/radius-project/radius/pull/7951
+* Improve validation and simplify database tests by @rynowak in https://github.com/radius-project/radius/pull/7949
+* Separating purge old images and purge Azure test resources workflows by @ytimocin in https://github.com/radius-project/radius/pull/7937
+* Bump peter-evans/create-pull-request from 6 to 7 in the all group by @dependabot in https://github.com/radius-project/radius/pull/7904
+* Bump bicep-types from `d936309` to `ebba845` by @dependabot in https://github.com/radius-project/radius/pull/7957
+* Add an in-memory data store by @rynowak in https://github.com/radius-project/radius/pull/7950
+* Removing bicep workaround + minor cleanup by @sk593 in https://github.com/radius-project/radius/pull/7965
+* Update the bicep extension used in the dev container by @brooke-hamilton in https://github.com/radius-project/radius/pull/7969
+* Implement PostgreSQL datastore by @rynowak in https://github.com/radius-project/radius/pull/7961
+* Add a PR Checklist for Contributions by @kachawla in https://github.com/radius-project/radius/pull/7921
+* Bump bicep-types from `ebba845` to `96b34cb` by @dependabot in https://github.com/radius-project/radius/pull/7971
+* Fix compiler and test failures with latest version of sigs.k8s.io/controller-runtime by @brooke-hamilton in https://github.com/radius-project/radius/pull/7979
+* Bump the all group across 1 directory with 38 updates by @kachawla in https://github.com/radius-project/radius/pull/7981
+* Implementation of resource providers and resource types registration by @rynowak in https://github.com/radius-project/radius/pull/7967
+* Release 0.39: Create RC release by @kachawla in https://github.com/radius-project/radius/pull/7983
+* Skipping one of the text prompt tests by @ytimocin in https://github.com/radius-project/radius/pull/7985
\ No newline at end of file
diff --git a/versions.yaml b/versions.yaml
index 28553efcc10..928ab57fbe9 100644
--- a/versions.yaml
+++ b/versions.yaml
@@ -1,9 +1,9 @@
supported:
- channel: '0.39'
- version: 'v0.39.0-rc1'
+ version: 'v0.39.0'
+deprecated:
- channel: '0.38'
version: 'v0.38.0'
-deprecated:
- channel: '0.37'
version: 'v0.37.0'
- channel: '0.36'
From ba9195c4bc6ab9be2a83bb1ed6b0f8f357d79812 Mon Sep 17 00:00:00 2001
From: Yetkin Timocin
Date: Fri, 11 Oct 2024 13:14:32 -0700
Subject: [PATCH 08/27] Updating dependencies in hack/bicep-types-radius folder
(#7984)
# Description
Updating dependencies in hack/bicep-types-radius folder
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: ytimocin
Co-authored-by: Karishma Chawla
---
.../src/autorest.bicep/package-lock.json | 6422 ++++-------------
.../src/autorest.bicep/package.json | 18 +-
.../src/generator/package-lock.json | 2996 ++------
.../src/generator/package.json | 18 +-
4 files changed, 2117 insertions(+), 7337 deletions(-)
diff --git a/hack/bicep-types-radius/src/autorest.bicep/package-lock.json b/hack/bicep-types-radius/src/autorest.bicep/package-lock.json
index 5fc8e5fb3a3..dda6c2fa45b 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/package-lock.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/package-lock.json
@@ -10,25 +10,25 @@
"dependencies": {
"@autorest/codemodel": "^4.20.0",
"@autorest/extension-base": "^3.6.0",
- "@types/lodash": "^4.17.4",
+ "@types/lodash": "^4.17.10",
"autorest": "^3.7.1",
"lodash": "^4.17.21"
},
"devDependencies": {
- "@types/jest": "^29.5.12",
- "@types/node": "^20.12.12",
- "@typescript-eslint/eslint-plugin": "^7.10.0",
- "@typescript-eslint/parser": "^7.10.0",
+ "@types/jest": "^29.5.13",
+ "@types/node": "^22.7.5",
+ "@typescript-eslint/eslint-plugin": "^8.8.1",
+ "@typescript-eslint/parser": "^8.8.1",
"bicep-types": "file:../../../../bicep-types/src/bicep-types",
"colors": "^1.4.0",
"dir-compare": "^5.0.0",
- "eslint": "^8.56.0",
+ "eslint": "^9.12.0",
"eslint-plugin-header": "^3.1.1",
- "eslint-plugin-jest": "^28.5.0",
+ "eslint-plugin-jest": "^28.8.3",
"jest": "^29.7.0",
- "ts-jest": "^29.1.3",
+ "ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
- "typescript": "^5.4.5"
+ "typescript": "^5.6.3"
}
},
"../../../../bicep-types/src/bicep-types": {
@@ -50,4626 +50,10 @@
"typescript": "^5.0.2"
}
},
- "../../../../bicep-types/src/bicep-types/node_modules/@aashutoshrathi/word-wrap": {
- "version": "1.2.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame": {
- "version": "7.22.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/highlight": "^7.22.13",
- "chalk": "^2.4.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/chalk": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/color-convert": {
- "version": "1.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/color-name": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/has-flag": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/supports-color": {
- "version": "5.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/compat-data": {
- "version": "7.22.9",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/core": {
- "version": "7.22.9",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.22.5",
- "@babel/generator": "^7.22.9",
- "@babel/helper-compilation-targets": "^7.22.9",
- "@babel/helper-module-transforms": "^7.22.9",
- "@babel/helpers": "^7.22.6",
- "@babel/parser": "^7.22.7",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.8",
- "@babel/types": "^7.22.5",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.2",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/core/node_modules/convert-source-map": {
- "version": "1.9.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/generator": {
- "version": "7.23.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.23.0",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.9",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.22.9",
- "@babel/helper-validator-option": "^7.22.5",
- "browserslist": "^4.21.9",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-function-name": {
- "version": "7.23.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-module-imports": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-module-transforms": {
- "version": "7.22.9",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
- "@babel/helper-simple-access": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/helper-validator-identifier": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-simple-access": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-split-export-declaration": {
- "version": "7.22.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-validator-option": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/helpers": {
- "version": "7.22.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.6",
- "@babel/types": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight": {
- "version": "7.22.20",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/parser": {
- "version": "7.23.0",
- "dev": true,
- "license": "MIT",
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-bigint": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.22.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/template": {
- "version": "7.22.15",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/traverse": {
- "version": "7.23.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/generator": "^7.23.0",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.0",
- "@babel/types": "^7.23.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@babel/types": {
- "version": "7.23.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.20",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@cspotcode/source-map-support": {
- "version": "0.8.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@eslint-community/regexpp": {
- "version": "4.10.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@eslint/js": {
- "version": "8.57.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.2",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
- "version": "1.0.10",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
- "version": "3.14.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/console": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "jest-message-util": "^29.7.0",
- "jest-util": "^29.7.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/core": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^29.7.0",
- "@jest/reporters": "^29.7.0",
- "@jest/test-result": "^29.7.0",
- "@jest/transform": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "jest-changed-files": "^29.7.0",
- "jest-config": "^29.7.0",
- "jest-haste-map": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-regex-util": "^29.6.3",
- "jest-resolve": "^29.7.0",
- "jest-resolve-dependencies": "^29.7.0",
- "jest-runner": "^29.7.0",
- "jest-runtime": "^29.7.0",
- "jest-snapshot": "^29.7.0",
- "jest-util": "^29.7.0",
- "jest-validate": "^29.7.0",
- "jest-watcher": "^29.7.0",
- "micromatch": "^4.0.4",
- "pretty-format": "^29.7.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/environment": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/fake-timers": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "jest-mock": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/expect": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "expect": "^29.7.0",
- "jest-snapshot": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/expect-utils": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-get-type": "^29.6.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/fake-timers": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@sinonjs/fake-timers": "^10.0.2",
- "@types/node": "*",
- "jest-message-util": "^29.7.0",
- "jest-mock": "^29.7.0",
- "jest-util": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/globals": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^29.7.0",
- "@jest/expect": "^29.7.0",
- "@jest/types": "^29.6.3",
- "jest-mock": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/reporters": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^29.7.0",
- "@jest/test-result": "^29.7.0",
- "@jest/transform": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@jridgewell/trace-mapping": "^0.3.18",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "collect-v8-coverage": "^1.0.0",
- "exit": "^0.1.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^6.0.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.1.3",
- "jest-message-util": "^29.7.0",
- "jest-util": "^29.7.0",
- "jest-worker": "^29.7.0",
- "slash": "^3.0.0",
- "string-length": "^4.0.1",
- "strip-ansi": "^6.0.0",
- "v8-to-istanbul": "^9.0.1"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": {
- "version": "6.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/schemas": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sinclair/typebox": "^0.27.8"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/source-map": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.18",
- "callsites": "^3.0.0",
- "graceful-fs": "^4.2.9"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/test-result": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/test-sequencer": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/test-result": "^29.7.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.7.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/transform": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.11.6",
- "@jest/types": "^29.6.3",
- "@jridgewell/trace-mapping": "^0.3.18",
- "babel-plugin-istanbul": "^6.1.1",
- "chalk": "^4.0.0",
- "convert-source-map": "^2.0.0",
- "fast-json-stable-stringify": "^2.1.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.7.0",
- "jest-regex-util": "^29.6.3",
- "jest-util": "^29.7.0",
- "micromatch": "^4.0.4",
- "pirates": "^4.0.4",
- "slash": "^3.0.0",
- "write-file-atomic": "^4.0.2"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jest/types": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@sinclair/typebox": {
- "version": "0.27.8",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@sinonjs/commons": {
- "version": "3.0.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@sinonjs/fake-timers": {
- "version": "10.3.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node10": {
- "version": "1.0.9",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node12": {
- "version": "1.0.11",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node14": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node16": {
- "version": "1.0.4",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__core": {
- "version": "7.20.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__generator": {
- "version": "7.6.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__template": {
- "version": "7.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__traverse": {
- "version": "7.20.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.20.7"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/graceful-fs": {
- "version": "4.1.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.4",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/istanbul-reports": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/jest": {
- "version": "29.5.12",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "expect": "^29.0.0",
- "pretty-format": "^29.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/node": {
- "version": "20.12.12",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~5.26.4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/stack-utils": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/yargs": {
- "version": "17.0.24",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@types/yargs-parser": {
- "version": "21.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.10.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/type-utils": "7.10.0",
- "@typescript-eslint/utils": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^7.0.0",
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/parser": {
- "version": "7.10.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/typescript-estree": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/scope-manager": {
- "version": "7.10.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/type-utils": {
- "version": "7.10.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "7.10.0",
- "@typescript-eslint/utils": "7.10.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/types": {
- "version": "7.10.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.10.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
- "version": "9.0.4",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/utils": {
- "version": "7.10.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/typescript-estree": "7.10.0"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.56.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.10.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "7.10.0",
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/acorn": {
- "version": "8.10.0",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/acorn-jsx": {
- "version": "5.3.2",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/acorn-walk": {
- "version": "8.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ajv": {
- "version": "6.12.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ansi-escapes": {
- "version": "4.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ansi-escapes/node_modules/type-fest": {
- "version": "0.21.3",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ansi-regex": {
- "version": "5.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ansi-styles": {
- "version": "4.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/anymatch": {
- "version": "3.1.3",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/arg": {
- "version": "4.1.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/argparse": {
- "version": "2.0.1",
- "dev": true,
- "license": "Python-2.0"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/array-union": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/babel-jest": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/transform": "^29.7.0",
- "@types/babel__core": "^7.1.14",
- "babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^29.6.3",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/babel-plugin-istanbul": {
- "version": "6.1.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-instrument": "^5.0.4",
- "test-exclude": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/babel-plugin-jest-hoist": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.3.3",
- "@babel/types": "^7.3.3",
- "@types/babel__core": "^7.1.14",
- "@types/babel__traverse": "^7.0.6"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/babel-preset-current-node-syntax": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/babel-preset-jest": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "babel-plugin-jest-hoist": "^29.6.3",
- "babel-preset-current-node-syntax": "^1.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/balanced-match": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/brace-expansion": {
- "version": "1.1.11",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/browserslist": {
- "version": "4.21.9",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001503",
- "electron-to-chromium": "^1.4.431",
- "node-releases": "^2.0.12",
- "update-browserslist-db": "^1.0.11"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/bs-logger": {
- "version": "0.2.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-json-stable-stringify": "2.x"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/bser": {
- "version": "2.1.1",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "node-int64": "^0.4.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/buffer-from": {
- "version": "1.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/callsites": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/camel-case": {
- "version": "4.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/camelcase": {
- "version": "5.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/caniuse-lite": {
- "version": "1.0.30001517",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/chalk": {
- "version": "4.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/char-regex": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ci-info": {
- "version": "3.8.0",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/cjs-module-lexer": {
- "version": "1.2.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/cliui": {
- "version": "8.0.1",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/co": {
- "version": "4.6.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/collect-v8-coverage": {
- "version": "1.0.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/color-convert": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/color-name": {
- "version": "1.1.4",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/concat-map": {
- "version": "0.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/convert-source-map": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/create-jest": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "jest-config": "^29.7.0",
- "jest-util": "^29.7.0",
- "prompts": "^2.0.1"
- },
- "bin": {
- "create-jest": "bin/create-jest.js"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/create-require": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/cross-spawn": {
- "version": "7.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/debug": {
- "version": "4.3.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/dedent": {
- "version": "1.5.1",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "babel-plugin-macros": "^3.1.0"
- },
- "peerDependenciesMeta": {
- "babel-plugin-macros": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/deep-is": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/deepmerge": {
- "version": "4.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/detect-newline": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/diff": {
- "version": "4.0.2",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/diff-sequences": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/dir-glob": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/doctrine": {
- "version": "3.0.0",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/electron-to-chromium": {
- "version": "1.4.468",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/emittery": {
- "version": "0.13.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/emoji-regex": {
- "version": "8.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/error-ex": {
- "version": "1.3.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/escalade": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/eslint": {
- "version": "8.57.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/eslint-plugin-header": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "eslint": ">=7.7.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/eslint-plugin-jest": {
- "version": "28.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
- },
- "engines": {
- "node": "^16.10.0 || ^18.12.0 || >=20.0.0"
- },
- "peerDependencies": {
- "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0",
- "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
- "jest": "*"
- },
- "peerDependenciesMeta": {
- "@typescript-eslint/eslint-plugin": {
- "optional": true
- },
- "jest": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/eslint-scope": {
- "version": "7.2.2",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/espree": {
- "version": "9.6.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/esprima": {
- "version": "4.0.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/esquery": {
- "version": "1.5.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/esrecurse": {
- "version": "4.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/estraverse": {
- "version": "5.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/esutils": {
- "version": "2.0.3",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/execa": {
- "version": "5.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/exit": {
- "version": "0.1.2",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/expect": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/expect-utils": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "jest-matcher-utils": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-util": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fast-glob": {
- "version": "3.3.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fastq": {
- "version": "1.15.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fb-watchman": {
- "version": "2.0.2",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "bser": "2.1.1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/file-entry-cache": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/find-up": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/flat-cache": {
- "version": "3.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/flatted": {
- "version": "3.2.7",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fs.realpath": {
- "version": "1.0.0",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/fsevents": {
- "version": "2.3.3",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/function-bind": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/get-caller-file": {
- "version": "2.0.5",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/get-package-type": {
- "version": "0.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/get-stream": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/glob": {
- "version": "7.2.3",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/glob-parent": {
- "version": "6.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/globals": {
- "version": "13.23.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/globby": {
- "version": "11.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/graceful-fs": {
- "version": "4.2.11",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/graphemer": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/has": {
- "version": "1.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/has-flag": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/html-escaper": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/human-signals": {
- "version": "2.1.0",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ignore": {
- "version": "5.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/import-fresh": {
- "version": "3.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/import-local": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/imurmurhash": {
- "version": "0.1.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/inflight": {
- "version": "1.0.6",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/inherits": {
- "version": "2.0.4",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-arrayish": {
- "version": "0.2.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-core-module": {
- "version": "2.13.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-extglob": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-generator-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-glob": {
- "version": "4.0.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-path-inside": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/is-stream": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/isexe": {
- "version": "2.0.0",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-coverage": {
- "version": "3.2.0",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-instrument": {
- "version": "5.2.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "6.3.1",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-report": {
- "version": "3.0.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^4.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-source-maps": {
- "version": "4.0.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/istanbul-reports": {
- "version": "3.1.6",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/core": "^29.7.0",
- "@jest/types": "^29.6.3",
- "import-local": "^3.0.2",
- "jest-cli": "^29.7.0"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-changed-files": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "execa": "^5.0.0",
- "jest-util": "^29.7.0",
- "p-limit": "^3.1.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-circus": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^29.7.0",
- "@jest/expect": "^29.7.0",
- "@jest/test-result": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "co": "^4.6.0",
- "dedent": "^1.0.0",
- "is-generator-fn": "^2.0.0",
- "jest-each": "^29.7.0",
- "jest-matcher-utils": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-runtime": "^29.7.0",
- "jest-snapshot": "^29.7.0",
- "jest-util": "^29.7.0",
- "p-limit": "^3.1.0",
- "pretty-format": "^29.7.0",
- "pure-rand": "^6.0.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-cli": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/core": "^29.7.0",
- "@jest/test-result": "^29.7.0",
- "@jest/types": "^29.6.3",
- "chalk": "^4.0.0",
- "create-jest": "^29.7.0",
- "exit": "^0.1.2",
- "import-local": "^3.0.2",
- "jest-config": "^29.7.0",
- "jest-util": "^29.7.0",
- "jest-validate": "^29.7.0",
- "yargs": "^17.3.1"
- },
- "bin": {
- "jest": "bin/jest.js"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-config": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.11.6",
- "@jest/test-sequencer": "^29.7.0",
- "@jest/types": "^29.6.3",
- "babel-jest": "^29.7.0",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "jest-circus": "^29.7.0",
- "jest-environment-node": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "jest-regex-util": "^29.6.3",
- "jest-resolve": "^29.7.0",
- "jest-runner": "^29.7.0",
- "jest-util": "^29.7.0",
- "jest-validate": "^29.7.0",
- "micromatch": "^4.0.4",
- "parse-json": "^5.2.0",
- "pretty-format": "^29.7.0",
- "slash": "^3.0.0",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "@types/node": "*",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-diff": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^29.6.3",
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-docblock": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-each": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "chalk": "^4.0.0",
- "jest-get-type": "^29.6.3",
- "jest-util": "^29.7.0",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-environment-node": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^29.7.0",
- "@jest/fake-timers": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "jest-mock": "^29.7.0",
- "jest-util": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-get-type": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-haste-map": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@types/graceful-fs": "^4.1.3",
- "@types/node": "*",
- "anymatch": "^3.0.3",
- "fb-watchman": "^2.0.0",
- "graceful-fs": "^4.2.9",
- "jest-regex-util": "^29.6.3",
- "jest-util": "^29.7.0",
- "jest-worker": "^29.7.0",
- "micromatch": "^4.0.4",
- "walker": "^1.0.8"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "optionalDependencies": {
- "fsevents": "^2.3.2"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-leak-detector": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-matcher-utils": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-message-util": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.6.3",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^29.7.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-mock": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "jest-util": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-pnp-resolver": {
- "version": "1.2.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "jest-resolve": "*"
- },
- "peerDependenciesMeta": {
- "jest-resolve": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-regex-util": {
- "version": "29.6.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-resolve": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.7.0",
- "jest-pnp-resolver": "^1.2.2",
- "jest-util": "^29.7.0",
- "jest-validate": "^29.7.0",
- "resolve": "^1.20.0",
- "resolve.exports": "^2.0.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-resolve-dependencies": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-regex-util": "^29.6.3",
- "jest-snapshot": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-runner": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/console": "^29.7.0",
- "@jest/environment": "^29.7.0",
- "@jest/test-result": "^29.7.0",
- "@jest/transform": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "emittery": "^0.13.1",
- "graceful-fs": "^4.2.9",
- "jest-docblock": "^29.7.0",
- "jest-environment-node": "^29.7.0",
- "jest-haste-map": "^29.7.0",
- "jest-leak-detector": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-resolve": "^29.7.0",
- "jest-runtime": "^29.7.0",
- "jest-util": "^29.7.0",
- "jest-watcher": "^29.7.0",
- "jest-worker": "^29.7.0",
- "p-limit": "^3.1.0",
- "source-map-support": "0.5.13"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-runtime": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "^29.7.0",
- "@jest/fake-timers": "^29.7.0",
- "@jest/globals": "^29.7.0",
- "@jest/source-map": "^29.6.3",
- "@jest/test-result": "^29.7.0",
- "@jest/transform": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "cjs-module-lexer": "^1.0.0",
- "collect-v8-coverage": "^1.0.0",
- "glob": "^7.1.3",
- "graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-mock": "^29.7.0",
- "jest-regex-util": "^29.6.3",
- "jest-resolve": "^29.7.0",
- "jest-snapshot": "^29.7.0",
- "jest-util": "^29.7.0",
- "slash": "^3.0.0",
- "strip-bom": "^4.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-snapshot": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.11.6",
- "@babel/generator": "^7.7.2",
- "@babel/plugin-syntax-jsx": "^7.7.2",
- "@babel/plugin-syntax-typescript": "^7.7.2",
- "@babel/types": "^7.3.3",
- "@jest/expect-utils": "^29.7.0",
- "@jest/transform": "^29.7.0",
- "@jest/types": "^29.6.3",
- "babel-preset-current-node-syntax": "^1.0.0",
- "chalk": "^4.0.0",
- "expect": "^29.7.0",
- "graceful-fs": "^4.2.9",
- "jest-diff": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "jest-matcher-utils": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-util": "^29.7.0",
- "natural-compare": "^1.4.0",
- "pretty-format": "^29.7.0",
- "semver": "^7.5.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-util": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-validate": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "camelcase": "^6.2.0",
- "chalk": "^4.0.0",
- "jest-get-type": "^29.6.3",
- "leven": "^3.1.0",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-validate/node_modules/camelcase": {
- "version": "6.3.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-watcher": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/test-result": "^29.7.0",
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "emittery": "^0.13.1",
- "jest-util": "^29.7.0",
- "string-length": "^4.0.1"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-worker": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "jest-util": "^29.7.0",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/js-tokens": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/js-yaml": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/jsesc": {
- "version": "2.5.2",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/json5": {
- "version": "2.2.3",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/kleur": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/leven": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/levn": {
- "version": "0.4.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/lines-and-columns": {
- "version": "1.2.4",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/locate-path": {
- "version": "6.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/lodash.memoize": {
- "version": "4.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/lodash.merge": {
- "version": "4.6.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/lower-case": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/lru-cache": {
- "version": "5.1.1",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/make-dir": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/make-error": {
- "version": "1.3.6",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/makeerror": {
- "version": "1.0.12",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "tmpl": "1.0.5"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/merge-stream": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/merge2": {
- "version": "1.4.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/mimic-fn": {
- "version": "2.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/minimatch": {
- "version": "3.1.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ms": {
- "version": "2.1.2",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/natural-compare": {
- "version": "1.4.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/nerdbank-gitversioning": {
- "version": "3.6.133",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "camel-case": "^4.1.2"
- },
- "bin": {
- "nbgv": "main.js",
- "nbgv-setversion": "npmVersion.js"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/no-case": {
- "version": "3.0.4",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/node-int64": {
- "version": "0.4.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/node-releases": {
- "version": "2.0.13",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/normalize-path": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/npm-run-path": {
- "version": "4.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/once": {
- "version": "1.4.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/onetime": {
- "version": "5.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/optionator": {
- "version": "0.9.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/p-limit": {
- "version": "3.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/p-locate": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/p-try": {
- "version": "2.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/parent-module": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/parse-json": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pascal-case": {
- "version": "3.1.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/path-exists": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/path-is-absolute": {
- "version": "1.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/path-key": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/path-parse": {
- "version": "1.0.7",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/path-type": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/picocolors": {
- "version": "1.0.0",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/picomatch": {
- "version": "2.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pirates": {
- "version": "4.0.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir": {
- "version": "4.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/find-up": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/p-limit": {
- "version": "2.3.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/prelude-ls": {
- "version": "1.2.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pretty-format": {
- "version": "29.7.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/prompts": {
- "version": "2.4.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/punycode": {
- "version": "2.3.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/pure-rand": {
- "version": "6.0.3",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/dubzzz"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fast-check"
- }
- ],
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/queue-microtask": {
- "version": "1.2.3",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/react-is": {
- "version": "18.2.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/require-directory": {
- "version": "2.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/resolve": {
- "version": "1.22.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/resolve-cwd": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/resolve-cwd/node_modules/resolve-from": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/resolve-from": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/resolve.exports": {
- "version": "2.0.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/reusify": {
- "version": "1.0.4",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/rimraf": {
- "version": "3.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/run-parallel": {
- "version": "1.2.0",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/semver": {
- "version": "7.6.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/semver/node_modules/lru-cache": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/semver/node_modules/yallist": {
- "version": "4.0.0",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/shebang-command": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/shebang-regex": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/signal-exit": {
- "version": "3.0.7",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/sisteransi": {
- "version": "1.0.5",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/slash": {
- "version": "3.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/source-map": {
- "version": "0.6.1",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/source-map-support": {
- "version": "0.5.13",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/sprintf-js": {
- "version": "1.0.3",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/stack-utils": {
- "version": "2.0.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "escape-string-regexp": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/stack-utils/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/string-length": {
- "version": "4.0.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "char-regex": "^1.0.2",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/string-width": {
- "version": "4.2.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/strip-ansi": {
- "version": "6.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/strip-bom": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/strip-final-newline": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/strip-json-comments": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/supports-color": {
- "version": "7.2.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/test-exclude": {
- "version": "6.0.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/text-table": {
- "version": "0.2.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/tmpl": {
- "version": "1.0.5",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/to-fast-properties": {
- "version": "2.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ts-api-utils": {
- "version": "1.3.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ts-jest": {
- "version": "29.1.3",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bs-logger": "0.x",
- "fast-json-stable-stringify": "2.x",
- "jest-util": "^29.0.0",
- "json5": "^2.2.3",
- "lodash.memoize": "4.x",
- "make-error": "1.x",
- "semver": "^7.5.3",
- "yargs-parser": "^21.0.1"
- },
- "bin": {
- "ts-jest": "cli.js"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.0 <8",
- "@jest/transform": "^29.0.0",
- "@jest/types": "^29.0.0",
- "babel-jest": "^29.0.0",
- "jest": "^29.0.0",
- "typescript": ">=4.3 <6"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "@jest/transform": {
- "optional": true
- },
- "@jest/types": {
- "optional": true
- },
- "babel-jest": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/ts-node": {
- "version": "10.9.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/tslib": {
- "version": "2.6.0",
- "dev": true,
- "license": "0BSD"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/type-check": {
- "version": "0.4.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/type-detect": {
- "version": "4.0.8",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/type-fest": {
- "version": "0.20.2",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/typescript": {
- "version": "5.4.5",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/undici-types": {
- "version": "5.26.5",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/update-browserslist-db": {
- "version": "1.0.11",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/uri-js": {
- "version": "4.4.1",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/v8-to-istanbul": {
- "version": "9.1.0",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.12",
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^1.6.0"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/v8-to-istanbul/node_modules/convert-source-map": {
- "version": "1.9.0",
- "dev": true,
- "license": "MIT"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/walker": {
- "version": "1.0.8",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "makeerror": "1.0.12"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/which": {
- "version": "2.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/wrappy": {
- "version": "1.0.2",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/write-file-atomic": {
- "version": "4.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.7"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/y18n": {
- "version": "5.0.8",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/yallist": {
- "version": "3.1.1",
- "dev": true,
- "license": "ISC"
- },
- "../../../../bicep-types/src/bicep-types/node_modules/yargs": {
- "version": "17.7.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/yargs-parser": {
- "version": "21.1.1",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/yn": {
- "version": "3.1.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "../../../../bicep-types/src/bicep-types/node_modules/yocto-queue": {
- "version": "0.1.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@aashutoshrathi/word-wrap": {
- "version": "1.2.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -4682,6 +66,8 @@
},
"node_modules/@autorest/codemodel": {
"version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@autorest/codemodel/-/codemodel-4.20.0.tgz",
+ "integrity": "sha512-Z2GwVwAGNTcfGUmrWT5LJqZv/WDXKBBpxhZrHu6zco/HrEGrqKQcKx5whlLX/GmAB/KmhcOWYr6aIyWomcoisQ==",
"license": "MIT",
"dependencies": {
"@azure-tools/codegen": "~2.10.0",
@@ -4693,6 +79,8 @@
},
"node_modules/@autorest/extension-base": {
"version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@autorest/extension-base/-/extension-base-3.6.0.tgz",
+ "integrity": "sha512-hE6nmdYu2SA6xlG46lM+/njtz0yNEkhzfkOs7PjrYulnXuBWHo08RdbXHGcecypgNhV2QAQcbV6ar5f1UGX6xQ==",
"license": "MIT",
"dependencies": {
"@azure-tools/codegen": "~2.10.0",
@@ -4705,6 +93,8 @@
},
"node_modules/@azure-tools/async-io": {
"version": "3.0.254",
+ "resolved": "https://registry.npmjs.org/@azure-tools/async-io/-/async-io-3.0.254.tgz",
+ "integrity": "sha512-X1C7XdyCuo50ch9FzKtTvmK18FgDxxf1Bbt3cSoknQqeDaRegHSSCO+zByq2YA4NvUzKXeZ1engh29IDxZXgpQ==",
"license": "MIT",
"dependencies": {
"@azure-tools/tasks": "~3.0.255",
@@ -4716,6 +106,8 @@
},
"node_modules/@azure-tools/codegen": {
"version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@azure-tools/codegen/-/codegen-2.10.0.tgz",
+ "integrity": "sha512-gdy0at3BUZAAARgiX9Ye6SNCKhcjLs5FNUewa/KV/dMGcPv7mBvbslt5VO3W8wj0n96ifk970aIFaivjacBxeQ==",
"license": "MIT",
"dependencies": {
"@azure-tools/async-io": "~3.0.0",
@@ -4728,17 +120,21 @@
},
"node_modules/@azure-tools/tasks": {
"version": "3.0.255",
+ "resolved": "https://registry.npmjs.org/@azure-tools/tasks/-/tasks-3.0.255.tgz",
+ "integrity": "sha512-GjALNLz7kWMEdRVbaN5g0cJHNAr3XVTbP0611Mv2UzMgGL6FOhNZJK+oPHJKLDR8EEDZNnkwPlyi7B+INXUSQA==",
"license": "MIT",
"engines": {
"node": ">=10.12.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
+ "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.6",
+ "@babel/highlight": "^7.25.7",
"picocolors": "^1.0.0"
},
"engines": {
@@ -4746,7 +142,9 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.24.6",
+ "version": "7.25.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz",
+ "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4754,20 +152,22 @@
}
},
"node_modules/@babel/core": {
- "version": "7.24.6",
+ "version": "7.25.8",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz",
+ "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.6",
- "@babel/generator": "^7.24.6",
- "@babel/helper-compilation-targets": "^7.24.6",
- "@babel/helper-module-transforms": "^7.24.6",
- "@babel/helpers": "^7.24.6",
- "@babel/parser": "^7.24.6",
- "@babel/template": "^7.24.6",
- "@babel/traverse": "^7.24.6",
- "@babel/types": "^7.24.6",
+ "@babel/code-frame": "^7.25.7",
+ "@babel/generator": "^7.25.7",
+ "@babel/helper-compilation-targets": "^7.25.7",
+ "@babel/helper-module-transforms": "^7.25.7",
+ "@babel/helpers": "^7.25.7",
+ "@babel/parser": "^7.25.8",
+ "@babel/template": "^7.25.7",
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.8",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -4784,6 +184,8 @@
},
"node_modules/@babel/core/node_modules/semver": {
"version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -4791,27 +193,31 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz",
+ "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.6",
+ "@babel/types": "^7.25.7",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz",
+ "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.24.6",
- "@babel/helper-validator-option": "^7.24.6",
- "browserslist": "^4.22.2",
+ "@babel/compat-data": "^7.25.7",
+ "@babel/helper-validator-option": "^7.25.7",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -4821,64 +227,39 @@
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
"version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.24.6",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.24.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.24.6",
- "@babel/types": "^7.24.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.24.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-module-imports": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz",
+ "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.6"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz",
+ "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.6",
- "@babel/helper-module-imports": "^7.24.6",
- "@babel/helper-simple-access": "^7.24.6",
- "@babel/helper-split-export-declaration": "^7.24.6",
- "@babel/helper-validator-identifier": "^7.24.6"
+ "@babel/helper-module-imports": "^7.25.7",
+ "@babel/helper-simple-access": "^7.25.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
+ "@babel/traverse": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -4888,7 +269,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz",
+ "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4896,29 +279,23 @@
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.24.6",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz",
+ "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.6"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz",
+ "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4926,7 +303,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
+ "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4934,7 +313,9 @@
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz",
+ "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4942,23 +323,27 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz",
+ "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.24.6",
- "@babel/types": "^7.24.6"
+ "@babel/template": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
+ "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.24.6",
+ "@babel/helper-validator-identifier": "^7.25.7",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
@@ -4969,6 +354,8 @@
},
"node_modules/@babel/highlight/node_modules/ansi-styles": {
"version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4980,6 +367,8 @@
},
"node_modules/@babel/highlight/node_modules/chalk": {
"version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4993,6 +382,8 @@
},
"node_modules/@babel/highlight/node_modules/color-convert": {
"version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5001,11 +392,15 @@
},
"node_modules/@babel/highlight/node_modules/color-name": {
"version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true,
"license": "MIT"
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5014,6 +409,8 @@
},
"node_modules/@babel/highlight/node_modules/has-flag": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5022,6 +419,8 @@
},
"node_modules/@babel/highlight/node_modules/supports-color": {
"version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5032,9 +431,14 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.24.6",
+ "version": "7.25.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz",
+ "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.25.8"
+ },
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -5044,6 +448,8 @@
},
"node_modules/@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5055,6 +461,8 @@
},
"node_modules/@babel/plugin-syntax-bigint": {
"version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5066,6 +474,8 @@
},
"node_modules/@babel/plugin-syntax-class-properties": {
"version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5075,8 +485,42 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz",
+ "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.25.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-syntax-import-meta": {
"version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5088,6 +532,8 @@
},
"node_modules/@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5098,11 +544,13 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz",
+ "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.6"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -5113,6 +561,8 @@
},
"node_modules/@babel/plugin-syntax-logical-assignment-operators": {
"version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5124,6 +574,8 @@
},
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
"version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5135,6 +587,8 @@
},
"node_modules/@babel/plugin-syntax-numeric-separator": {
"version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5146,6 +600,8 @@
},
"node_modules/@babel/plugin-syntax-object-rest-spread": {
"version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5157,6 +613,8 @@
},
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
"version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5168,6 +626,8 @@
},
"node_modules/@babel/plugin-syntax-optional-chaining": {
"version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5177,8 +637,26 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-syntax-top-level-await": {
"version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5192,11 +670,13 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz",
+ "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.6"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -5206,31 +686,32 @@
}
},
"node_modules/@babel/template": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz",
+ "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.6",
- "@babel/parser": "^7.24.6",
- "@babel/types": "^7.24.6"
+ "@babel/code-frame": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.24.6",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz",
+ "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.6",
- "@babel/generator": "^7.24.6",
- "@babel/helper-environment-visitor": "^7.24.6",
- "@babel/helper-function-name": "^7.24.6",
- "@babel/helper-hoist-variables": "^7.24.6",
- "@babel/helper-split-export-declaration": "^7.24.6",
- "@babel/parser": "^7.24.6",
- "@babel/types": "^7.24.6",
+ "@babel/code-frame": "^7.25.7",
+ "@babel/generator": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/template": "^7.25.7",
+ "@babel/types": "^7.25.7",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -5240,6 +721,8 @@
},
"node_modules/@babel/traverse/node_modules/globals": {
"version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5247,12 +730,14 @@
}
},
"node_modules/@babel/types": {
- "version": "7.24.6",
+ "version": "7.25.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz",
+ "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.24.6",
- "@babel/helper-validator-identifier": "^7.24.6",
+ "@babel/helper-string-parser": "^7.25.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -5261,11 +746,15 @@
},
"node_modules/@bcoe/v8-coverage": {
"version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
"dev": true,
"license": "MIT"
},
"node_modules/@cspotcode/source-map-support": {
"version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5277,6 +766,8 @@
},
"node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
"version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5286,6 +777,8 @@
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5299,22 +792,75 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.10.0",
+ "version": "4.11.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
+ "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
+ "node_modules/@eslint/config-array": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz",
+ "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.4",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz",
+ "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+ "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -5322,35 +868,97 @@
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/@eslint/js": {
- "version": "8.57.0",
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz",
+ "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz",
+ "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz",
+ "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "levn": "^0.4.1"
},
"engines": {
- "node": ">=10.10.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@humanfs/core": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz",
+ "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.5",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz",
+ "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanfs/core": "^0.19.0",
+ "@humanwhocodes/retry": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
}
},
"node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -5361,13 +969,24 @@
"url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
+ "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
"dev": true,
- "license": "BSD-3-Clause"
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
},
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -5383,6 +1002,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
"version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5391,6 +1012,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
"version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5403,6 +1026,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
"version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5415,6 +1040,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5426,6 +1053,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
"version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5440,6 +1069,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
"version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5451,6 +1082,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5459,6 +1092,8 @@
},
"node_modules/@istanbuljs/schema": {
"version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5467,6 +1102,8 @@
},
"node_modules/@jest/console": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+ "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5483,6 +1120,8 @@
},
"node_modules/@jest/core": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5529,6 +1168,8 @@
},
"node_modules/@jest/environment": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5543,6 +1184,8 @@
},
"node_modules/@jest/expect": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5555,6 +1198,8 @@
},
"node_modules/@jest/expect-utils": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5566,6 +1211,8 @@
},
"node_modules/@jest/fake-timers": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5582,6 +1229,8 @@
},
"node_modules/@jest/globals": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+ "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5596,6 +1245,8 @@
},
"node_modules/@jest/reporters": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+ "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5638,6 +1289,8 @@
},
"node_modules/@jest/schemas": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5649,6 +1302,8 @@
},
"node_modules/@jest/source-map": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+ "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5662,6 +1317,8 @@
},
"node_modules/@jest/test-result": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+ "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5676,6 +1333,8 @@
},
"node_modules/@jest/test-sequencer": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+ "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5690,6 +1349,8 @@
},
"node_modules/@jest/transform": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5715,6 +1376,8 @@
},
"node_modules/@jest/types": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5731,6 +1394,8 @@
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5744,6 +1409,8 @@
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5752,6 +1419,8 @@
},
"node_modules/@jridgewell/set-array": {
"version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5759,12 +1428,16 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5774,6 +1447,8 @@
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5786,6 +1461,8 @@
},
"node_modules/@nodelib/fs.stat": {
"version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5794,6 +1471,8 @@
},
"node_modules/@nodelib/fs.walk": {
"version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5806,11 +1485,15 @@
},
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
"dev": true,
"license": "MIT"
},
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -5819,6 +1502,8 @@
},
"node_modules/@sinonjs/fake-timers": {
"version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -5827,26 +1512,36 @@
},
"node_modules/@tsconfig/node10": {
"version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+ "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
"dev": true,
"license": "MIT"
},
"node_modules/@tsconfig/node12": {
"version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
"dev": true,
"license": "MIT"
},
"node_modules/@tsconfig/node14": {
"version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
"dev": true,
"license": "MIT"
},
"node_modules/@tsconfig/node16": {
"version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/babel__core": {
"version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5859,6 +1554,8 @@
},
"node_modules/@types/babel__generator": {
"version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5867,6 +1564,8 @@
},
"node_modules/@types/babel__template": {
"version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5876,14 +1575,25 @@
},
"node_modules/@types/babel__traverse": {
"version": "7.20.6",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
+ "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/types": "^7.20.7"
}
},
+ "node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/graceful-fs": {
"version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+ "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5892,11 +1602,15 @@
},
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
"version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5905,6 +1619,8 @@
},
"node_modules/@types/istanbul-reports": {
"version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5912,7 +1628,9 @@
}
},
"node_modules/@types/jest": {
- "version": "29.5.12",
+ "version": "29.5.13",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz",
+ "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5920,25 +1638,40 @@
"pretty-format": "^29.0.0"
}
},
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/lodash": {
- "version": "4.17.4",
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==",
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "20.12.12",
+ "version": "22.7.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
+ "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.19.2"
}
},
"node_modules/@types/stack-utils": {
"version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+ "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/yargs": {
- "version": "17.0.32",
+ "version": "17.0.33",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
+ "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5947,34 +1680,38 @@
},
"node_modules/@types/yargs-parser": {
"version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.1.tgz",
+ "integrity": "sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.11.0",
- "@typescript-eslint/type-utils": "7.11.0",
- "@typescript-eslint/utils": "7.11.0",
- "@typescript-eslint/visitor-keys": "7.11.0",
+ "@typescript-eslint/scope-manager": "8.8.1",
+ "@typescript-eslint/type-utils": "8.8.1",
+ "@typescript-eslint/utils": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^7.0.0",
- "eslint": "^8.56.0"
+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -5983,25 +1720,27 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.1.tgz",
+ "integrity": "sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/scope-manager": "7.11.0",
- "@typescript-eslint/types": "7.11.0",
- "@typescript-eslint/typescript-estree": "7.11.0",
- "@typescript-eslint/visitor-keys": "7.11.0",
+ "@typescript-eslint/scope-manager": "8.8.1",
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/typescript-estree": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1",
"debug": "^4.3.4"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
+ "eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -6010,15 +1749,17 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz",
+ "integrity": "sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.11.0",
- "@typescript-eslint/visitor-keys": "7.11.0"
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -6026,25 +1767,24 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.1.tgz",
+ "integrity": "sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "7.11.0",
- "@typescript-eslint/utils": "7.11.0",
+ "@typescript-eslint/typescript-estree": "8.8.1",
+ "@typescript-eslint/utils": "8.8.1",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
"peerDependenciesMeta": {
"typescript": {
"optional": true
@@ -6052,11 +1792,13 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz",
+ "integrity": "sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -6064,21 +1806,23 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz",
+ "integrity": "sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "7.11.0",
- "@typescript-eslint/visitor-keys": "7.11.0",
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1",
"debug": "^4.3.4",
- "globby": "^11.1.0",
+ "fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -6090,72 +1834,51 @@
}
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
- "version": "9.0.4",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/@typescript-eslint/utils": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz",
+ "integrity": "sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.11.0",
- "@typescript-eslint/types": "7.11.0",
- "@typescript-eslint/typescript-estree": "7.11.0"
+ "@typescript-eslint/scope-manager": "8.8.1",
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/typescript-estree": "8.8.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
+ "eslint": "^8.57.0 || ^9.0.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.11.0",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz",
+ "integrity": "sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.11.0",
+ "@typescript-eslint/types": "8.8.1",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "dev": true,
- "license": "ISC"
- },
"node_modules/acorn": {
- "version": "8.11.3",
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -6167,14 +1890,31 @@
},
"node_modules/acorn-jsx": {
"version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6190,6 +1930,8 @@
},
"node_modules/ansi-escapes": {
"version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6202,19 +1944,10 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/ansi-escapes/node_modules/type-fest": {
- "version": "0.21.3",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/ansi-regex": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6223,6 +1956,8 @@
},
"node_modules/ansi-styles": {
"version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6237,6 +1972,8 @@
},
"node_modules/anymatch": {
"version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -6249,23 +1986,28 @@
},
"node_modules/arg": {
"version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
"dev": true,
"license": "MIT"
},
"node_modules/argparse": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"license": "Python-2.0"
},
- "node_modules/array-union": {
- "version": "2.1.0",
+ "node_modules/async": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
+ "license": "MIT"
},
"node_modules/autorest": {
"version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.7.1.tgz",
+ "integrity": "sha512-6q17NtosQZPqBkIOUnaOPedf3PDIBF7Ha1iEGRhTqZF6TG2Q/1E3ID/D+ePIIzZDKvW01p/2pENq/oiBWH9IGQ==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -6277,6 +2019,8 @@
},
"node_modules/babel-jest": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
+ "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6297,6 +2041,8 @@
},
"node_modules/babel-plugin-istanbul": {
"version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -6312,6 +2058,8 @@
},
"node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
"version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -6327,6 +2075,8 @@
},
"node_modules/babel-plugin-istanbul/node_modules/semver": {
"version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -6335,6 +2085,8 @@
},
"node_modules/babel-plugin-jest-hoist": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
+ "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6348,22 +2100,27 @@
}
},
"node_modules/babel-preset-current-node-syntax": {
- "version": "1.0.1",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz",
+ "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-bigint": "^7.8.3",
- "@babel/plugin-syntax-class-properties": "^7.8.3",
- "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-import-attributes": "^7.24.7",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5"
},
"peerDependencies": {
"@babel/core": "^7.0.0"
@@ -6371,6 +2128,8 @@
},
"node_modules/babel-preset-jest": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
+ "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6386,6 +2145,8 @@
},
"node_modules/balanced-match": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true,
"license": "MIT"
},
@@ -6394,16 +2155,19 @@
"link": true
},
"node_modules/brace-expansion": {
- "version": "1.1.11",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "^1.0.0"
}
},
"node_modules/braces": {
"version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6414,7 +2178,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.23.0",
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
+ "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
"dev": true,
"funding": [
{
@@ -6432,10 +2198,10 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
+ "caniuse-lite": "^1.0.30001663",
+ "electron-to-chromium": "^1.5.28",
+ "node-releases": "^2.0.18",
+ "update-browserslist-db": "^1.1.0"
},
"bin": {
"browserslist": "cli.js"
@@ -6446,6 +2212,8 @@
},
"node_modules/bs-logger": {
"version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
+ "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6457,6 +2225,8 @@
},
"node_modules/bser": {
"version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -6465,11 +2235,15 @@
},
"node_modules/buffer-from": {
"version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true,
"license": "MIT"
},
"node_modules/callsites": {
"version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6478,6 +2252,8 @@
},
"node_modules/camelcase": {
"version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6485,7 +2261,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001624",
+ "version": "1.0.30001667",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz",
+ "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==",
"dev": true,
"funding": [
{
@@ -6505,6 +2283,8 @@
},
"node_modules/chalk": {
"version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6520,6 +2300,8 @@
},
"node_modules/char-regex": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6528,6 +2310,8 @@
},
"node_modules/ci-info": {
"version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
"dev": true,
"funding": [
{
@@ -6541,12 +2325,16 @@
}
},
"node_modules/cjs-module-lexer": {
- "version": "1.3.1",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz",
+ "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==",
"dev": true,
"license": "MIT"
},
"node_modules/cliui": {
"version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -6560,6 +2348,8 @@
},
"node_modules/co": {
"version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6569,11 +2359,15 @@
},
"node_modules/collect-v8-coverage": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
"dev": true,
"license": "MIT"
},
"node_modules/color-convert": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6585,11 +2379,15 @@
},
"node_modules/color-name": {
"version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"license": "MIT"
},
"node_modules/colors": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6598,16 +2396,22 @@
},
"node_modules/concat-map": {
"version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true,
"license": "MIT"
},
"node_modules/convert-source-map": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true,
"license": "MIT"
},
"node_modules/create-jest": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
+ "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6628,11 +2432,15 @@
},
"node_modules/create-require": {
"version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
"dev": true,
"license": "MIT"
},
"node_modules/cross-spawn": {
"version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6645,11 +2453,13 @@
}
},
"node_modules/debug": {
- "version": "4.3.4",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -6662,6 +2472,8 @@
},
"node_modules/dedent": {
"version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz",
+ "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -6675,11 +2487,15 @@
},
"node_modules/deep-is": {
"version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true,
"license": "MIT"
},
"node_modules/deepmerge": {
"version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6688,6 +2504,8 @@
},
"node_modules/detect-newline": {
"version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6696,6 +2514,8 @@
},
"node_modules/diff": {
"version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -6704,6 +2524,8 @@
},
"node_modules/diff-sequences": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6712,42 +2534,66 @@
},
"node_modules/dir-compare": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-5.0.0.tgz",
+ "integrity": "sha512-/GCjdixGQyJ9sj/HiMTYaNGztXqHnj0kWuKDfrGU6fCvZzQBihMBQLToG/dwg5cSs7lm5707iwbKOdsJh5VV4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimatch": "^3.0.5",
+ "p-limit": "^3.1.0 "
+ }
+ },
+ "node_modules/dir-compare/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "minimatch": "^3.0.5",
- "p-limit": "^3.1.0 "
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/dir-glob": {
- "version": "3.0.1",
+ "node_modules/dir-compare/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "path-type": "^4.0.0"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=8"
+ "node": "*"
}
},
- "node_modules/doctrine": {
- "version": "3.0.0",
+ "node_modules/ejs": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "esutils": "^2.0.2"
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=0.10.0"
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.783",
+ "version": "1.5.35",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.35.tgz",
+ "integrity": "sha512-hOSRInrIDm0Brzp4IHW2F/VM+638qOL2CzE0DgpnGzKW27C95IqqeqgKz/hxHGnvPxvQGpHUGD5qRVC9EZY2+A==",
"dev": true,
"license": "ISC"
},
"node_modules/emittery": {
"version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6759,11 +2605,15 @@
},
"node_modules/emoji-regex": {
"version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
"license": "MIT"
},
"node_modules/error-ex": {
"version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6771,7 +2621,9 @@
}
},
"node_modules/escalade": {
- "version": "3.1.2",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6780,6 +2632,8 @@
},
"node_modules/escape-string-regexp": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6790,61 +2644,70 @@
}
},
"node_modules/eslint": {
- "version": "8.57.0",
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz",
+ "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint-community/regexpp": "^4.11.0",
+ "@eslint/config-array": "^0.18.0",
+ "@eslint/core": "^0.6.0",
+ "@eslint/eslintrc": "^3.1.0",
+ "@eslint/js": "9.12.0",
+ "@eslint/plugin-kit": "^0.2.0",
+ "@humanfs/node": "^0.16.5",
"@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
+ "@humanwhocodes/retry": "^0.3.1",
+ "@types/estree": "^1.0.6",
+ "@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
- "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
+ "eslint-scope": "^8.1.0",
+ "eslint-visitor-keys": "^4.1.0",
+ "espree": "^10.2.0",
+ "esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^8.0.0",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
"text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
- "url": "https://opencollective.com/eslint"
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
}
},
"node_modules/eslint-plugin-header": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz",
+ "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -6852,17 +2715,19 @@
}
},
"node_modules/eslint-plugin-jest": {
- "version": "28.5.0",
+ "version": "28.8.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.3.tgz",
+ "integrity": "sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
+ "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0"
},
"engines": {
"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
},
"peerDependencies": {
- "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0",
+ "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0",
"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
"jest": "*"
},
@@ -6875,8 +2740,27 @@
}
}
},
+ "node_modules/eslint-scope": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz",
+ "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
"node_modules/eslint-visitor-keys": {
"version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -6886,40 +2770,69 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint/node_modules/eslint-scope": {
- "version": "7.2.2",
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
+ "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
+ "dev": true,
+ "license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint/node_modules/estraverse": {
- "version": "5.3.0",
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
"engines": {
- "node": ">=4.0"
+ "node": "*"
}
},
"node_modules/espree": {
- "version": "9.6.1",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
+ "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "acorn": "^8.9.0",
+ "acorn": "^8.12.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "eslint-visitor-keys": "^4.1.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
+ "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -6927,6 +2840,8 @@
},
"node_modules/esprima": {
"version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
"license": "BSD-2-Clause",
"bin": {
@@ -6938,7 +2853,9 @@
}
},
"node_modules/esquery": {
- "version": "1.5.0",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -6948,16 +2865,10 @@
"node": ">=0.10"
}
},
- "node_modules/esquery/node_modules/estraverse": {
- "version": "5.3.0",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
"node_modules/esrecurse": {
"version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -6967,8 +2878,10 @@
"node": ">=4.0"
}
},
- "node_modules/esrecurse/node_modules/estraverse": {
+ "node_modules/estraverse": {
"version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
@@ -6977,6 +2890,8 @@
},
"node_modules/esutils": {
"version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
@@ -6985,6 +2900,8 @@
},
"node_modules/execa": {
"version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7007,6 +2924,8 @@
},
"node_modules/exit": {
"version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
"dev": true,
"engines": {
"node": ">= 0.8.0"
@@ -7014,6 +2933,8 @@
},
"node_modules/expect": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7029,11 +2950,15 @@
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true,
"license": "MIT"
},
"node_modules/fast-glob": {
"version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7049,6 +2974,8 @@
},
"node_modules/fast-glob/node_modules/glob-parent": {
"version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7060,16 +2987,22 @@
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true,
"license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
"dev": true,
"license": "MIT"
},
"node_modules/fastq": {
"version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7078,6 +3011,8 @@
},
"node_modules/fb-watchman": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -7085,18 +3020,45 @@
}
},
"node_modules/file-entry-cache": {
- "version": "6.0.1",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "flat-cache": "^3.0.4"
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=10"
}
},
"node_modules/fill-range": {
"version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7108,6 +3070,8 @@
},
"node_modules/find-up": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7122,31 +3086,39 @@
}
},
"node_modules/flat-cache": {
- "version": "3.2.0",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"dev": true,
"license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
+ "keyv": "^4.5.4"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16"
}
},
"node_modules/flatted": {
"version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true,
"license": "ISC"
},
"node_modules/fs.realpath": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true,
"license": "ISC"
},
"node_modules/fsevents": {
"version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
@@ -7158,6 +3130,8 @@
},
"node_modules/function-bind": {
"version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
"license": "MIT",
"funding": {
@@ -7166,6 +3140,8 @@
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7174,6 +3150,8 @@
},
"node_modules/get-caller-file": {
"version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
"license": "ISC",
"engines": {
@@ -7182,6 +3160,8 @@
},
"node_modules/get-package-type": {
"version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7190,6 +3170,8 @@
},
"node_modules/get-stream": {
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7201,6 +3183,9 @@
},
"node_modules/glob": {
"version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7220,6 +3205,8 @@
},
"node_modules/glob-parent": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7229,34 +3216,38 @@
"node": ">=10.13.0"
}
},
- "node_modules/globals": {
- "version": "13.24.0",
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "type-fest": "^0.20.2"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "*"
}
},
- "node_modules/globby": {
- "version": "11.1.0",
+ "node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -7264,15 +3255,21 @@
},
"node_modules/graceful-fs": {
"version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"license": "ISC"
},
"node_modules/graphemer": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
"dev": true,
"license": "MIT"
},
"node_modules/has-flag": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7281,6 +3278,8 @@
},
"node_modules/hasown": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7292,11 +3291,15 @@
},
"node_modules/html-escaper": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true,
"license": "MIT"
},
"node_modules/human-signals": {
"version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -7304,7 +3307,9 @@
}
},
"node_modules/ignore": {
- "version": "5.3.1",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7313,6 +3318,8 @@
},
"node_modules/import-fresh": {
"version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7327,7 +3334,9 @@
}
},
"node_modules/import-local": {
- "version": "3.1.0",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
+ "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7346,6 +3355,8 @@
},
"node_modules/imurmurhash": {
"version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7354,6 +3365,9 @@
},
"node_modules/inflight": {
"version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7363,20 +3377,29 @@
},
"node_modules/inherits": {
"version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true,
"license": "ISC"
},
"node_modules/is-arrayish": {
"version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
"dev": true,
"license": "MIT"
},
"node_modules/is-core-module": {
- "version": "2.13.1",
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
+ "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "hasown": "^2.0.0"
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7384,6 +3407,8 @@
},
"node_modules/is-extglob": {
"version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7392,6 +3417,8 @@
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7400,6 +3427,8 @@
},
"node_modules/is-generator-fn": {
"version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7408,6 +3437,8 @@
},
"node_modules/is-glob": {
"version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7419,22 +3450,18 @@
},
"node_modules/is-number": {
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-stream": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7446,11 +3473,15 @@
},
"node_modules/isexe": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true,
"license": "ISC"
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -7458,7 +3489,9 @@
}
},
"node_modules/istanbul-lib-instrument": {
- "version": "6.0.2",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
+ "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -7474,6 +3507,8 @@
},
"node_modules/istanbul-lib-report": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -7487,6 +3522,8 @@
},
"node_modules/istanbul-lib-source-maps": {
"version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -7500,6 +3537,8 @@
},
"node_modules/istanbul-reports": {
"version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -7510,8 +3549,53 @@
"node": ">=8"
}
},
+ "node_modules/jake": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz",
+ "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/jake/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/jest": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
+ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7537,6 +3621,8 @@
},
"node_modules/jest-changed-files": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
+ "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7550,6 +3636,8 @@
},
"node_modules/jest-circus": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
+ "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7580,6 +3668,8 @@
},
"node_modules/jest-cli": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
+ "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7612,6 +3702,8 @@
},
"node_modules/jest-config": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
+ "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7656,6 +3748,8 @@
},
"node_modules/jest-diff": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7670,6 +3764,8 @@
},
"node_modules/jest-docblock": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
+ "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7681,6 +3777,8 @@
},
"node_modules/jest-each": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
+ "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7696,6 +3794,8 @@
},
"node_modules/jest-environment-node": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
+ "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7712,6 +3812,8 @@
},
"node_modules/jest-get-type": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+ "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7720,6 +3822,8 @@
},
"node_modules/jest-haste-map": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7744,6 +3848,8 @@
},
"node_modules/jest-leak-detector": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
+ "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7756,6 +3862,8 @@
},
"node_modules/jest-matcher-utils": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+ "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7770,6 +3878,8 @@
},
"node_modules/jest-message-util": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
+ "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7789,6 +3899,8 @@
},
"node_modules/jest-mock": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
+ "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7802,6 +3914,8 @@
},
"node_modules/jest-pnp-resolver": {
"version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7818,6 +3932,8 @@
},
"node_modules/jest-regex-util": {
"version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7826,6 +3942,8 @@
},
"node_modules/jest-resolve": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
+ "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7845,6 +3963,8 @@
},
"node_modules/jest-resolve-dependencies": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
+ "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7857,6 +3977,8 @@
},
"node_modules/jest-runner": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
+ "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7888,6 +4010,8 @@
},
"node_modules/jest-runtime": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
+ "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7920,6 +4044,8 @@
},
"node_modules/jest-snapshot": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
+ "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7950,6 +4076,8 @@
},
"node_modules/jest-util": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+ "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7966,6 +4094,8 @@
},
"node_modules/jest-validate": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+ "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7982,6 +4112,8 @@
},
"node_modules/jest-validate/node_modules/camelcase": {
"version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7993,6 +4125,8 @@
},
"node_modules/jest-watcher": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
+ "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8011,6 +4145,8 @@
},
"node_modules/jest-worker": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8025,6 +4161,8 @@
},
"node_modules/jest-worker/node_modules/supports-color": {
"version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8039,11 +4177,15 @@
},
"node_modules/js-tokens": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true,
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -8053,38 +4195,50 @@
}
},
"node_modules/jsesc": {
- "version": "2.5.2",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"dev": true,
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json-buffer": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true,
"license": "MIT"
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true,
"license": "MIT"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true,
"license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true,
"license": "MIT"
},
"node_modules/json5": {
"version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -8096,6 +4250,8 @@
},
"node_modules/keyv": {
"version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8104,6 +4260,8 @@
},
"node_modules/kleur": {
"version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8112,6 +4270,8 @@
},
"node_modules/leven": {
"version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8120,6 +4280,8 @@
},
"node_modules/levn": {
"version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8132,11 +4294,15 @@
},
"node_modules/lines-and-columns": {
"version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
"dev": true,
"license": "MIT"
},
"node_modules/locate-path": {
"version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8151,20 +4317,28 @@
},
"node_modules/lodash": {
"version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"license": "MIT"
},
"node_modules/lodash.memoize": {
"version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
"dev": true,
"license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true,
"license": "MIT"
},
"node_modules/lru-cache": {
"version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -8173,6 +4347,8 @@
},
"node_modules/make-dir": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8187,11 +4363,15 @@
},
"node_modules/make-error": {
"version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
"dev": true,
"license": "ISC"
},
"node_modules/makeerror": {
"version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -8200,11 +4380,15 @@
},
"node_modules/merge-stream": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true,
"license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8216,6 +4400,7 @@
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -8226,6 +4411,8 @@
},
"node_modules/mimic-fn": {
"version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8233,38 +4420,53 @@
}
},
"node_modules/minimatch": {
- "version": "3.1.2",
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"license": "ISC",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "*"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ms": {
- "version": "2.1.2",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
"node_modules/natural-compare": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true,
"license": "MIT"
},
"node_modules/node-int64": {
"version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
"dev": true,
"license": "MIT"
},
"node_modules/node-releases": {
- "version": "2.0.14",
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+ "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
"dev": true,
"license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8273,6 +4475,8 @@
},
"node_modules/npm-run-path": {
"version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8284,6 +4488,8 @@
},
"node_modules/once": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -8292,6 +4498,8 @@
},
"node_modules/onetime": {
"version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8305,16 +4513,18 @@
}
},
"node_modules/optionator": {
- "version": "0.9.3",
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
},
"engines": {
"node": ">= 0.8.0"
@@ -8322,6 +4532,8 @@
},
"node_modules/p-limit": {
"version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8336,6 +4548,8 @@
},
"node_modules/p-locate": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8350,6 +4564,8 @@
},
"node_modules/p-try": {
"version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8358,6 +4574,8 @@
},
"node_modules/parent-module": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8369,6 +4587,8 @@
},
"node_modules/parse-json": {
"version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8386,6 +4606,8 @@
},
"node_modules/path-exists": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8394,6 +4616,8 @@
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8402,6 +4626,8 @@
},
"node_modules/path-key": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8410,24 +4636,22 @@
},
"node_modules/path-parse": {
"version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true,
"license": "MIT"
},
- "node_modules/path-type": {
- "version": "4.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/picocolors": {
- "version": "1.0.1",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
"dev": true,
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8439,6 +4663,8 @@
},
"node_modules/pirates": {
"version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
+ "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8447,6 +4673,8 @@
},
"node_modules/pkg-dir": {
"version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8458,6 +4686,8 @@
},
"node_modules/pkg-dir/node_modules/find-up": {
"version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8470,6 +4700,8 @@
},
"node_modules/pkg-dir/node_modules/locate-path": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8481,6 +4713,8 @@
},
"node_modules/pkg-dir/node_modules/p-limit": {
"version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8495,6 +4729,8 @@
},
"node_modules/pkg-dir/node_modules/p-locate": {
"version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8506,6 +4742,8 @@
},
"node_modules/prelude-ls": {
"version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8514,6 +4752,8 @@
},
"node_modules/pretty-format": {
"version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8527,6 +4767,8 @@
},
"node_modules/pretty-format/node_modules/ansi-styles": {
"version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8538,6 +4780,8 @@
},
"node_modules/prompts": {
"version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8550,6 +4794,8 @@
},
"node_modules/proper-lockfile": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz",
+ "integrity": "sha512-rjaeGbsmhNDcDInmwi4MuI6mRwJu6zq8GjYCLuSuE7GF+4UjgzkL69sVKKJ2T2xH61kK7rXvGYpvaTu909oXaQ==",
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.1.2",
@@ -8561,6 +4807,8 @@
},
"node_modules/punycode": {
"version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8569,6 +4817,8 @@
},
"node_modules/pure-rand": {
"version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
+ "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
"dev": true,
"funding": [
{
@@ -8584,6 +4834,8 @@
},
"node_modules/queue-microtask": {
"version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true,
"funding": [
{
@@ -8603,11 +4855,15 @@
},
"node_modules/react-is": {
"version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
"dev": true,
"license": "MIT"
},
"node_modules/require-directory": {
"version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8616,6 +4872,8 @@
},
"node_modules/resolve": {
"version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8632,6 +4890,8 @@
},
"node_modules/resolve-cwd": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8643,6 +4903,8 @@
},
"node_modules/resolve-cwd/node_modules/resolve-from": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8651,6 +4913,8 @@
},
"node_modules/resolve-from": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8659,6 +4923,8 @@
},
"node_modules/resolve.exports": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8667,6 +4933,8 @@
},
"node_modules/retry": {
"version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+ "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==",
"license": "MIT",
"engines": {
"node": "*"
@@ -8674,6 +4942,8 @@
},
"node_modules/reusify": {
"version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8681,22 +4951,10 @@
"node": ">=0.10.0"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/run-parallel": {
"version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
"dev": true,
"funding": [
{
@@ -8718,11 +4976,10 @@
}
},
"node_modules/semver": {
- "version": "7.6.0",
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
},
@@ -8730,22 +4987,10 @@
"node": ">=10"
}
},
- "node_modules/semver/node_modules/lru-cache": {
- "version": "6.0.0",
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/semver/node_modules/yallist": {
- "version": "4.0.0",
- "license": "ISC"
- },
"node_modules/shebang-command": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8757,6 +5002,8 @@
},
"node_modules/shebang-regex": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8765,16 +5012,22 @@
},
"node_modules/signal-exit": {
"version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true,
"license": "ISC"
},
"node_modules/sisteransi": {
"version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"dev": true,
"license": "MIT"
},
"node_modules/slash": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8783,6 +5036,8 @@
},
"node_modules/source-map": {
"version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -8791,6 +5046,8 @@
},
"node_modules/source-map-support": {
"version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8800,11 +5057,15 @@
},
"node_modules/sprintf-js": {
"version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/stack-utils": {
"version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+ "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8816,6 +5077,8 @@
},
"node_modules/stack-utils/node_modules/escape-string-regexp": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8824,6 +5087,8 @@
},
"node_modules/string-length": {
"version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8836,6 +5101,8 @@
},
"node_modules/string-width": {
"version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8849,6 +5116,8 @@
},
"node_modules/strip-ansi": {
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8860,6 +5129,8 @@
},
"node_modules/strip-bom": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8868,6 +5139,8 @@
},
"node_modules/strip-final-newline": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8876,6 +5149,8 @@
},
"node_modules/strip-json-comments": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8887,6 +5162,8 @@
},
"node_modules/supports-color": {
"version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8898,6 +5175,8 @@
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8909,6 +5188,8 @@
},
"node_modules/test-exclude": {
"version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -8920,18 +5201,48 @@
"node": ">=8"
}
},
+ "node_modules/test-exclude/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/test-exclude/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/text-table": {
"version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true,
"license": "MIT"
},
"node_modules/tmpl": {
"version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8940,6 +5251,8 @@
},
"node_modules/to-regex-range": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8951,6 +5264,8 @@
},
"node_modules/ts-api-utils": {
"version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -8961,18 +5276,21 @@
}
},
"node_modules/ts-jest": {
- "version": "29.1.4",
+ "version": "29.2.5",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz",
+ "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "bs-logger": "0.x",
- "fast-json-stable-stringify": "2.x",
+ "bs-logger": "^0.2.6",
+ "ejs": "^3.1.10",
+ "fast-json-stable-stringify": "^2.1.0",
"jest-util": "^29.0.0",
"json5": "^2.2.3",
- "lodash.memoize": "4.x",
- "make-error": "1.x",
- "semver": "^7.5.3",
- "yargs-parser": "^21.0.1"
+ "lodash.memoize": "^4.1.2",
+ "make-error": "^1.3.6",
+ "semver": "^7.6.3",
+ "yargs-parser": "^21.1.1"
},
"bin": {
"ts-jest": "cli.js"
@@ -9008,6 +5326,8 @@
},
"node_modules/ts-node": {
"version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9048,16 +5368,10 @@
}
}
},
- "node_modules/ts-node/node_modules/acorn-walk": {
- "version": "8.3.2",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/type-check": {
"version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9069,6 +5383,8 @@
},
"node_modules/type-detect": {
"version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9076,7 +5392,9 @@
}
},
"node_modules/type-fest": {
- "version": "0.20.2",
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
"engines": {
@@ -9087,7 +5405,9 @@
}
},
"node_modules/typescript": {
- "version": "5.4.5",
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
+ "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -9099,12 +5419,16 @@
}
},
"node_modules/undici-types": {
- "version": "5.26.5",
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true,
"license": "MIT"
},
"node_modules/update-browserslist-db": {
- "version": "1.0.16",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+ "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
"dev": true,
"funding": [
{
@@ -9122,8 +5446,8 @@
],
"license": "MIT",
"dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.1"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.0"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -9134,6 +5458,8 @@
},
"node_modules/uri-js": {
"version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -9142,11 +5468,15 @@
},
"node_modules/v8-compile-cache-lib": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
"dev": true,
"license": "MIT"
},
"node_modules/v8-to-istanbul": {
- "version": "9.2.0",
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
+ "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -9160,6 +5490,8 @@
},
"node_modules/vscode-jsonrpc": {
"version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.2.tgz",
+ "integrity": "sha512-T24Jb5V48e4VgYliUXMnZ379ItbrXgOimweKaJshD84z+8q7ZOZjJan0MeDe+Ugb+uqERDVV8SBmemaGMSMugA==",
"license": "MIT",
"engines": {
"node": ">=4.0.0 || >=6.0.0"
@@ -9167,6 +5499,8 @@
},
"node_modules/walker": {
"version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -9175,6 +5509,8 @@
},
"node_modules/which": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -9187,8 +5523,20 @@
"node": ">= 8"
}
},
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/wrap-ansi": {
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9205,11 +5553,15 @@
},
"node_modules/wrappy": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true,
"license": "ISC"
},
"node_modules/write-file-atomic": {
"version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -9222,6 +5574,8 @@
},
"node_modules/y18n": {
"version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
"license": "ISC",
"engines": {
@@ -9230,11 +5584,15 @@
},
"node_modules/yallist": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true,
"license": "ISC"
},
"node_modules/yargs": {
"version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9252,6 +5610,8 @@
},
"node_modules/yargs-parser": {
"version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
"license": "ISC",
"engines": {
@@ -9260,6 +5620,8 @@
},
"node_modules/yn": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9268,6 +5630,8 @@
},
"node_modules/yocto-queue": {
"version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
"license": "MIT",
"engines": {
diff --git a/hack/bicep-types-radius/src/autorest.bicep/package.json b/hack/bicep-types-radius/src/autorest.bicep/package.json
index d3353bcfcd0..d4289f6e607 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/package.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/package.json
@@ -12,24 +12,24 @@
"dependencies": {
"@autorest/codemodel": "^4.20.0",
"@autorest/extension-base": "^3.6.0",
- "@types/lodash": "^4.17.4",
+ "@types/lodash": "^4.17.10",
"autorest": "^3.7.1",
"lodash": "^4.17.21"
},
"devDependencies": {
- "@types/jest": "^29.5.12",
- "@types/node": "^20.12.12",
- "@typescript-eslint/eslint-plugin": "^7.10.0",
- "@typescript-eslint/parser": "^7.10.0",
+ "@types/jest": "^29.5.13",
+ "@types/node": "^22.7.5",
+ "@typescript-eslint/eslint-plugin": "^8.8.1",
+ "@typescript-eslint/parser": "^8.8.1",
"colors": "^1.4.0",
"dir-compare": "^5.0.0",
- "eslint": "^8.56.0",
+ "eslint": "^9.12.0",
"eslint-plugin-header": "^3.1.1",
- "eslint-plugin-jest": "^28.5.0",
+ "eslint-plugin-jest": "^28.8.3",
"jest": "^29.7.0",
- "ts-jest": "^29.1.3",
+ "ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
- "typescript": "^5.4.5",
+ "typescript": "^5.6.3",
"bicep-types": "file:../../../../bicep-types/src/bicep-types"
}
}
\ No newline at end of file
diff --git a/hack/bicep-types-radius/src/generator/package-lock.json b/hack/bicep-types-radius/src/generator/package-lock.json
index b5bd85dcc9a..570f81ef197 100644
--- a/hack/bicep-types-radius/src/generator/package-lock.json
+++ b/hack/bicep-types-radius/src/generator/package-lock.json
@@ -1,7 +1,7 @@
{
"name": "@autorest/bicep",
"version": "0.0.0",
- "lockfileVersion": 2,
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
@@ -13,23 +13,23 @@
"@autorest/modelerfour": "^4.27.0",
"@ts-common/commonmark-to-markdown": "^2.0.2",
"@types/async": "^3.2.24",
- "@types/jest": "^29.5.12",
+ "@types/jest": "^29.5.13",
"@types/js-yaml": "^4.0.9",
- "@types/lodash": "^4.17.4",
- "@types/node": "^20.12.12",
- "@types/yargs": "^17.0.32",
- "@typescript-eslint/eslint-plugin": "^7.10.0",
- "@typescript-eslint/parser": "^7.10.0",
- "async": "^3.2.5",
+ "@types/lodash": "^4.17.10",
+ "@types/node": "^22.7.5",
+ "@types/yargs": "^17.0.33",
+ "@typescript-eslint/eslint-plugin": "^8.8.1",
+ "@typescript-eslint/parser": "^8.8.1",
+ "async": "^3.2.6",
"autorest": "^3.7.1",
"bicep-types": "file:../../../../bicep-types/src/bicep-types",
"colors": "^1.4.0",
- "eslint": "^8.56.0",
+ "eslint": "^9.12.0",
"eslint-plugin-header": "^3.1.1",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"ts-node": "^10.9.2",
- "typescript": "^5.4.5",
+ "typescript": "^5.6.3",
"yargs": "^17.7.2"
}
},
@@ -39,7 +39,7 @@
"license": "MIT",
"devDependencies": {
"@types/jest": "^29.0.3",
- "@types/node": "^20.1.0",
+ "@types/node": "^22.0.0",
"@typescript-eslint/eslint-plugin": "^7.0.2",
"@typescript-eslint/parser": "^7.0.2",
"eslint": "^8.23.1",
@@ -57,6 +57,7 @@
"resolved": "https://registry.npmjs.org/@autorest/core/-/core-3.10.2.tgz",
"integrity": "sha512-HQlqkY7SkqyEIidYhEUt3O0mDv0qwxewPTlV6cxlknnLmnj6pTPYqMAmIjXiKo5NzwP2HY8jYZyOJyGGxBQNzw==",
"dev": true,
+ "license": "MIT",
"bin": {
"autorest-core": "entrypoints/app.js",
"autorest-language-service": "entrypoints/language-service.js"
@@ -70,17 +71,19 @@
"resolved": "https://registry.npmjs.org/@autorest/modelerfour/-/modelerfour-4.27.0.tgz",
"integrity": "sha512-Tbsqy4MCQeuVmDRQCwL9S+B1UeDbazx8LBF3eecrDrLY4ERShzXjB0Z4ZCwrxspmDFlDrrw5G2pGzjBE3aC+IQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.2",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
- "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
+ "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.2",
+ "@babel/highlight": "^7.25.7",
"picocolors": "^1.0.0"
},
"engines": {
@@ -88,21 +91,23 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
+ "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.24.2",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
- "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
+ "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-validator-identifier": "^7.25.7",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
@@ -116,6 +121,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -128,6 +134,7 @@
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -142,6 +149,7 @@
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "1.1.3"
}
@@ -150,13 +158,15 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -166,6 +176,7 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -175,6 +186,7 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -187,6 +199,7 @@
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "0.3.9"
},
@@ -199,6 +212,7 @@
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-visitor-keys": "^3.3.0"
},
@@ -210,24 +224,75 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
- "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "version": "4.11.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
+ "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
+ "node_modules/@eslint/config-array": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz",
+ "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.4",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz",
+ "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+ "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -235,33 +300,91 @@
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz",
+ "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz",
+ "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz",
+ "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@humanfs/core": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz",
+ "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.5",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz",
+ "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanfs/core": "^0.19.0",
+ "@humanwhocodes/retry": "^0.3.0"
},
"engines": {
- "node": ">=10.10.0"
+ "node": ">=18.18.0"
}
},
"node_modules/@humanwhocodes/module-importer": {
@@ -269,6 +392,7 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=12.22"
},
@@ -277,17 +401,26 @@
"url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "dev": true
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
+ "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
},
"node_modules/@jest/expect-utils": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
"integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jest-get-type": "^29.6.3"
},
@@ -300,6 +433,7 @@
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
"integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sinclair/typebox": "^0.27.8"
},
@@ -312,6 +446,7 @@
"resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
"integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -329,21 +464,24 @@
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.0.3",
"@jridgewell/sourcemap-codec": "^1.4.10"
@@ -354,6 +492,7 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -367,6 +506,7 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -376,6 +516,7 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -388,13 +529,15 @@
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@ts-common/commonmark-to-markdown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-2.0.2.tgz",
"integrity": "sha512-gLUxc7phOvWiDavHDshU3JGxKsepSCYAuXpMVxU0j6MDah2EbV3y0UA4x1wHkWmlf7bVuDLcnsiYQttqEX1zQw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@ts-common/iterator": "^1.1.1",
"@types/commonmark": "^0.27.3",
@@ -407,57 +550,73 @@
"resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-1.1.2.tgz",
"integrity": "sha512-edwrL2/efx3uphxuSEI7fCHJENFmTg+gR7TY8ruTRxNWIWc240YSg+v4T3qVAtgG8npwRC4QtQDu72hi8mrR5A==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"tslib": "^2.3.1"
}
},
"node_modules/@tsconfig/node10": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
- "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
- "dev": true
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+ "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@tsconfig/node12": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
- "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
- "dev": true
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@tsconfig/node14": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
- "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
- "dev": true
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@tsconfig/node16": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
- "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
- "dev": true
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/async": {
"version": "3.2.24",
"resolved": "https://registry.npmjs.org/@types/async/-/async-3.2.24.tgz",
"integrity": "sha512-8iHVLHsCCOBKjCF2KwFe0p9Z3rfM9mL+sSP8btyR5vTjJRAqpBYD28/ZLgXPf0pjG1VxOvtCV/BgXkQbpSe8Hw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/commonmark": {
- "version": "0.27.5",
- "resolved": "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.5.tgz",
- "integrity": "sha512-vIqgmHyLsc8Or3EWLz6QkhI8/v61FNeH0yxRupA7VqSbA2eFMoHHJAhZSHudplAV89wqg1CKSmShE016ziRXuw==",
- "dev": true
+ "version": "0.27.9",
+ "resolved": "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.9.tgz",
+ "integrity": "sha512-d3+57WgyPCcIc6oshmcPkmP4+JqRRot9eeZLsBsutWtIxwWivpoyc2wEcolOp8MyO3ZWN846mMdoR02kdHSMCw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
"integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
"integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/istanbul-lib-coverage": "*"
}
@@ -467,15 +626,17 @@
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
"integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/istanbul-lib-report": "*"
}
},
"node_modules/@types/jest": {
- "version": "29.5.12",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
- "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
+ "version": "29.5.13",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz",
+ "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"expect": "^29.0.0",
"pretty-format": "^29.0.0"
@@ -485,70 +646,84 @@
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==",
- "dev": true
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/node": {
- "version": "20.12.13",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
- "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
+ "version": "22.7.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
+ "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.19.2"
}
},
"node_modules/@types/stack-utils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/yargs": {
- "version": "17.0.32",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
- "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "version": "17.0.33",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
+ "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
},
"node_modules/@types/yargs-parser": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
- "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
- "dev": true
+ "version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz",
- "integrity": "sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.1.tgz",
+ "integrity": "sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/type-utils": "7.10.0",
- "@typescript-eslint/utils": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
+ "@typescript-eslint/scope-manager": "8.8.1",
+ "@typescript-eslint/type-utils": "8.8.1",
+ "@typescript-eslint/utils": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^7.0.0",
- "eslint": "^8.56.0"
+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -557,26 +732,27 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz",
- "integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.8.1.tgz",
+ "integrity": "sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/typescript-estree": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
+ "@typescript-eslint/scope-manager": "8.8.1",
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/typescript-estree": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1",
"debug": "^4.3.4"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
+ "eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -585,16 +761,17 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz",
- "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz",
+ "integrity": "sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0"
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -602,26 +779,24 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz",
- "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.1.tgz",
+ "integrity": "sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "7.10.0",
- "@typescript-eslint/utils": "7.10.0",
+ "@typescript-eslint/typescript-estree": "8.8.1",
+ "@typescript-eslint/utils": "8.8.1",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
"peerDependenciesMeta": {
"typescript": {
"optional": true
@@ -629,12 +804,13 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz",
- "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz",
+ "integrity": "sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -642,22 +818,23 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz",
- "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz",
+ "integrity": "sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/visitor-keys": "8.8.1",
"debug": "^4.3.4",
- "globby": "^11.1.0",
+ "fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -669,80 +846,53 @@
}
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
- "version": "9.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
- "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/@typescript-eslint/utils": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz",
- "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz",
+ "integrity": "sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/typescript-estree": "7.10.0"
+ "@typescript-eslint/scope-manager": "8.8.1",
+ "@typescript-eslint/types": "8.8.1",
+ "@typescript-eslint/typescript-estree": "8.8.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
+ "eslint": "^8.57.0 || ^9.0.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz",
- "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz",
+ "integrity": "sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.10.0",
+ "@typescript-eslint/types": "8.8.1",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
- },
"node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -755,15 +905,20 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
"engines": {
"node": ">=0.4.0"
}
@@ -773,6 +928,7 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -789,6 +945,7 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -798,6 +955,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -812,28 +970,22 @@
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true,
- "engines": {
- "node": ">=8"
- }
+ "license": "Python-2.0"
},
"node_modules/async": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
- "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
- "dev": true
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/autorest": {
"version": "3.7.1",
@@ -841,6 +993,7 @@
"integrity": "sha512-6q17NtosQZPqBkIOUnaOPedf3PDIBF7Ha1iEGRhTqZF6TG2Q/1E3ID/D+ePIIzZDKvW01p/2pENq/oiBWH9IGQ==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"bin": {
"autorest": "entrypoints/app.js"
},
@@ -852,20 +1005,21 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/bicep-types": {
"resolved": "../../../../bicep-types/src/bicep-types",
"link": true
},
"node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "^1.0.0"
}
},
"node_modules/braces": {
@@ -873,6 +1027,7 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -885,6 +1040,7 @@
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -894,6 +1050,7 @@
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -916,6 +1073,7 @@
"url": "https://github.com/sponsors/sibiraj-s"
}
],
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -925,6 +1083,7 @@
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -939,6 +1098,7 @@
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
@@ -950,13 +1110,15 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.1.90"
}
@@ -964,8 +1126,9 @@
"node_modules/commonmark": {
"version": "0.28.1",
"resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
- "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
+ "integrity": "sha512-PklsZ9pgrfFQ5hQH9BRzoWnqI9db2LeR9MhvkNk8iz97kfaTNmhTU+IE8jKDHTEfivZZXoFqzGqzddXdk14EJw==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"entities": "~ 1.1.1",
"mdurl": "~ 1.0.1",
@@ -982,20 +1145,23 @@
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/create-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -1006,12 +1172,13 @@
}
},
"node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -1026,13 +1193,15 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/diff": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
@@ -1042,51 +1211,31 @@
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
"integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -1096,6 +1245,7 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -1104,58 +1254,64 @@
}
},
"node_modules/eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "version": "9.12.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz",
+ "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint-community/regexpp": "^4.11.0",
+ "@eslint/config-array": "^0.18.0",
+ "@eslint/core": "^0.6.0",
+ "@eslint/eslintrc": "^3.1.0",
+ "@eslint/js": "9.12.0",
+ "@eslint/plugin-kit": "^0.2.0",
+ "@humanfs/node": "^0.16.5",
"@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
+ "@humanwhocodes/retry": "^0.3.1",
+ "@types/estree": "^1.0.6",
+ "@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
- "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
+ "eslint-scope": "^8.1.0",
+ "eslint-visitor-keys": "^4.1.0",
+ "espree": "^10.2.0",
+ "esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^8.0.0",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
"text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
- "url": "https://opencollective.com/eslint"
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
}
},
"node_modules/eslint-plugin-header": {
@@ -1163,21 +1319,23 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz",
"integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"eslint": ">=7.7.0"
}
},
"node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz",
+ "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -1188,6 +1346,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -1195,18 +1354,69 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
+ "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz",
+ "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "acorn": "^8.9.0",
+ "acorn": "^8.12.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "eslint-visitor-keys": "^4.1.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz",
+ "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -1217,6 +1427,7 @@
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
+ "license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -1226,10 +1437,11 @@
}
},
"node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -1242,6 +1454,7 @@
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -1254,6 +1467,7 @@
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
@@ -1263,6 +1477,7 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -1272,6 +1487,7 @@
"resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
"integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/expect-utils": "^29.7.0",
"jest-get-type": "^29.6.3",
@@ -1287,13 +1503,15 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -1310,6 +1528,7 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -1321,33 +1540,37 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
"integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
},
"node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "flat-cache": "^3.0.4"
+ "flat-cache": "^4.0.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16.0.0"
}
},
"node_modules/fill-range": {
@@ -1355,6 +1578,7 @@
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -1367,6 +1591,7 @@
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -1379,29 +1604,32 @@
}
},
"node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16"
}
},
"node_modules/flatted": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
- "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
- "dev": true
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/front-matter": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
"integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"js-yaml": "^3.13.1"
}
@@ -1411,6 +1639,7 @@
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
@@ -1420,6 +1649,7 @@
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -1428,46 +1658,22 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
- "node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -1476,35 +1682,13 @@
}
},
"node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -1514,28 +1698,32 @@
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -1545,6 +1733,7 @@
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -1559,33 +1748,19 @@
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.19"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -1595,6 +1770,7 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -1604,6 +1780,7 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -1616,30 +1793,24 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/jest-diff": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
"integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
"diff-sequences": "^29.6.3",
@@ -1655,6 +1826,7 @@
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
"integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
@@ -1664,6 +1836,7 @@
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
"integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.0.0",
"jest-diff": "^29.7.0",
@@ -1679,6 +1852,7 @@
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
"integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.12.13",
"@jest/types": "^29.6.3",
@@ -1699,6 +1873,7 @@
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
"integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@types/node": "*",
@@ -1715,13 +1890,15 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -1729,23 +1906,43 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
},
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -1759,6 +1956,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -1773,40 +1971,46 @@
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/make-error": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
- "dev": true
+ "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
},
"node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -1816,49 +2020,51 @@
}
},
"node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "*"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true,
- "dependencies": {
- "wrappy": "1"
- }
+ "license": "MIT"
},
"node_modules/optionator": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
"integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -1876,6 +2082,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -1891,6 +2098,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -1906,6 +2114,7 @@
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
},
@@ -1918,48 +2127,34 @@
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -1972,6 +2167,7 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
@@ -1981,6 +2177,7 @@
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
"integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
"ansi-styles": "^5.0.0",
@@ -1995,6 +2192,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -2007,6 +2205,7 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -2029,19 +2228,22 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
- "dev": true
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -2051,6 +2253,7 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -2060,26 +2263,12 @@
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true,
+ "license": "MIT",
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -2099,15 +2288,17 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
},
"node_modules/semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -2120,6 +2311,7 @@
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -2132,6 +2324,7 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -2141,6 +2334,7 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -2148,14 +2342,16 @@
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/stack-utils": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
"integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^2.0.0"
},
@@ -2168,6 +2364,7 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -2177,6 +2374,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -2189,7 +2387,7 @@
"node_modules/string.prototype.repeat": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
- "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
+ "integrity": "sha512-1BH+X+1hSthZFW+X+JaUkjkkUPwIlLEMJBLANN3hOob3RhEk5snLWNECDnYbgn/m5c5JV7Ersu1Yubaf+05cIA==",
"dev": true
},
"node_modules/strip-ansi": {
@@ -2197,6 +2395,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -2209,6 +2408,7 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -2221,6 +2421,7 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -2231,14 +2432,16 @@
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -2251,6 +2454,7 @@
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -2263,6 +2467,7 @@
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@cspotcode/source-map-support": "^0.8.0",
"@tsconfig/node10": "^1.0.7",
@@ -2302,10 +2507,11 @@
}
},
"node_modules/tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
"dev": true,
+ "license": "0BSD",
"peer": true
},
"node_modules/type-check": {
@@ -2313,6 +2519,7 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -2320,23 +2527,12 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/typescript": {
- "version": "5.4.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
- "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
+ "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
"dev": true,
+ "license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -2346,16 +2542,18 @@
}
},
"node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
@@ -2364,13 +2562,15 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -2386,6 +2586,7 @@
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -2395,6 +2596,7 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -2407,17 +2609,12 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
@@ -2427,6 +2624,7 @@
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -2445,6 +2643,7 @@
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=12"
}
@@ -2454,6 +2653,7 @@
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -2463,6 +2663,7 @@
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -2470,1790 +2671,5 @@
"url": "https://github.com/sponsors/sindresorhus"
}
}
- },
- "dependencies": {
- "@autorest/core": {
- "version": "3.10.2",
- "resolved": "https://registry.npmjs.org/@autorest/core/-/core-3.10.2.tgz",
- "integrity": "sha512-HQlqkY7SkqyEIidYhEUt3O0mDv0qwxewPTlV6cxlknnLmnj6pTPYqMAmIjXiKo5NzwP2HY8jYZyOJyGGxBQNzw==",
- "dev": true
- },
- "@autorest/modelerfour": {
- "version": "4.27.0",
- "resolved": "https://registry.npmjs.org/@autorest/modelerfour/-/modelerfour-4.27.0.tgz",
- "integrity": "sha512-Tbsqy4MCQeuVmDRQCwL9S+B1UeDbazx8LBF3eecrDrLY4ERShzXjB0Z4ZCwrxspmDFlDrrw5G2pGzjBE3aC+IQ==",
- "dev": true
- },
- "@babel/code-frame": {
- "version": "7.24.2",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
- "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.24.2",
- "picocolors": "^1.0.0"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
- "dev": true
- },
- "@babel/highlight": {
- "version": "7.24.2",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
- "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "requires": {
- "@jridgewell/trace-mapping": "0.3.9"
- }
- },
- "@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "@eslint-community/regexpp": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
- "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
- "dev": true
- },
- "@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
- "dev": true
- },
- "@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
- }
- },
- "@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true
- },
- "@humanwhocodes/object-schema": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
- "dev": true
- },
- "@jest/expect-utils": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
- "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
- "dev": true,
- "requires": {
- "jest-get-type": "^29.6.3"
- }
- },
- "@jest/schemas": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
- "dev": true,
- "requires": {
- "@sinclair/typebox": "^0.27.8"
- }
- },
- "@jest/types": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "dev": true,
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@sinclair/typebox": {
- "version": "0.27.8",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
- "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
- "dev": true
- },
- "@ts-common/commonmark-to-markdown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-2.0.2.tgz",
- "integrity": "sha512-gLUxc7phOvWiDavHDshU3JGxKsepSCYAuXpMVxU0j6MDah2EbV3y0UA4x1wHkWmlf7bVuDLcnsiYQttqEX1zQw==",
- "dev": true,
- "requires": {
- "@ts-common/iterator": "^1.1.1",
- "@types/commonmark": "^0.27.3",
- "commonmark": "^0.28.1",
- "front-matter": "^4.0.2"
- }
- },
- "@ts-common/iterator": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-1.1.2.tgz",
- "integrity": "sha512-edwrL2/efx3uphxuSEI7fCHJENFmTg+gR7TY8ruTRxNWIWc240YSg+v4T3qVAtgG8npwRC4QtQDu72hi8mrR5A==",
- "dev": true,
- "requires": {}
- },
- "@tsconfig/node10": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
- "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
- "dev": true
- },
- "@tsconfig/node12": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
- "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
- "dev": true
- },
- "@tsconfig/node14": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
- "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
- "dev": true
- },
- "@tsconfig/node16": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
- "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
- "dev": true
- },
- "@types/async": {
- "version": "3.2.24",
- "resolved": "https://registry.npmjs.org/@types/async/-/async-3.2.24.tgz",
- "integrity": "sha512-8iHVLHsCCOBKjCF2KwFe0p9Z3rfM9mL+sSP8btyR5vTjJRAqpBYD28/ZLgXPf0pjG1VxOvtCV/BgXkQbpSe8Hw==",
- "dev": true
- },
- "@types/commonmark": {
- "version": "0.27.5",
- "resolved": "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.5.tgz",
- "integrity": "sha512-vIqgmHyLsc8Or3EWLz6QkhI8/v61FNeH0yxRupA7VqSbA2eFMoHHJAhZSHudplAV89wqg1CKSmShE016ziRXuw==",
- "dev": true
- },
- "@types/istanbul-lib-coverage": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
- "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
- "dev": true
- },
- "@types/istanbul-lib-report": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
- "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "*"
- }
- },
- "@types/istanbul-reports": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
- "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-report": "*"
- }
- },
- "@types/jest": {
- "version": "29.5.12",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
- "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
- "dev": true,
- "requires": {
- "expect": "^29.0.0",
- "pretty-format": "^29.0.0"
- }
- },
- "@types/js-yaml": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
- "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
- "dev": true
- },
- "@types/lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==",
- "dev": true
- },
- "@types/node": {
- "version": "20.12.13",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
- "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
- "dev": true,
- "requires": {
- "undici-types": "~5.26.4"
- }
- },
- "@types/stack-utils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
- "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
- "dev": true
- },
- "@types/yargs": {
- "version": "17.0.32",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
- "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
- "dev": true,
- "requires": {
- "@types/yargs-parser": "*"
- }
- },
- "@types/yargs-parser": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
- "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
- "dev": true
- },
- "@typescript-eslint/eslint-plugin": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz",
- "integrity": "sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==",
- "dev": true,
- "requires": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/type-utils": "7.10.0",
- "@typescript-eslint/utils": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^1.3.0"
- }
- },
- "@typescript-eslint/parser": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz",
- "integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/typescript-estree": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz",
- "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0"
- }
- },
- "@typescript-eslint/type-utils": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz",
- "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==",
- "dev": true,
- "requires": {
- "@typescript-eslint/typescript-estree": "7.10.0",
- "@typescript-eslint/utils": "7.10.0",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz",
- "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz",
- "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/visitor-keys": "7.10.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "9.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
- "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- }
- }
- },
- "@typescript-eslint/utils": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz",
- "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "7.10.0",
- "@typescript-eslint/types": "7.10.0",
- "@typescript-eslint/typescript-estree": "7.10.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz",
- "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "7.10.0",
- "eslint-visitor-keys": "^3.4.3"
- }
- },
- "@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "dev": true
- },
- "acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
- },
- "acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
- "dev": true
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "async": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
- "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
- "dev": true
- },
- "autorest": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.7.1.tgz",
- "integrity": "sha512-6q17NtosQZPqBkIOUnaOPedf3PDIBF7Ha1iEGRhTqZF6TG2Q/1E3ID/D+ePIIzZDKvW01p/2pENq/oiBWH9IGQ==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "bicep-types": {
- "version": "file:../../../../bicep-types/src/bicep-types",
- "requires": {
- "@types/jest": "^29.0.3",
- "@types/node": "^20.1.0",
- "@typescript-eslint/eslint-plugin": "^7.0.2",
- "@typescript-eslint/parser": "^7.0.2",
- "eslint": "^8.23.1",
- "eslint-plugin-header": "^3.1.1",
- "eslint-plugin-jest": "^28.2.0",
- "jest": "^29.0.3",
- "nerdbank-gitversioning": "^3.5.113",
- "ts-jest": "^29.0.1",
- "ts-node": "^10.9.1",
- "typescript": "^5.0.2"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "requires": {
- "fill-range": "^7.1.1"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "ci-info": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
- "dev": true
- },
- "cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- },
- "commonmark": {
- "version": "0.28.1",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
- "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
- "dev": true,
- "requires": {
- "entities": "~ 1.1.1",
- "mdurl": "~ 1.0.1",
- "minimist": "~ 1.2.0",
- "string.prototype.repeat": "^0.2.0"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
- },
- "diff-sequences": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
- "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
- "dev": true,
- "requires": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- }
- },
- "eslint-plugin-header": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz",
- "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==",
- "dev": true,
- "requires": {}
- },
- "eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true
- },
- "espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
- "dev": true,
- "requires": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "expect": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
- "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
- "dev": true,
- "requires": {
- "@jest/expect-utils": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "jest-matcher-utils": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-util": "^29.7.0"
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
- },
- "fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "requires": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
- "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
- "dev": true
- },
- "front-matter": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
- "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
- "dev": true,
- "requires": {
- "js-yaml": "^3.13.1"
- },
- "dependencies": {
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- }
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "jest-diff": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
- "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^29.6.3",
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- }
- },
- "jest-get-type": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
- "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
- "dev": true
- },
- "jest-matcher-utils": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
- "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "jest-diff": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- }
- },
- "jest-message-util": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
- "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.6.3",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^29.7.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- }
- },
- "jest-util": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
- "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
- "dev": true,
- "requires": {
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
- },
- "mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
- },
- "pretty-format": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
- "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
- "dev": true,
- "requires": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true
- }
- }
- },
- "punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
- "dev": true
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "stack-utils": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
- "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^2.0.0"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "dev": true
- }
- }
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "string.prototype.repeat": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
- "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "ts-api-utils": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
- "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
- "dev": true,
- "requires": {}
- },
- "ts-node": {
- "version": "10.9.2",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
- "dev": true,
- "requires": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- }
- },
- "tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
- "dev": true,
- "peer": true
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
- },
- "typescript": {
- "version": "5.4.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
- "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
- "dev": true
- },
- "undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
- "yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "requires": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- }
- },
- "yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true
- },
- "yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true
- }
}
}
diff --git a/hack/bicep-types-radius/src/generator/package.json b/hack/bicep-types-radius/src/generator/package.json
index ddefb0fe869..9ea599c1654 100644
--- a/hack/bicep-types-radius/src/generator/package.json
+++ b/hack/bicep-types-radius/src/generator/package.json
@@ -28,23 +28,23 @@
"@autorest/modelerfour": "^4.27.0",
"@ts-common/commonmark-to-markdown": "^2.0.2",
"@types/async": "^3.2.24",
- "@types/jest": "^29.5.12",
+ "@types/jest": "^29.5.13",
"@types/js-yaml": "^4.0.9",
- "@types/lodash": "^4.17.4",
- "@types/node": "^20.12.12",
- "@types/yargs": "^17.0.32",
- "@typescript-eslint/eslint-plugin": "^7.10.0",
- "@typescript-eslint/parser": "^7.10.0",
- "async": "^3.2.5",
+ "@types/lodash": "^4.17.10",
+ "@types/node": "^22.7.5",
+ "@types/yargs": "^17.0.33",
+ "@typescript-eslint/eslint-plugin": "^8.8.1",
+ "@typescript-eslint/parser": "^8.8.1",
+ "async": "^3.2.6",
"autorest": "^3.7.1",
"bicep-types": "file:../../../../bicep-types/src/bicep-types",
"colors": "^1.4.0",
- "eslint": "^8.56.0",
+ "eslint": "^9.12.0",
"eslint-plugin-header": "^3.1.1",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"ts-node": "^10.9.2",
- "typescript": "^5.4.5",
+ "typescript": "^5.6.3",
"yargs": "^17.7.2"
}
}
\ No newline at end of file
From 38fcc3e5b705df25d77bee4242948d1ec49013d3 Mon Sep 17 00:00:00 2001
From: Yetkin Timocin
Date: Mon, 14 Oct 2024 11:12:14 -0700
Subject: [PATCH 09/27] Updating typespec version and tsp files (#7939)
# Description
Updating typespec version and some tsp files with that version update.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #issue_number
Signed-off-by: ytimocin
---
.../2023-10-01-preview/types.json | 742 +++++-----
.../2023-10-01-preview/types.json | 272 ++--
.../2023-10-01-preview/types.json | 217 +--
.../2023-10-01-preview/types.json | 89 +-
hack/bicep-types-radius/generated/index.json | 30 +-
.../src/autorest.bicep/package-lock.json | 6 +-
.../src/generator/package-lock.json | 24 +
.../zz_generated_constants.go | 32 +-
.../zz_generated_containers_client.go | 2 +-
.../zz_generated_extenders_client.go | 4 +-
.../zz_generated_gateways_client.go | 2 +-
.../zz_generated_interfaces.go | 18 -
.../v20231001preview/zz_generated_models.go | 463 ++-----
.../zz_generated_models_serde.go | 1106 +++------------
.../zz_generated_polymorphic_helpers.go | 63 -
.../zz_generated_response_types.go | 4 +-
.../zz_generated_secretstores_client.go | 2 +-
.../zz_generated_volumes_client.go | 2 +-
...zz_generated_configurationstores_client.go | 2 +-
.../zz_generated_constants.go | 26 +-
.../v20231001preview/zz_generated_models.go | 188 +--
.../zz_generated_models_serde.go | 412 ++----
.../zz_generated_pubsubbrokers_client.go | 2 +-
.../zz_generated_secretstores_client.go | 2 +-
.../zz_generated_statestores_client.go | 2 +-
.../zz_generated_constants.go | 26 +-
.../v20231001preview/zz_generated_models.go | 154 +--
.../zz_generated_models_serde.go | 311 ++---
.../zz_generated_mongodatabases_client.go | 2 +-
.../zz_generated_rediscaches_client.go | 2 +-
.../zz_generated_sqldatabases_client.go | 2 +-
.../zz_generated_constants.go | 26 +-
.../v20231001preview/zz_generated_models.go | 76 +-
.../zz_generated_models_serde.go | 161 +--
.../zz_generated_rabbitmqqueues_client.go | 2 +-
.../zz_generated_constants.go | 28 +-
.../preview/2023-10-01-preview/openapi.json | 1220 ++++++-----------
.../preview/2023-10-01-preview/openapi.json | 519 ++-----
.../preview/2023-10-01-preview/openapi.json | 432 ++----
.../preview/2023-10-01-preview/openapi.json | 226 +--
.../preview/2023-10-01-preview/openapi.json | 297 ++--
typespec/Applications.Core/containers.tsp | 6 +-
typespec/Applications.Core/extenders.tsp | 4 +-
typespec/Applications.Core/gateways.tsp | 2 +-
typespec/Applications.Core/main.tsp | 2 +-
.../{secretstores.tsp => secretStores.tsp} | 2 +-
typespec/Applications.Core/tspconfig.yaml | 2 +-
typespec/Applications.Core/volumes.tsp | 2 +-
.../Applications.Dapr/configurationStores.tsp | 2 +-
typespec/Applications.Dapr/pubSubBrokers.tsp | 2 +-
typespec/Applications.Dapr/secretStores.tsp | 2 +-
typespec/Applications.Dapr/stateStores.tsp | 2 +-
typespec/Applications.Dapr/tspconfig.yaml | 2 +-
.../mongoDatabases.tsp | 2 +-
.../Applications.Datastores/redisCaches.tsp | 2 +-
.../Applications.Datastores/sqlDatabases.tsp | 2 +-
.../Applications.Datastores/tspconfig.yaml | 2 +-
.../Applications.Messaging/rabbitMQQueues.tsp | 2 +-
.../Applications.Messaging/tspconfig.yaml | 2 +-
typespec/Test.Resource/testasyncresources.tsp | 2 +-
typespec/Test.Resource/tspconfig.yaml | 2 +-
typespec/UCP/common.tsp | 4 +
typespec/UCP/resourceproviders.tsp | 12 +-
typespec/UCP/tspconfig.yaml | 2 +-
typespec/UCP/ucp-operations.tsp | 24 +-
typespec/package-lock.json | 728 +++++-----
typespec/radius/v1/resources.tsp | 20 +-
typespec/radius/v1/trackedresource.tsp | 2 +-
typespec/radius/v1/ucprootscope.tsp | 2 +-
69 files changed, 2691 insertions(+), 5345 deletions(-)
rename typespec/Applications.Core/{secretstores.tsp => secretStores.tsp} (98%)
diff --git a/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json
index c815c02d90a..de7e165ebc7 100644
--- a/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json
+++ b/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json
@@ -51,7 +51,7 @@
},
"tags": {
"type": {
- "$ref": "#/41"
+ "$ref": "#/42"
},
"flags": 0,
"description": "Resource tags."
@@ -65,7 +65,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -78,7 +78,7 @@
"properties": {
"provisioningState": {
"type": {
- "$ref": "#/12"
+ "$ref": "#/13"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
@@ -92,14 +92,14 @@
},
"extensions": {
"type": {
- "$ref": "#/28"
+ "$ref": "#/29"
},
"flags": 0,
"description": "The application extension."
},
"status": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 2,
"description": "Status of a resource."
@@ -108,15 +108,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -124,15 +128,15 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
@@ -157,6 +161,9 @@
},
{
"$ref": "#/11"
+ },
+ {
+ "$ref": "#/12"
}
]
},
@@ -167,16 +174,16 @@
"baseProperties": {},
"elements": {
"daprSidecar": {
- "$ref": "#/14"
+ "$ref": "#/15"
},
"kubernetesMetadata": {
- "$ref": "#/20"
+ "$ref": "#/21"
},
"kubernetesNamespace": {
- "$ref": "#/24"
+ "$ref": "#/25"
},
"manualScaling": {
- "$ref": "#/26"
+ "$ref": "#/27"
}
}
},
@@ -186,7 +193,7 @@
"properties": {
"appPort": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "The Dapr appPort. Specifies the internal listening port for the application to handle requests from the Dapr sidecar."
@@ -207,14 +214,14 @@
},
"protocol": {
"type": {
- "$ref": "#/18"
+ "$ref": "#/19"
},
"flags": 0,
"description": "The Dapr sidecar extension protocol"
},
"kind": {
"type": {
- "$ref": "#/19"
+ "$ref": "#/20"
},
"flags": 1,
"description": "Discriminator property for Extension."
@@ -236,10 +243,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/16"
+ "$ref": "#/17"
},
{
- "$ref": "#/17"
+ "$ref": "#/18"
}
]
},
@@ -253,21 +260,21 @@
"properties": {
"annotations": {
"type": {
- "$ref": "#/21"
+ "$ref": "#/22"
},
"flags": 0,
"description": "Annotations to be applied to the Kubernetes resources output by the resource"
},
"labels": {
"type": {
- "$ref": "#/22"
+ "$ref": "#/23"
},
"flags": 0,
"description": "Labels to be applied to the Kubernetes resources output by the resource"
},
"kind": {
"type": {
- "$ref": "#/23"
+ "$ref": "#/24"
},
"flags": 1,
"description": "Discriminator property for Extension."
@@ -307,7 +314,7 @@
},
"kind": {
"type": {
- "$ref": "#/25"
+ "$ref": "#/26"
},
"flags": 1,
"description": "Discriminator property for Extension."
@@ -324,14 +331,14 @@
"properties": {
"replicas": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 1,
"description": "Replica count."
},
"kind": {
"type": {
- "$ref": "#/27"
+ "$ref": "#/28"
},
"flags": 1,
"description": "Discriminator property for Extension."
@@ -345,7 +352,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/13"
+ "$ref": "#/14"
}
},
{
@@ -354,21 +361,21 @@
"properties": {
"compute": {
"type": {
- "$ref": "#/30"
+ "$ref": "#/31"
},
"flags": 0,
"description": "Represents backing compute resource"
},
"recipe": {
"type": {
- "$ref": "#/37"
+ "$ref": "#/38"
},
"flags": 2,
"description": "Recipe status at deployment time for a resource."
},
"outputResources": {
"type": {
- "$ref": "#/40"
+ "$ref": "#/41"
},
"flags": 0,
"description": "Properties of an output resource"
@@ -389,7 +396,7 @@
},
"identity": {
"type": {
- "$ref": "#/31"
+ "$ref": "#/32"
},
"flags": 0,
"description": "IdentitySettings is the external identity setting."
@@ -397,7 +404,7 @@
},
"elements": {
"kubernetes": {
- "$ref": "#/35"
+ "$ref": "#/36"
}
}
},
@@ -407,7 +414,7 @@
"properties": {
"kind": {
"type": {
- "$ref": "#/34"
+ "$ref": "#/35"
},
"flags": 1,
"description": "IdentitySettingKind is the kind of supported external identity setting"
@@ -440,10 +447,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/32"
+ "$ref": "#/33"
},
{
- "$ref": "#/33"
+ "$ref": "#/34"
}
]
},
@@ -460,7 +467,7 @@
},
"kind": {
"type": {
- "$ref": "#/36"
+ "$ref": "#/37"
},
"flags": 1,
"description": "Discriminator property for EnvironmentCompute."
@@ -518,7 +525,7 @@
},
"radiusManaged": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "Determines whether Radius manages the lifecycle of the underlying resource."
@@ -531,7 +538,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/38"
+ "$ref": "#/39"
}
},
{
@@ -555,7 +562,7 @@
},
"createdByType": {
"type": {
- "$ref": "#/47"
+ "$ref": "#/48"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -576,7 +583,7 @@
},
"lastModifiedByType": {
"type": {
- "$ref": "#/52"
+ "$ref": "#/53"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -609,9 +616,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/43"
- },
{
"$ref": "#/44"
},
@@ -620,6 +624,9 @@
},
{
"$ref": "#/46"
+ },
+ {
+ "$ref": "#/47"
}
]
},
@@ -642,9 +649,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/48"
- },
{
"$ref": "#/49"
},
@@ -653,6 +657,9 @@
},
{
"$ref": "#/51"
+ },
+ {
+ "$ref": "#/52"
}
]
},
@@ -694,28 +701,28 @@
},
"type": {
"type": {
- "$ref": "#/54"
+ "$ref": "#/55"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/55"
+ "$ref": "#/56"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/57"
+ "$ref": "#/58"
},
"flags": 1,
"description": "Container properties"
},
"tags": {
"type": {
- "$ref": "#/121"
+ "$ref": "#/125"
},
"flags": 0,
"description": "Resource tags."
@@ -729,7 +736,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -756,70 +763,70 @@
},
"provisioningState": {
"type": {
- "$ref": "#/65"
+ "$ref": "#/67"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 2,
"description": "Status of a resource."
},
"container": {
"type": {
- "$ref": "#/66"
+ "$ref": "#/68"
},
"flags": 1,
"description": "Definition of a container"
},
"connections": {
"type": {
- "$ref": "#/106"
+ "$ref": "#/110"
},
"flags": 0,
"description": "Specifies a connection to another resource."
},
"identity": {
"type": {
- "$ref": "#/31"
+ "$ref": "#/32"
},
"flags": 0,
"description": "IdentitySettings is the external identity setting."
},
"extensions": {
"type": {
- "$ref": "#/107"
+ "$ref": "#/111"
},
"flags": 0,
"description": "Extensions spec of the resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/110"
+ "$ref": "#/114"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'internal', where Radius manages the lifecycle of the resource internally, and 'manual', where a user manages the resource."
},
"resources": {
"type": {
- "$ref": "#/112"
+ "$ref": "#/116"
},
"flags": 0,
"description": "A collection of references to resources associated with the container"
},
"restartPolicy": {
"type": {
- "$ref": "#/116"
+ "$ref": "#/120"
},
"flags": 0,
"description": "Restart policy for the container"
},
"runtimes": {
"type": {
- "$ref": "#/117"
+ "$ref": "#/121"
},
"flags": 0,
"description": "The properties for runtime configuration"
@@ -828,15 +835,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -844,22 +855,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/58"
- },
{
"$ref": "#/59"
},
@@ -877,6 +885,12 @@
},
{
"$ref": "#/64"
+ },
+ {
+ "$ref": "#/65"
+ },
+ {
+ "$ref": "#/66"
}
]
},
@@ -893,56 +907,56 @@
},
"imagePullPolicy": {
"type": {
- "$ref": "#/70"
+ "$ref": "#/72"
},
"flags": 0,
"description": "The image pull policy for the container"
},
"env": {
"type": {
- "$ref": "#/74"
+ "$ref": "#/76"
},
"flags": 0,
"description": "environment"
},
"ports": {
"type": {
- "$ref": "#/79"
+ "$ref": "#/81"
},
"flags": 0,
"description": "container ports"
},
"readinessProbe": {
"type": {
- "$ref": "#/80"
+ "$ref": "#/82"
},
"flags": 0,
"description": "Properties for readiness/liveness probe"
},
"livenessProbe": {
"type": {
- "$ref": "#/80"
+ "$ref": "#/82"
},
"flags": 0,
"description": "Properties for readiness/liveness probe"
},
"volumes": {
"type": {
- "$ref": "#/99"
+ "$ref": "#/101"
},
"flags": 0,
"description": "container volumes"
},
"command": {
"type": {
- "$ref": "#/100"
+ "$ref": "#/102"
},
"flags": 0,
"description": "Entrypoint array. Overrides the container image's ENTRYPOINT"
},
"args": {
"type": {
- "$ref": "#/101"
+ "$ref": "#/103"
},
"flags": 0,
"description": "Arguments to the entrypoint. Overrides the container image's CMD"
@@ -972,13 +986,13 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/67"
+ "$ref": "#/69"
},
{
- "$ref": "#/68"
+ "$ref": "#/70"
},
{
- "$ref": "#/69"
+ "$ref": "#/71"
}
]
},
@@ -995,7 +1009,7 @@
},
"valueFrom": {
"type": {
- "$ref": "#/72"
+ "$ref": "#/74"
},
"flags": 0,
"description": "The reference to the variable"
@@ -1008,7 +1022,7 @@
"properties": {
"secretRef": {
"type": {
- "$ref": "#/73"
+ "$ref": "#/75"
},
"flags": 1,
"description": "This secret is used within a recipe. Secrets are encrypted, often have fine-grained access control, auditing and are recommended to be used to hold sensitive data."
@@ -1040,7 +1054,7 @@
"name": "ContainerEnv",
"properties": {},
"additionalProperties": {
- "$ref": "#/71"
+ "$ref": "#/73"
}
},
{
@@ -1049,14 +1063,14 @@
"properties": {
"containerPort": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 1,
"description": "The listening port number"
},
"protocol": {
"type": {
- "$ref": "#/78"
+ "$ref": "#/80"
},
"flags": 0,
"description": "The protocol in use by the port"
@@ -1070,7 +1084,7 @@
},
"port": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "Specifies the port that will be exposed by this container. Must be set when value different from containerPort is desired"
@@ -1089,10 +1103,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/76"
+ "$ref": "#/78"
},
{
- "$ref": "#/77"
+ "$ref": "#/79"
}
]
},
@@ -1101,7 +1115,7 @@
"name": "ContainerPorts",
"properties": {},
"additionalProperties": {
- "$ref": "#/75"
+ "$ref": "#/77"
}
},
{
@@ -1111,28 +1125,28 @@
"baseProperties": {
"initialDelaySeconds": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "Initial delay in seconds before probing for readiness/liveness"
},
"failureThreshold": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "Threshold number of times the probe fails after which a failure would be reported"
},
"periodSeconds": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "Interval for the readiness/liveness probe in seconds"
},
"timeoutSeconds": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "Number of seconds after which the readiness/liveness probe times out. Defaults to 5 seconds"
@@ -1140,13 +1154,13 @@
},
"elements": {
"exec": {
- "$ref": "#/81"
+ "$ref": "#/83"
},
"httpGet": {
- "$ref": "#/83"
+ "$ref": "#/85"
},
"tcp": {
- "$ref": "#/86"
+ "$ref": "#/88"
}
}
},
@@ -1163,7 +1177,7 @@
},
"kind": {
"type": {
- "$ref": "#/82"
+ "$ref": "#/84"
},
"flags": 1,
"description": "Discriminator property for HealthProbeProperties."
@@ -1180,7 +1194,7 @@
"properties": {
"containerPort": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 1,
"description": "The listening port number"
@@ -1194,14 +1208,14 @@
},
"headers": {
"type": {
- "$ref": "#/84"
+ "$ref": "#/86"
},
"flags": 0,
"description": "Custom HTTP headers to add to the get request"
},
"kind": {
"type": {
- "$ref": "#/85"
+ "$ref": "#/87"
},
"flags": 1,
"description": "Discriminator property for HealthProbeProperties."
@@ -1226,14 +1240,14 @@
"properties": {
"containerPort": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 1,
"description": "The listening port number"
},
"kind": {
"type": {
- "$ref": "#/87"
+ "$ref": "#/89"
},
"flags": 1,
"description": "Discriminator property for HealthProbeProperties."
@@ -1259,10 +1273,10 @@
},
"elements": {
"ephemeral": {
- "$ref": "#/89"
+ "$ref": "#/91"
},
"persistent": {
- "$ref": "#/94"
+ "$ref": "#/96"
}
}
},
@@ -1272,14 +1286,14 @@
"properties": {
"managedStore": {
"type": {
- "$ref": "#/92"
+ "$ref": "#/94"
},
"flags": 1,
"description": "The managed store for the ephemeral volume"
},
"kind": {
"type": {
- "$ref": "#/93"
+ "$ref": "#/95"
},
"flags": 1,
"description": "Discriminator property for Volume."
@@ -1298,10 +1312,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/90"
+ "$ref": "#/92"
},
{
- "$ref": "#/91"
+ "$ref": "#/93"
}
]
},
@@ -1315,7 +1329,7 @@
"properties": {
"permission": {
"type": {
- "$ref": "#/97"
+ "$ref": "#/99"
},
"flags": 0,
"description": "The persistent volume permission"
@@ -1329,7 +1343,7 @@
},
"kind": {
"type": {
- "$ref": "#/98"
+ "$ref": "#/100"
},
"flags": 1,
"description": "Discriminator property for Volume."
@@ -1348,10 +1362,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/95"
+ "$ref": "#/97"
},
{
- "$ref": "#/96"
+ "$ref": "#/98"
}
]
},
@@ -1364,7 +1378,7 @@
"name": "ContainerVolumes",
"properties": {},
"additionalProperties": {
- "$ref": "#/88"
+ "$ref": "#/90"
}
},
{
@@ -1392,14 +1406,14 @@
},
"disableDefaultEnvVars": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "default environment variable override"
},
"iam": {
"type": {
- "$ref": "#/103"
+ "$ref": "#/105"
},
"flags": 0,
"description": "IAM properties"
@@ -1412,14 +1426,14 @@
"properties": {
"kind": {
"type": {
- "$ref": "#/104"
+ "$ref": "#/108"
},
"flags": 1,
"description": "The kind of IAM provider to configure"
},
"roles": {
"type": {
- "$ref": "#/105"
+ "$ref": "#/109"
},
"flags": 0,
"description": "RBAC permissions to be assigned on the source resource"
@@ -1430,6 +1444,21 @@
"$type": "StringLiteralType",
"value": "azure"
},
+ {
+ "$type": "StringLiteralType",
+ "value": "string"
+ },
+ {
+ "$type": "UnionType",
+ "elements": [
+ {
+ "$ref": "#/106"
+ },
+ {
+ "$ref": "#/107"
+ }
+ ]
+ },
{
"$type": "ArrayType",
"itemType": {
@@ -1441,13 +1470,13 @@
"name": "ContainerPropertiesConnections",
"properties": {},
"additionalProperties": {
- "$ref": "#/102"
+ "$ref": "#/104"
}
},
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/13"
+ "$ref": "#/14"
}
},
{
@@ -1462,10 +1491,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/108"
+ "$ref": "#/112"
},
{
- "$ref": "#/109"
+ "$ref": "#/113"
}
]
},
@@ -1485,7 +1514,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/111"
+ "$ref": "#/115"
}
},
{
@@ -1504,13 +1533,13 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/113"
+ "$ref": "#/117"
},
{
- "$ref": "#/114"
+ "$ref": "#/118"
},
{
- "$ref": "#/115"
+ "$ref": "#/119"
}
]
},
@@ -1520,7 +1549,7 @@
"properties": {
"kubernetes": {
"type": {
- "$ref": "#/118"
+ "$ref": "#/122"
},
"flags": 0,
"description": "The runtime configuration properties for Kubernetes"
@@ -1540,7 +1569,7 @@
},
"pod": {
"type": {
- "$ref": "#/120"
+ "$ref": "#/124"
},
"flags": 0,
"description": "A strategic merge patch that will be applied to the PodSpec object when this container is being deployed."
@@ -1555,7 +1584,7 @@
"name": "KubernetesPodSpec",
"properties": {},
"additionalProperties": {
- "$ref": "#/119"
+ "$ref": "#/123"
}
},
{
@@ -1571,7 +1600,7 @@
"name": "Applications.Core/containers@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/56"
+ "$ref": "#/57"
},
"flags": 0,
"functions": {}
@@ -1604,28 +1633,28 @@
},
"type": {
"type": {
- "$ref": "#/123"
+ "$ref": "#/127"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/124"
+ "$ref": "#/128"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/126"
+ "$ref": "#/130"
},
"flags": 1,
"description": "Environment properties"
},
"tags": {
"type": {
- "$ref": "#/161"
+ "$ref": "#/166"
},
"flags": 0,
"description": "Resource tags."
@@ -1639,7 +1668,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -1652,49 +1681,49 @@
"properties": {
"provisioningState": {
"type": {
- "$ref": "#/134"
+ "$ref": "#/139"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"compute": {
"type": {
- "$ref": "#/30"
+ "$ref": "#/31"
},
"flags": 1,
"description": "Represents backing compute resource"
},
"providers": {
"type": {
- "$ref": "#/135"
+ "$ref": "#/140"
},
"flags": 0,
"description": "The Cloud providers configuration."
},
"simulated": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "Simulated environment."
},
"recipes": {
"type": {
- "$ref": "#/144"
+ "$ref": "#/149"
},
"flags": 0,
"description": "Specifies Recipes linked to the Environment."
},
"recipeConfig": {
"type": {
- "$ref": "#/145"
+ "$ref": "#/150"
},
"flags": 0,
"description": "Configuration for Recipes. Defines how each type of Recipe should be configured and run."
},
"extensions": {
"type": {
- "$ref": "#/160"
+ "$ref": "#/165"
},
"flags": 0,
"description": "The environment extension."
@@ -1703,15 +1732,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -1719,39 +1752,42 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
{
- "$ref": "#/127"
+ "$ref": "#/131"
},
{
- "$ref": "#/128"
+ "$ref": "#/132"
},
{
- "$ref": "#/129"
+ "$ref": "#/133"
},
{
- "$ref": "#/130"
+ "$ref": "#/134"
},
{
- "$ref": "#/131"
+ "$ref": "#/135"
},
{
- "$ref": "#/132"
+ "$ref": "#/136"
},
{
- "$ref": "#/133"
+ "$ref": "#/137"
+ },
+ {
+ "$ref": "#/138"
}
]
},
@@ -1761,14 +1797,14 @@
"properties": {
"azure": {
"type": {
- "$ref": "#/136"
+ "$ref": "#/141"
},
"flags": 0,
"description": "The Azure cloud provider definition."
},
"aws": {
"type": {
- "$ref": "#/137"
+ "$ref": "#/142"
},
"flags": 0,
"description": "The AWS cloud provider definition."
@@ -1815,7 +1851,7 @@
},
"parameters": {
"type": {
- "$ref": "#/119"
+ "$ref": "#/123"
},
"flags": 0,
"description": "Any object"
@@ -1823,10 +1859,10 @@
},
"elements": {
"bicep": {
- "$ref": "#/139"
+ "$ref": "#/144"
},
"terraform": {
- "$ref": "#/141"
+ "$ref": "#/146"
}
}
},
@@ -1836,14 +1872,14 @@
"properties": {
"plainHttp": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "Connect to the Bicep registry using HTTP (not-HTTPS). This should be used when the registry is known not to support HTTPS, for example in a locally-hosted registry. Defaults to false (use HTTPS/TLS)."
},
"templateKind": {
"type": {
- "$ref": "#/140"
+ "$ref": "#/145"
},
"flags": 1,
"description": "Discriminator property for RecipeProperties."
@@ -1867,7 +1903,7 @@
},
"templateKind": {
"type": {
- "$ref": "#/142"
+ "$ref": "#/147"
},
"flags": 1,
"description": "Discriminator property for RecipeProperties."
@@ -1883,7 +1919,7 @@
"name": "DictionaryOfRecipeProperties",
"properties": {},
"additionalProperties": {
- "$ref": "#/138"
+ "$ref": "#/143"
}
},
{
@@ -1891,7 +1927,7 @@
"name": "EnvironmentPropertiesRecipes",
"properties": {},
"additionalProperties": {
- "$ref": "#/143"
+ "$ref": "#/148"
}
},
{
@@ -1900,28 +1936,28 @@
"properties": {
"terraform": {
"type": {
- "$ref": "#/146"
+ "$ref": "#/151"
},
"flags": 0,
"description": "Configuration for Terraform Recipes. Controls how Terraform plans and applies templates as part of Recipe deployment."
},
"bicep": {
"type": {
- "$ref": "#/155"
+ "$ref": "#/160"
},
"flags": 0,
"description": "Configuration for Bicep Recipes. Controls how Bicep plans and applies templates as part of Recipe deployment."
},
"env": {
"type": {
- "$ref": "#/158"
+ "$ref": "#/163"
},
"flags": 0,
"description": "The environment variables injected during Terraform Recipe execution for the recipes in the environment."
},
"envSecrets": {
"type": {
- "$ref": "#/159"
+ "$ref": "#/164"
},
"flags": 0,
"description": "Environment variables containing sensitive information can be stored as secrets. The secrets are stored in Applications.Core/SecretStores resource."
@@ -1934,14 +1970,14 @@
"properties": {
"authentication": {
"type": {
- "$ref": "#/147"
+ "$ref": "#/152"
},
"flags": 0,
"description": "Authentication information used to access private Terraform module sources. Supported module sources: Git."
},
"providers": {
"type": {
- "$ref": "#/154"
+ "$ref": "#/159"
},
"flags": 0,
"description": "Configuration for Terraform Recipe Providers. Controls how Terraform interacts with cloud providers, SaaS providers, and other APIs. For more information, please see: https://developer.hashicorp.com/terraform/language/providers/configuration."
@@ -1954,7 +1990,7 @@
"properties": {
"git": {
"type": {
- "$ref": "#/148"
+ "$ref": "#/153"
},
"flags": 0,
"description": "Authentication information used to access private Terraform modules from Git repository sources."
@@ -1967,7 +2003,7 @@
"properties": {
"pat": {
"type": {
- "$ref": "#/150"
+ "$ref": "#/155"
},
"flags": 0,
"description": "Personal Access Token (PAT) configuration used to authenticate to Git platforms."
@@ -1992,7 +2028,7 @@
"name": "GitAuthConfigPat",
"properties": {},
"additionalProperties": {
- "$ref": "#/149"
+ "$ref": "#/154"
}
},
{
@@ -2001,14 +2037,14 @@
"properties": {
"secrets": {
"type": {
- "$ref": "#/152"
+ "$ref": "#/157"
},
"flags": 0,
"description": "Sensitive data in provider configuration can be stored as secrets. The secrets are stored in Applications.Core/SecretStores resource."
}
},
"additionalProperties": {
- "$ref": "#/119"
+ "$ref": "#/123"
}
},
{
@@ -2016,13 +2052,13 @@
"name": "ProviderConfigPropertiesSecrets",
"properties": {},
"additionalProperties": {
- "$ref": "#/73"
+ "$ref": "#/75"
}
},
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/151"
+ "$ref": "#/156"
}
},
{
@@ -2030,7 +2066,7 @@
"name": "TerraformConfigPropertiesProviders",
"properties": {},
"additionalProperties": {
- "$ref": "#/153"
+ "$ref": "#/158"
}
},
{
@@ -2039,7 +2075,7 @@
"properties": {
"authentication": {
"type": {
- "$ref": "#/157"
+ "$ref": "#/162"
},
"flags": 0,
"description": "Authentication information used to access private bicep registries, which is a map of registry hostname to secret config that contains credential information."
@@ -2064,7 +2100,7 @@
"name": "BicepConfigPropertiesAuthentication",
"properties": {},
"additionalProperties": {
- "$ref": "#/156"
+ "$ref": "#/161"
}
},
{
@@ -2080,13 +2116,13 @@
"name": "RecipeConfigPropertiesEnvSecrets",
"properties": {},
"additionalProperties": {
- "$ref": "#/73"
+ "$ref": "#/75"
}
},
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/13"
+ "$ref": "#/14"
}
},
{
@@ -2102,7 +2138,7 @@
"name": "Applications.Core/environments@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/125"
+ "$ref": "#/129"
},
"flags": 0,
"functions": {}
@@ -2135,28 +2171,28 @@
},
"type": {
"type": {
- "$ref": "#/163"
+ "$ref": "#/168"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/164"
+ "$ref": "#/169"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/166"
+ "$ref": "#/171"
},
"flags": 1,
"description": "ExtenderResource portable resource properties"
},
"tags": {
"type": {
- "$ref": "#/179"
+ "$ref": "#/185"
},
"flags": 0,
"description": "Resource tags."
@@ -2170,7 +2206,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -2197,55 +2233,59 @@
},
"provisioningState": {
"type": {
- "$ref": "#/174"
+ "$ref": "#/180"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 2,
"description": "Status of a resource."
},
"secrets": {
"type": {
- "$ref": "#/119"
+ "$ref": "#/123"
},
"flags": 0,
"description": "Any object"
},
"recipe": {
"type": {
- "$ref": "#/175"
+ "$ref": "#/181"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/178"
+ "$ref": "#/184"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
}
},
"additionalProperties": {
- "$ref": "#/119"
+ "$ref": "#/123"
}
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -2253,39 +2293,42 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
{
- "$ref": "#/167"
+ "$ref": "#/172"
},
{
- "$ref": "#/168"
+ "$ref": "#/173"
},
{
- "$ref": "#/169"
+ "$ref": "#/174"
},
{
- "$ref": "#/170"
+ "$ref": "#/175"
},
{
- "$ref": "#/171"
+ "$ref": "#/176"
},
{
- "$ref": "#/172"
+ "$ref": "#/177"
},
{
- "$ref": "#/173"
+ "$ref": "#/178"
+ },
+ {
+ "$ref": "#/179"
}
]
},
@@ -2302,7 +2345,7 @@
},
"parameters": {
"type": {
- "$ref": "#/119"
+ "$ref": "#/123"
},
"flags": 0,
"description": "Any object"
@@ -2321,10 +2364,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/176"
+ "$ref": "#/182"
},
{
- "$ref": "#/177"
+ "$ref": "#/183"
}
]
},
@@ -2336,11 +2379,19 @@
"$ref": "#/0"
}
},
+ {
+ "$type": "ObjectType",
+ "name": "ExtenderListSecretResponse",
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/123"
+ }
+ },
{
"$type": "FunctionType",
"parameters": [],
"output": {
- "$ref": "#/119"
+ "$ref": "#/186"
}
},
{
@@ -2348,13 +2399,13 @@
"name": "Applications.Core/extenders@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/165"
+ "$ref": "#/170"
},
"flags": 0,
"functions": {
"listSecrets": {
"type": {
- "$ref": "#/180"
+ "$ref": "#/187"
},
"description": "listSecrets"
}
@@ -2388,28 +2439,28 @@
},
"type": {
"type": {
- "$ref": "#/182"
+ "$ref": "#/189"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/183"
+ "$ref": "#/190"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/185"
+ "$ref": "#/192"
},
"flags": 1,
"description": "Gateway properties"
},
"tags": {
"type": {
- "$ref": "#/201"
+ "$ref": "#/209"
},
"flags": 0,
"description": "Resource tags."
@@ -2423,7 +2474,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -2450,42 +2501,42 @@
},
"provisioningState": {
"type": {
- "$ref": "#/193"
+ "$ref": "#/201"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 2,
"description": "Status of a resource."
},
"internal": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "Sets Gateway to not be exposed externally (no public IP address associated). Defaults to false (exposed to internet)."
},
"hostname": {
"type": {
- "$ref": "#/194"
+ "$ref": "#/202"
},
"flags": 0,
"description": "Declare hostname information for the Gateway. Leaving the hostname empty auto-assigns one: mygateway.myapp.PUBLICHOSTNAMEORIP.nip.io."
},
"routes": {
"type": {
- "$ref": "#/196"
+ "$ref": "#/204"
},
"flags": 1,
"description": "Routes attached to this Gateway"
},
"tls": {
"type": {
- "$ref": "#/197"
+ "$ref": "#/205"
},
"flags": 0,
"description": "TLS configuration definition for Gateway resource."
@@ -2501,15 +2552,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -2517,39 +2572,42 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
{
- "$ref": "#/186"
+ "$ref": "#/193"
+ },
+ {
+ "$ref": "#/194"
},
{
- "$ref": "#/187"
+ "$ref": "#/195"
},
{
- "$ref": "#/188"
+ "$ref": "#/196"
},
{
- "$ref": "#/189"
+ "$ref": "#/197"
},
{
- "$ref": "#/190"
+ "$ref": "#/198"
},
{
- "$ref": "#/191"
+ "$ref": "#/199"
},
{
- "$ref": "#/192"
+ "$ref": "#/200"
}
]
},
@@ -2600,7 +2658,7 @@
},
"enableWebsockets": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "Enables websocket support for the route. Defaults to false."
@@ -2610,7 +2668,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/195"
+ "$ref": "#/203"
}
},
{
@@ -2619,17 +2677,17 @@
"properties": {
"sslPassthrough": {
"type": {
- "$ref": "#/39"
+ "$ref": "#/40"
},
"flags": 0,
"description": "If true, gateway lets the https traffic sslPassthrough to the backend servers for decryption."
},
"minimumProtocolVersion": {
"type": {
- "$ref": "#/200"
+ "$ref": "#/208"
},
"flags": 0,
- "description": "Tls Minimum versions for Gateway resource."
+ "description": "TLS minimum protocol version (defaults to 1.2)."
},
"certificateFrom": {
"type": {
@@ -2652,10 +2710,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/198"
+ "$ref": "#/206"
},
{
- "$ref": "#/199"
+ "$ref": "#/207"
}
]
},
@@ -2672,7 +2730,7 @@
"name": "Applications.Core/gateways@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/184"
+ "$ref": "#/191"
},
"flags": 0,
"functions": {}
@@ -2705,28 +2763,28 @@
},
"type": {
"type": {
- "$ref": "#/203"
+ "$ref": "#/211"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/204"
+ "$ref": "#/212"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/206"
+ "$ref": "#/214"
},
"flags": 1,
"description": "The properties of SecretStore"
},
"tags": {
"type": {
- "$ref": "#/227"
+ "$ref": "#/236"
},
"flags": 0,
"description": "Resource tags."
@@ -2740,7 +2798,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -2767,28 +2825,28 @@
},
"provisioningState": {
"type": {
- "$ref": "#/214"
+ "$ref": "#/223"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 2,
"description": "Status of a resource."
},
"type": {
"type": {
- "$ref": "#/220"
+ "$ref": "#/229"
},
"flags": 0,
"description": "The type of SecretStore data"
},
"data": {
"type": {
- "$ref": "#/226"
+ "$ref": "#/235"
},
"flags": 1,
"description": "An object to represent key-value type secrets"
@@ -2804,15 +2862,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -2820,39 +2882,42 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
{
- "$ref": "#/207"
+ "$ref": "#/215"
},
{
- "$ref": "#/208"
+ "$ref": "#/216"
},
{
- "$ref": "#/209"
+ "$ref": "#/217"
},
{
- "$ref": "#/210"
+ "$ref": "#/218"
},
{
- "$ref": "#/211"
+ "$ref": "#/219"
},
{
- "$ref": "#/212"
+ "$ref": "#/220"
},
{
- "$ref": "#/213"
+ "$ref": "#/221"
+ },
+ {
+ "$ref": "#/222"
}
]
},
@@ -2880,19 +2945,19 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/215"
+ "$ref": "#/224"
},
{
- "$ref": "#/216"
+ "$ref": "#/225"
},
{
- "$ref": "#/217"
+ "$ref": "#/226"
},
{
- "$ref": "#/218"
+ "$ref": "#/227"
},
{
- "$ref": "#/219"
+ "$ref": "#/228"
}
]
},
@@ -2902,7 +2967,7 @@
"properties": {
"encoding": {
"type": {
- "$ref": "#/224"
+ "$ref": "#/233"
},
"flags": 0,
"description": "The type of SecretValue Encoding"
@@ -2916,7 +2981,7 @@
},
"valueFrom": {
"type": {
- "$ref": "#/225"
+ "$ref": "#/234"
},
"flags": 0,
"description": "The Secret value source properties"
@@ -2935,10 +3000,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/222"
+ "$ref": "#/231"
},
{
- "$ref": "#/223"
+ "$ref": "#/232"
}
]
},
@@ -2967,7 +3032,7 @@
"name": "SecretStorePropertiesData",
"properties": {},
"additionalProperties": {
- "$ref": "#/221"
+ "$ref": "#/230"
}
},
{
@@ -2984,14 +3049,14 @@
"properties": {
"type": {
"type": {
- "$ref": "#/234"
+ "$ref": "#/243"
},
"flags": 2,
"description": "The type of SecretStore data"
},
"data": {
"type": {
- "$ref": "#/235"
+ "$ref": "#/244"
},
"flags": 2,
"description": "An object to represent key-value type secrets"
@@ -3022,19 +3087,19 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/229"
+ "$ref": "#/238"
},
{
- "$ref": "#/230"
+ "$ref": "#/239"
},
{
- "$ref": "#/231"
+ "$ref": "#/240"
},
{
- "$ref": "#/232"
+ "$ref": "#/241"
},
{
- "$ref": "#/233"
+ "$ref": "#/242"
}
]
},
@@ -3043,14 +3108,14 @@
"name": "SecretStoreListSecretsResultData",
"properties": {},
"additionalProperties": {
- "$ref": "#/221"
+ "$ref": "#/230"
}
},
{
"$type": "FunctionType",
"parameters": [],
"output": {
- "$ref": "#/228"
+ "$ref": "#/237"
}
},
{
@@ -3058,13 +3123,13 @@
"name": "Applications.Core/secretStores@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/205"
+ "$ref": "#/213"
},
"flags": 0,
"functions": {
"listSecrets": {
"type": {
- "$ref": "#/236"
+ "$ref": "#/245"
},
"description": "listSecrets"
}
@@ -3098,28 +3163,28 @@
},
"type": {
"type": {
- "$ref": "#/238"
+ "$ref": "#/247"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/239"
+ "$ref": "#/248"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/241"
+ "$ref": "#/250"
},
"flags": 1,
"description": "Volume properties"
},
"tags": {
"type": {
- "$ref": "#/273"
+ "$ref": "#/283"
},
"flags": 0,
"description": "Resource tags."
@@ -3133,7 +3198,7 @@
},
"systemData": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -3161,14 +3226,14 @@
},
"provisioningState": {
"type": {
- "$ref": "#/249"
+ "$ref": "#/259"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 2,
"description": "Status of a resource."
@@ -3176,21 +3241,25 @@
},
"elements": {
"azure.com.keyvault": {
- "$ref": "#/250"
+ "$ref": "#/260"
}
}
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -3198,39 +3267,42 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
{
- "$ref": "#/242"
+ "$ref": "#/251"
},
{
- "$ref": "#/243"
+ "$ref": "#/252"
},
{
- "$ref": "#/244"
+ "$ref": "#/253"
},
{
- "$ref": "#/245"
+ "$ref": "#/254"
},
{
- "$ref": "#/246"
+ "$ref": "#/255"
},
{
- "$ref": "#/247"
+ "$ref": "#/256"
},
{
- "$ref": "#/248"
+ "$ref": "#/257"
+ },
+ {
+ "$ref": "#/258"
}
]
},
@@ -3240,14 +3312,14 @@
"properties": {
"certificates": {
"type": {
- "$ref": "#/263"
+ "$ref": "#/273"
},
"flags": 0,
"description": "The KeyVault certificates that this volume exposes"
},
"keys": {
"type": {
- "$ref": "#/265"
+ "$ref": "#/275"
},
"flags": 0,
"description": "The KeyVault keys that this volume exposes"
@@ -3261,14 +3333,14 @@
},
"secrets": {
"type": {
- "$ref": "#/271"
+ "$ref": "#/281"
},
"flags": 0,
"description": "The KeyVault secrets that this volume exposes"
},
"kind": {
"type": {
- "$ref": "#/272"
+ "$ref": "#/282"
},
"flags": 1,
"description": "Discriminator property for VolumeProperties."
@@ -3288,14 +3360,14 @@
},
"encoding": {
"type": {
- "$ref": "#/255"
+ "$ref": "#/265"
},
"flags": 0,
- "description": "Represents secret encodings"
+ "description": "Encoding format. Default utf-8"
},
"format": {
"type": {
- "$ref": "#/258"
+ "$ref": "#/268"
},
"flags": 0,
"description": "Represents certificate formats"
@@ -3309,7 +3381,7 @@
},
"certType": {
"type": {
- "$ref": "#/262"
+ "$ref": "#/272"
},
"flags": 0,
"description": "Represents certificate types"
@@ -3339,13 +3411,13 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/252"
+ "$ref": "#/262"
},
{
- "$ref": "#/253"
+ "$ref": "#/263"
},
{
- "$ref": "#/254"
+ "$ref": "#/264"
}
]
},
@@ -3361,10 +3433,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/256"
+ "$ref": "#/266"
},
{
- "$ref": "#/257"
+ "$ref": "#/267"
}
]
},
@@ -3384,13 +3456,13 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/259"
+ "$ref": "#/269"
},
{
- "$ref": "#/260"
+ "$ref": "#/270"
},
{
- "$ref": "#/261"
+ "$ref": "#/271"
}
]
},
@@ -3399,7 +3471,7 @@
"name": "AzureKeyVaultVolumePropertiesCertificates",
"properties": {},
"additionalProperties": {
- "$ref": "#/251"
+ "$ref": "#/261"
}
},
{
@@ -3434,7 +3506,7 @@
"name": "AzureKeyVaultVolumePropertiesKeys",
"properties": {},
"additionalProperties": {
- "$ref": "#/264"
+ "$ref": "#/274"
}
},
{
@@ -3450,10 +3522,10 @@
},
"encoding": {
"type": {
- "$ref": "#/270"
+ "$ref": "#/280"
},
"flags": 0,
- "description": "Represents secret encodings"
+ "description": "Encoding format. Default utf-8"
},
"name": {
"type": {
@@ -3487,13 +3559,13 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/267"
+ "$ref": "#/277"
},
{
- "$ref": "#/268"
+ "$ref": "#/278"
},
{
- "$ref": "#/269"
+ "$ref": "#/279"
}
]
},
@@ -3502,7 +3574,7 @@
"name": "AzureKeyVaultVolumePropertiesSecrets",
"properties": {},
"additionalProperties": {
- "$ref": "#/266"
+ "$ref": "#/276"
}
},
{
@@ -3522,7 +3594,7 @@
"name": "Applications.Core/volumes@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/240"
+ "$ref": "#/249"
},
"flags": 0,
"functions": {}
diff --git a/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json
index 646af0908f8..1f75fe70248 100644
--- a/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json
+++ b/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json
@@ -51,7 +51,7 @@
},
"tags": {
"type": {
- "$ref": "#/36"
+ "$ref": "#/37"
},
"flags": 0,
"description": "Resource tags."
@@ -65,7 +65,7 @@
},
"systemData": {
"type": {
- "$ref": "#/37"
+ "$ref": "#/38"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -92,14 +92,14 @@
},
"provisioningState": {
"type": {
- "$ref": "#/12"
+ "$ref": "#/13"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
@@ -113,7 +113,7 @@
},
"metadata": {
"type": {
- "$ref": "#/27"
+ "$ref": "#/28"
},
"flags": 0,
"description": "The metadata for Dapr resource which must match the values specified in Dapr component spec"
@@ -134,28 +134,28 @@
},
"auth": {
"type": {
- "$ref": "#/28"
+ "$ref": "#/29"
},
"flags": 0,
"description": "Authentication properties for a Dapr component object"
},
"resources": {
"type": {
- "$ref": "#/30"
+ "$ref": "#/31"
},
"flags": 0,
"description": "A collection of references to resources associated with the configuration store"
},
"recipe": {
"type": {
- "$ref": "#/31"
+ "$ref": "#/32"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/35"
+ "$ref": "#/36"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -164,15 +164,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -180,15 +184,15 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
@@ -213,6 +217,9 @@
},
{
"$ref": "#/11"
+ },
+ {
+ "$ref": "#/12"
}
]
},
@@ -222,21 +229,21 @@
"properties": {
"compute": {
"type": {
- "$ref": "#/14"
+ "$ref": "#/15"
},
"flags": 0,
"description": "Represents backing compute resource"
},
"recipe": {
"type": {
- "$ref": "#/21"
+ "$ref": "#/22"
},
"flags": 2,
"description": "Recipe status at deployment time for a resource."
},
"outputResources": {
"type": {
- "$ref": "#/24"
+ "$ref": "#/25"
},
"flags": 0,
"description": "Properties of an output resource"
@@ -257,7 +264,7 @@
},
"identity": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "IdentitySettings is the external identity setting."
@@ -265,7 +272,7 @@
},
"elements": {
"kubernetes": {
- "$ref": "#/19"
+ "$ref": "#/20"
}
}
},
@@ -275,7 +282,7 @@
"properties": {
"kind": {
"type": {
- "$ref": "#/18"
+ "$ref": "#/19"
},
"flags": 1,
"description": "IdentitySettingKind is the kind of supported external identity setting"
@@ -308,10 +315,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/16"
+ "$ref": "#/17"
},
{
- "$ref": "#/17"
+ "$ref": "#/18"
}
]
},
@@ -328,7 +335,7 @@
},
"kind": {
"type": {
- "$ref": "#/20"
+ "$ref": "#/21"
},
"flags": 1,
"description": "Discriminator property for EnvironmentCompute."
@@ -386,7 +393,7 @@
},
"radiusManaged": {
"type": {
- "$ref": "#/23"
+ "$ref": "#/24"
},
"flags": 0,
"description": "Determines whether Radius manages the lifecycle of the underlying resource."
@@ -399,7 +406,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/22"
+ "$ref": "#/23"
}
},
{
@@ -415,7 +422,7 @@
},
"secretKeyRef": {
"type": {
- "$ref": "#/26"
+ "$ref": "#/27"
},
"flags": 0,
"description": "A reference of a value in a secret store component."
@@ -447,7 +454,7 @@
"name": "DaprConfigurationStorePropertiesMetadata",
"properties": {},
"additionalProperties": {
- "$ref": "#/25"
+ "$ref": "#/26"
}
},
{
@@ -479,7 +486,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/29"
+ "$ref": "#/30"
}
},
{
@@ -495,7 +502,7 @@
},
"parameters": {
"type": {
- "$ref": "#/32"
+ "$ref": "#/33"
},
"flags": 0,
"description": "Any object"
@@ -517,10 +524,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/33"
+ "$ref": "#/34"
},
{
- "$ref": "#/34"
+ "$ref": "#/35"
}
]
},
@@ -545,7 +552,7 @@
},
"createdByType": {
"type": {
- "$ref": "#/42"
+ "$ref": "#/43"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -566,7 +573,7 @@
},
"lastModifiedByType": {
"type": {
- "$ref": "#/47"
+ "$ref": "#/48"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -599,9 +606,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/38"
- },
{
"$ref": "#/39"
},
@@ -610,6 +614,9 @@
},
{
"$ref": "#/41"
+ },
+ {
+ "$ref": "#/42"
}
]
},
@@ -632,9 +639,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/43"
- },
{
"$ref": "#/44"
},
@@ -643,6 +647,9 @@
},
{
"$ref": "#/46"
+ },
+ {
+ "$ref": "#/47"
}
]
},
@@ -684,28 +691,28 @@
},
"type": {
"type": {
- "$ref": "#/49"
+ "$ref": "#/50"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/50"
+ "$ref": "#/51"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/52"
+ "$ref": "#/53"
},
"flags": 1,
"description": "Dapr PubSubBroker portable resource properties"
},
"tags": {
"type": {
- "$ref": "#/66"
+ "$ref": "#/68"
},
"flags": 0,
"description": "Resource tags."
@@ -719,7 +726,7 @@
},
"systemData": {
"type": {
- "$ref": "#/37"
+ "$ref": "#/38"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -746,14 +753,14 @@
},
"provisioningState": {
"type": {
- "$ref": "#/60"
+ "$ref": "#/62"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
@@ -767,7 +774,7 @@
},
"metadata": {
"type": {
- "$ref": "#/61"
+ "$ref": "#/63"
},
"flags": 0,
"description": "The metadata for Dapr resource which must match the values specified in Dapr component spec"
@@ -788,28 +795,28 @@
},
"auth": {
"type": {
- "$ref": "#/28"
+ "$ref": "#/29"
},
"flags": 0,
"description": "Authentication properties for a Dapr component object"
},
"resources": {
"type": {
- "$ref": "#/62"
+ "$ref": "#/64"
},
"flags": 0,
"description": "A collection of references to resources associated with the pubSubBroker"
},
"recipe": {
"type": {
- "$ref": "#/31"
+ "$ref": "#/32"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/65"
+ "$ref": "#/67"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -818,15 +825,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -834,22 +845,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/53"
- },
{
"$ref": "#/54"
},
@@ -867,6 +875,12 @@
},
{
"$ref": "#/59"
+ },
+ {
+ "$ref": "#/60"
+ },
+ {
+ "$ref": "#/61"
}
]
},
@@ -875,13 +889,13 @@
"name": "DaprPubSubBrokerPropertiesMetadata",
"properties": {},
"additionalProperties": {
- "$ref": "#/25"
+ "$ref": "#/26"
}
},
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/29"
+ "$ref": "#/30"
}
},
{
@@ -896,10 +910,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/63"
+ "$ref": "#/65"
},
{
- "$ref": "#/64"
+ "$ref": "#/66"
}
]
},
@@ -916,7 +930,7 @@
"name": "Applications.Dapr/pubSubBrokers@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/51"
+ "$ref": "#/52"
},
"flags": 0,
"functions": {}
@@ -949,28 +963,28 @@
},
"type": {
"type": {
- "$ref": "#/68"
+ "$ref": "#/70"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/69"
+ "$ref": "#/71"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/71"
+ "$ref": "#/73"
},
"flags": 1,
"description": "Dapr SecretStore portable resource properties"
},
"tags": {
"type": {
- "$ref": "#/84"
+ "$ref": "#/87"
},
"flags": 0,
"description": "Resource tags."
@@ -984,7 +998,7 @@
},
"systemData": {
"type": {
- "$ref": "#/37"
+ "$ref": "#/38"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -1011,14 +1025,14 @@
},
"provisioningState": {
"type": {
- "$ref": "#/79"
+ "$ref": "#/82"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
@@ -1032,7 +1046,7 @@
},
"metadata": {
"type": {
- "$ref": "#/80"
+ "$ref": "#/83"
},
"flags": 0,
"description": "The metadata for Dapr resource which must match the values specified in Dapr component spec"
@@ -1053,14 +1067,14 @@
},
"recipe": {
"type": {
- "$ref": "#/31"
+ "$ref": "#/32"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/83"
+ "$ref": "#/86"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -1069,15 +1083,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -1085,25 +1103,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/72"
- },
- {
- "$ref": "#/73"
- },
{
"$ref": "#/74"
},
@@ -1118,6 +1130,15 @@
},
{
"$ref": "#/78"
+ },
+ {
+ "$ref": "#/79"
+ },
+ {
+ "$ref": "#/80"
+ },
+ {
+ "$ref": "#/81"
}
]
},
@@ -1126,7 +1147,7 @@
"name": "DaprSecretStorePropertiesMetadata",
"properties": {},
"additionalProperties": {
- "$ref": "#/25"
+ "$ref": "#/26"
}
},
{
@@ -1141,10 +1162,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/81"
+ "$ref": "#/84"
},
{
- "$ref": "#/82"
+ "$ref": "#/85"
}
]
},
@@ -1161,7 +1182,7 @@
"name": "Applications.Dapr/secretStores@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/70"
+ "$ref": "#/72"
},
"flags": 0,
"functions": {}
@@ -1194,28 +1215,28 @@
},
"type": {
"type": {
- "$ref": "#/86"
+ "$ref": "#/89"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/87"
+ "$ref": "#/90"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/89"
+ "$ref": "#/92"
},
"flags": 1,
"description": "Dapr StateStore portable resource properties"
},
"tags": {
"type": {
- "$ref": "#/103"
+ "$ref": "#/107"
},
"flags": 0,
"description": "Resource tags."
@@ -1229,7 +1250,7 @@
},
"systemData": {
"type": {
- "$ref": "#/37"
+ "$ref": "#/38"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -1256,14 +1277,14 @@
},
"provisioningState": {
"type": {
- "$ref": "#/97"
+ "$ref": "#/101"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
@@ -1277,7 +1298,7 @@
},
"metadata": {
"type": {
- "$ref": "#/98"
+ "$ref": "#/102"
},
"flags": 0,
"description": "The metadata for Dapr resource which must match the values specified in Dapr component spec"
@@ -1298,28 +1319,28 @@
},
"auth": {
"type": {
- "$ref": "#/28"
+ "$ref": "#/29"
},
"flags": 0,
"description": "Authentication properties for a Dapr component object"
},
"resources": {
"type": {
- "$ref": "#/99"
+ "$ref": "#/103"
},
"flags": 0,
"description": "A collection of references to resources associated with the state store"
},
"recipe": {
"type": {
- "$ref": "#/31"
+ "$ref": "#/32"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/102"
+ "$ref": "#/106"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -1328,15 +1349,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -1344,39 +1369,42 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
{
- "$ref": "#/90"
+ "$ref": "#/93"
+ },
+ {
+ "$ref": "#/94"
},
{
- "$ref": "#/91"
+ "$ref": "#/95"
},
{
- "$ref": "#/92"
+ "$ref": "#/96"
},
{
- "$ref": "#/93"
+ "$ref": "#/97"
},
{
- "$ref": "#/94"
+ "$ref": "#/98"
},
{
- "$ref": "#/95"
+ "$ref": "#/99"
},
{
- "$ref": "#/96"
+ "$ref": "#/100"
}
]
},
@@ -1385,13 +1413,13 @@
"name": "DaprStateStorePropertiesMetadata",
"properties": {},
"additionalProperties": {
- "$ref": "#/25"
+ "$ref": "#/26"
}
},
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/29"
+ "$ref": "#/30"
}
},
{
@@ -1406,10 +1434,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/100"
+ "$ref": "#/104"
},
{
- "$ref": "#/101"
+ "$ref": "#/105"
}
]
},
@@ -1426,7 +1454,7 @@
"name": "Applications.Dapr/stateStores@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/88"
+ "$ref": "#/91"
},
"flags": 0,
"functions": {}
diff --git a/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json
index a081e5e272b..f3cb0b87b11 100644
--- a/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json
+++ b/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json
@@ -51,7 +51,7 @@
},
"tags": {
"type": {
- "$ref": "#/34"
+ "$ref": "#/35"
},
"flags": 0,
"description": "Resource tags."
@@ -65,7 +65,7 @@
},
"systemData": {
"type": {
- "$ref": "#/35"
+ "$ref": "#/36"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -92,21 +92,21 @@
},
"provisioningState": {
"type": {
- "$ref": "#/12"
+ "$ref": "#/13"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
},
"secrets": {
"type": {
- "$ref": "#/25"
+ "$ref": "#/26"
},
"flags": 0,
"description": "The secret values for the given MongoDatabase resource"
@@ -120,7 +120,7 @@
},
"port": {
"type": {
- "$ref": "#/26"
+ "$ref": "#/27"
},
"flags": 0,
"description": "Port value of the target Mongo database"
@@ -134,7 +134,7 @@
},
"resources": {
"type": {
- "$ref": "#/28"
+ "$ref": "#/29"
},
"flags": 0,
"description": "List of the resource IDs that support the MongoDB resource"
@@ -148,14 +148,14 @@
},
"recipe": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/33"
+ "$ref": "#/34"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -164,15 +164,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -180,15 +184,15 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
@@ -213,6 +217,9 @@
},
{
"$ref": "#/11"
+ },
+ {
+ "$ref": "#/12"
}
]
},
@@ -222,21 +229,21 @@
"properties": {
"compute": {
"type": {
- "$ref": "#/14"
+ "$ref": "#/15"
},
"flags": 0,
"description": "Represents backing compute resource"
},
"recipe": {
"type": {
- "$ref": "#/21"
+ "$ref": "#/22"
},
"flags": 2,
"description": "Recipe status at deployment time for a resource."
},
"outputResources": {
"type": {
- "$ref": "#/24"
+ "$ref": "#/25"
},
"flags": 0,
"description": "Properties of an output resource"
@@ -257,7 +264,7 @@
},
"identity": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "IdentitySettings is the external identity setting."
@@ -265,7 +272,7 @@
},
"elements": {
"kubernetes": {
- "$ref": "#/19"
+ "$ref": "#/20"
}
}
},
@@ -275,7 +282,7 @@
"properties": {
"kind": {
"type": {
- "$ref": "#/18"
+ "$ref": "#/19"
},
"flags": 1,
"description": "IdentitySettingKind is the kind of supported external identity setting"
@@ -308,10 +315,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/16"
+ "$ref": "#/17"
},
{
- "$ref": "#/17"
+ "$ref": "#/18"
}
]
},
@@ -328,7 +335,7 @@
},
"kind": {
"type": {
- "$ref": "#/20"
+ "$ref": "#/21"
},
"flags": 1,
"description": "Discriminator property for EnvironmentCompute."
@@ -386,7 +393,7 @@
},
"radiusManaged": {
"type": {
- "$ref": "#/23"
+ "$ref": "#/24"
},
"flags": 0,
"description": "Determines whether Radius manages the lifecycle of the underlying resource."
@@ -399,7 +406,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/22"
+ "$ref": "#/23"
}
},
{
@@ -441,7 +448,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/27"
+ "$ref": "#/28"
}
},
{
@@ -457,7 +464,7 @@
},
"parameters": {
"type": {
- "$ref": "#/30"
+ "$ref": "#/31"
},
"flags": 0,
"description": "Any object"
@@ -479,10 +486,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/31"
+ "$ref": "#/32"
},
{
- "$ref": "#/32"
+ "$ref": "#/33"
}
]
},
@@ -507,7 +514,7 @@
},
"createdByType": {
"type": {
- "$ref": "#/40"
+ "$ref": "#/41"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -528,7 +535,7 @@
},
"lastModifiedByType": {
"type": {
- "$ref": "#/45"
+ "$ref": "#/46"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -561,9 +568,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/36"
- },
{
"$ref": "#/37"
},
@@ -572,6 +576,9 @@
},
{
"$ref": "#/39"
+ },
+ {
+ "$ref": "#/40"
}
]
},
@@ -594,9 +601,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/41"
- },
{
"$ref": "#/42"
},
@@ -605,6 +609,9 @@
},
{
"$ref": "#/44"
+ },
+ {
+ "$ref": "#/45"
}
]
},
@@ -632,7 +639,7 @@
"$type": "FunctionType",
"parameters": [],
"output": {
- "$ref": "#/46"
+ "$ref": "#/47"
}
},
{
@@ -646,7 +653,7 @@
"functions": {
"listSecrets": {
"type": {
- "$ref": "#/47"
+ "$ref": "#/48"
},
"description": "listSecrets"
}
@@ -680,28 +687,28 @@
},
"type": {
"type": {
- "$ref": "#/49"
+ "$ref": "#/50"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/50"
+ "$ref": "#/51"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/52"
+ "$ref": "#/53"
},
"flags": 1,
"description": "RedisCache portable resource properties"
},
"tags": {
"type": {
- "$ref": "#/66"
+ "$ref": "#/68"
},
"flags": 0,
"description": "Resource tags."
@@ -715,7 +722,7 @@
},
"systemData": {
"type": {
- "$ref": "#/35"
+ "$ref": "#/36"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -742,21 +749,21 @@
},
"provisioningState": {
"type": {
- "$ref": "#/60"
+ "$ref": "#/62"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
},
"secrets": {
"type": {
- "$ref": "#/61"
+ "$ref": "#/63"
},
"flags": 0,
"description": "The secret values for the given RedisCache resource"
@@ -770,7 +777,7 @@
},
"port": {
"type": {
- "$ref": "#/26"
+ "$ref": "#/27"
},
"flags": 0,
"description": "The port value of the target Redis cache"
@@ -784,28 +791,28 @@
},
"tls": {
"type": {
- "$ref": "#/23"
+ "$ref": "#/24"
},
"flags": 0,
"description": "Specifies whether to enable SSL connections to the Redis cache"
},
"resources": {
"type": {
- "$ref": "#/62"
+ "$ref": "#/64"
},
"flags": 0,
"description": "List of the resource IDs that support the Redis resource"
},
"recipe": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/65"
+ "$ref": "#/67"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -814,15 +821,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -830,22 +841,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/53"
- },
{
"$ref": "#/54"
},
@@ -863,6 +871,12 @@
},
{
"$ref": "#/59"
+ },
+ {
+ "$ref": "#/60"
+ },
+ {
+ "$ref": "#/61"
}
]
},
@@ -896,7 +910,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/27"
+ "$ref": "#/28"
}
},
{
@@ -911,10 +925,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/63"
+ "$ref": "#/65"
},
{
- "$ref": "#/64"
+ "$ref": "#/66"
}
]
},
@@ -957,7 +971,7 @@
"$type": "FunctionType",
"parameters": [],
"output": {
- "$ref": "#/67"
+ "$ref": "#/69"
}
},
{
@@ -965,13 +979,13 @@
"name": "Applications.Datastores/redisCaches@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/51"
+ "$ref": "#/52"
},
"flags": 0,
"functions": {
"listSecrets": {
"type": {
- "$ref": "#/68"
+ "$ref": "#/70"
},
"description": "listSecrets"
}
@@ -1005,28 +1019,28 @@
},
"type": {
"type": {
- "$ref": "#/70"
+ "$ref": "#/72"
},
"flags": 10,
"description": "The resource type"
},
"apiVersion": {
"type": {
- "$ref": "#/71"
+ "$ref": "#/73"
},
"flags": 10,
"description": "The resource api version"
},
"properties": {
"type": {
- "$ref": "#/73"
+ "$ref": "#/75"
},
"flags": 1,
"description": "SqlDatabase properties"
},
"tags": {
"type": {
- "$ref": "#/87"
+ "$ref": "#/90"
},
"flags": 0,
"description": "Resource tags."
@@ -1040,7 +1054,7 @@
},
"systemData": {
"type": {
- "$ref": "#/35"
+ "$ref": "#/36"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -1067,14 +1081,14 @@
},
"provisioningState": {
"type": {
- "$ref": "#/81"
+ "$ref": "#/84"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
@@ -1095,7 +1109,7 @@
},
"port": {
"type": {
- "$ref": "#/26"
+ "$ref": "#/27"
},
"flags": 0,
"description": "Port value of the target Sql database"
@@ -1109,28 +1123,28 @@
},
"resources": {
"type": {
- "$ref": "#/82"
+ "$ref": "#/85"
},
"flags": 0,
"description": "List of the resource IDs that support the SqlDatabase resource"
},
"secrets": {
"type": {
- "$ref": "#/83"
+ "$ref": "#/86"
},
"flags": 0,
"description": "The secret values for the given SqlDatabase resource"
},
"recipe": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/86"
+ "$ref": "#/89"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -1139,15 +1153,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -1155,25 +1173,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/74"
- },
- {
- "$ref": "#/75"
- },
{
"$ref": "#/76"
},
@@ -1188,13 +1200,22 @@
},
{
"$ref": "#/80"
+ },
+ {
+ "$ref": "#/81"
+ },
+ {
+ "$ref": "#/82"
+ },
+ {
+ "$ref": "#/83"
}
]
},
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/27"
+ "$ref": "#/28"
}
},
{
@@ -1229,10 +1250,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/84"
+ "$ref": "#/87"
},
{
- "$ref": "#/85"
+ "$ref": "#/88"
}
]
},
@@ -1268,7 +1289,7 @@
"$type": "FunctionType",
"parameters": [],
"output": {
- "$ref": "#/88"
+ "$ref": "#/91"
}
},
{
@@ -1276,13 +1297,13 @@
"name": "Applications.Datastores/sqlDatabases@2023-10-01-preview",
"scopeType": 0,
"body": {
- "$ref": "#/72"
+ "$ref": "#/74"
},
"flags": 0,
"functions": {
"listSecrets": {
"type": {
- "$ref": "#/89"
+ "$ref": "#/92"
},
"description": "listSecrets"
}
diff --git a/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json
index ce641a83989..69c8eec3fcf 100644
--- a/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json
+++ b/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json
@@ -51,7 +51,7 @@
},
"tags": {
"type": {
- "$ref": "#/34"
+ "$ref": "#/35"
},
"flags": 0,
"description": "Resource tags."
@@ -65,7 +65,7 @@
},
"systemData": {
"type": {
- "$ref": "#/35"
+ "$ref": "#/36"
},
"flags": 2,
"description": "Metadata pertaining to creation and last modification of the resource."
@@ -92,21 +92,21 @@
},
"provisioningState": {
"type": {
- "$ref": "#/12"
+ "$ref": "#/13"
},
"flags": 2,
"description": "Provisioning state of the resource at the time the operation was called"
},
"status": {
"type": {
- "$ref": "#/13"
+ "$ref": "#/14"
},
"flags": 2,
"description": "Status of a resource."
},
"secrets": {
"type": {
- "$ref": "#/25"
+ "$ref": "#/26"
},
"flags": 0,
"description": "The connection secrets properties to the RabbitMQ instance"
@@ -127,7 +127,7 @@
},
"port": {
"type": {
- "$ref": "#/26"
+ "$ref": "#/27"
},
"flags": 0,
"description": "The port of the RabbitMQ instance. Defaults to 5672"
@@ -148,28 +148,28 @@
},
"resources": {
"type": {
- "$ref": "#/28"
+ "$ref": "#/29"
},
"flags": 0,
"description": "List of the resource IDs that support the rabbitMQ resource"
},
"tls": {
"type": {
- "$ref": "#/23"
+ "$ref": "#/24"
},
"flags": 0,
"description": "Specifies whether to use SSL when connecting to the RabbitMQ instance"
},
"recipe": {
"type": {
- "$ref": "#/29"
+ "$ref": "#/30"
},
"flags": 0,
"description": "The recipe used to automatically deploy underlying infrastructure for a portable resource"
},
"resourceProvisioning": {
"type": {
- "$ref": "#/33"
+ "$ref": "#/34"
},
"flags": 0,
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."
@@ -178,15 +178,19 @@
},
{
"$type": "StringLiteralType",
- "value": "Succeeded"
+ "value": "Creating"
},
{
"$type": "StringLiteralType",
- "value": "Failed"
+ "value": "Updating"
},
{
"$type": "StringLiteralType",
- "value": "Canceled"
+ "value": "Deleting"
+ },
+ {
+ "$type": "StringLiteralType",
+ "value": "Accepted"
},
{
"$type": "StringLiteralType",
@@ -194,15 +198,15 @@
},
{
"$type": "StringLiteralType",
- "value": "Updating"
+ "value": "Succeeded"
},
{
"$type": "StringLiteralType",
- "value": "Deleting"
+ "value": "Failed"
},
{
"$type": "StringLiteralType",
- "value": "Accepted"
+ "value": "Canceled"
},
{
"$type": "UnionType",
@@ -227,6 +231,9 @@
},
{
"$ref": "#/11"
+ },
+ {
+ "$ref": "#/12"
}
]
},
@@ -236,21 +243,21 @@
"properties": {
"compute": {
"type": {
- "$ref": "#/14"
+ "$ref": "#/15"
},
"flags": 0,
"description": "Represents backing compute resource"
},
"recipe": {
"type": {
- "$ref": "#/21"
+ "$ref": "#/22"
},
"flags": 2,
"description": "Recipe status at deployment time for a resource."
},
"outputResources": {
"type": {
- "$ref": "#/24"
+ "$ref": "#/25"
},
"flags": 0,
"description": "Properties of an output resource"
@@ -271,7 +278,7 @@
},
"identity": {
"type": {
- "$ref": "#/15"
+ "$ref": "#/16"
},
"flags": 0,
"description": "IdentitySettings is the external identity setting."
@@ -279,7 +286,7 @@
},
"elements": {
"kubernetes": {
- "$ref": "#/19"
+ "$ref": "#/20"
}
}
},
@@ -289,7 +296,7 @@
"properties": {
"kind": {
"type": {
- "$ref": "#/18"
+ "$ref": "#/19"
},
"flags": 1,
"description": "IdentitySettingKind is the kind of supported external identity setting"
@@ -322,10 +329,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/16"
+ "$ref": "#/17"
},
{
- "$ref": "#/17"
+ "$ref": "#/18"
}
]
},
@@ -342,7 +349,7 @@
},
"kind": {
"type": {
- "$ref": "#/20"
+ "$ref": "#/21"
},
"flags": 1,
"description": "Discriminator property for EnvironmentCompute."
@@ -400,7 +407,7 @@
},
"radiusManaged": {
"type": {
- "$ref": "#/23"
+ "$ref": "#/24"
},
"flags": 0,
"description": "Determines whether Radius manages the lifecycle of the underlying resource."
@@ -413,7 +420,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/22"
+ "$ref": "#/23"
}
},
{
@@ -455,7 +462,7 @@
{
"$type": "ArrayType",
"itemType": {
- "$ref": "#/27"
+ "$ref": "#/28"
}
},
{
@@ -471,7 +478,7 @@
},
"parameters": {
"type": {
- "$ref": "#/30"
+ "$ref": "#/31"
},
"flags": 0,
"description": "Any object"
@@ -493,10 +500,10 @@
"$type": "UnionType",
"elements": [
{
- "$ref": "#/31"
+ "$ref": "#/32"
},
{
- "$ref": "#/32"
+ "$ref": "#/33"
}
]
},
@@ -521,7 +528,7 @@
},
"createdByType": {
"type": {
- "$ref": "#/40"
+ "$ref": "#/41"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -542,7 +549,7 @@
},
"lastModifiedByType": {
"type": {
- "$ref": "#/45"
+ "$ref": "#/46"
},
"flags": 0,
"description": "The type of identity that created the resource."
@@ -575,9 +582,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/36"
- },
{
"$ref": "#/37"
},
@@ -586,6 +590,9 @@
},
{
"$ref": "#/39"
+ },
+ {
+ "$ref": "#/40"
}
]
},
@@ -608,9 +615,6 @@
{
"$type": "UnionType",
"elements": [
- {
- "$ref": "#/41"
- },
{
"$ref": "#/42"
},
@@ -619,6 +623,9 @@
},
{
"$ref": "#/44"
+ },
+ {
+ "$ref": "#/45"
}
]
},
@@ -646,7 +653,7 @@
"$type": "FunctionType",
"parameters": [],
"output": {
- "$ref": "#/46"
+ "$ref": "#/47"
}
},
{
@@ -660,7 +667,7 @@
"functions": {
"listSecrets": {
"type": {
- "$ref": "#/47"
+ "$ref": "#/48"
},
"description": "listSecrets"
}
diff --git a/hack/bicep-types-radius/generated/index.json b/hack/bicep-types-radius/generated/index.json
index 162505ee64b..68a264cd113 100644
--- a/hack/bicep-types-radius/generated/index.json
+++ b/hack/bicep-types-radius/generated/index.json
@@ -1,49 +1,49 @@
{
"resources": {
"Applications.Core/applications@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/53"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/54"
},
"Applications.Core/containers@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/122"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/126"
},
"Applications.Core/environments@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/162"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/167"
},
"Applications.Core/extenders@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/181"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/188"
},
"Applications.Core/gateways@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/202"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/210"
},
"Applications.Core/secretStores@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/237"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/246"
},
"Applications.Core/volumes@2023-10-01-preview": {
- "$ref": "applications/applications.core/2023-10-01-preview/types.json#/274"
+ "$ref": "applications/applications.core/2023-10-01-preview/types.json#/284"
},
"Applications.Dapr/configurationStores@2023-10-01-preview": {
- "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/48"
+ "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/49"
},
"Applications.Dapr/pubSubBrokers@2023-10-01-preview": {
- "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/67"
+ "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/69"
},
"Applications.Dapr/secretStores@2023-10-01-preview": {
- "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/85"
+ "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/88"
},
"Applications.Dapr/stateStores@2023-10-01-preview": {
- "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/104"
+ "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/108"
},
"Applications.Datastores/mongoDatabases@2023-10-01-preview": {
- "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/48"
+ "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/49"
},
"Applications.Datastores/redisCaches@2023-10-01-preview": {
- "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/69"
+ "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/71"
},
"Applications.Datastores/sqlDatabases@2023-10-01-preview": {
- "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/90"
+ "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/93"
},
"Applications.Messaging/rabbitMQQueues@2023-10-01-preview": {
- "$ref": "applications/applications.messaging/2023-10-01-preview/types.json#/48"
+ "$ref": "applications/applications.messaging/2023-10-01-preview/types.json#/49"
}
},
"resourceFunctions": {},
diff --git a/hack/bicep-types-radius/src/autorest.bicep/package-lock.json b/hack/bicep-types-radius/src/autorest.bicep/package-lock.json
index dda6c2fa45b..195c4fa06e0 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/package-lock.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/package-lock.json
@@ -2762,7 +2762,11 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
diff --git a/hack/bicep-types-radius/src/generator/package-lock.json b/hack/bicep-types-radius/src/generator/package-lock.json
index 570f81ef197..f0249247586 100644
--- a/hack/bicep-types-radius/src/generator/package-lock.json
+++ b/hack/bicep-types-radius/src/generator/package-lock.json
@@ -1681,6 +1681,30 @@
"node": ">=10.13.0"
}
},
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/globals": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_constants.go b/pkg/corerp/api/v20231001preview/zz_generated_constants.go
index ba115de74bd..585fce3e5b2 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_constants.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_constants.go
@@ -148,12 +148,14 @@ type IAMKind string
const (
// IAMKindAzure - Azure Active Directory
IAMKindAzure IAMKind = "azure"
+ IAMKindString IAMKind = "string"
)
// PossibleIAMKindValues returns the possible values for the IAMKind const type.
func PossibleIAMKindValues() []IAMKind {
return []IAMKind{
IAMKindAzure,
+ IAMKindString,
}
}
@@ -257,17 +259,19 @@ type ProvisioningState string
const (
// ProvisioningStateAccepted - The resource create request has been accepted
ProvisioningStateAccepted ProvisioningState = "Accepted"
- // ProvisioningStateCanceled - Resource creation was canceled.
+ // ProvisioningStateCanceled - The resource provisioning has been canceled
ProvisioningStateCanceled ProvisioningState = "Canceled"
+ // ProvisioningStateCreating - The resource is being created
+ ProvisioningStateCreating ProvisioningState = "Creating"
// ProvisioningStateDeleting - The resource is being deleted
ProvisioningStateDeleting ProvisioningState = "Deleting"
- // ProvisioningStateFailed - Resource creation failed.
+ // ProvisioningStateFailed - The resource provisioning has failed
ProvisioningStateFailed ProvisioningState = "Failed"
// ProvisioningStateProvisioning - The resource is being provisioned
ProvisioningStateProvisioning ProvisioningState = "Provisioning"
- // ProvisioningStateSucceeded - Resource has been created.
+ // ProvisioningStateSucceeded - The resource has been successfully provisioned
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
- // ProvisioningStateUpdating - The resource is updating
+ // ProvisioningStateUpdating - The resource is being updated
ProvisioningStateUpdating ProvisioningState = "Updating"
)
@@ -276,6 +280,7 @@ func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{
ProvisioningStateAccepted,
ProvisioningStateCanceled,
+ ProvisioningStateCreating,
ProvisioningStateDeleting,
ProvisioningStateFailed,
ProvisioningStateProvisioning,
@@ -373,7 +378,7 @@ func PossibleSecretValueEncodingValues() []SecretValueEncoding {
}
}
-// TLSMinVersion - Tls Minimum versions for Gateway resource.
+// TLSMinVersion - TLS minimum protocol version (defaults to 1.2).
type TLSMinVersion string
const (
@@ -391,21 +396,6 @@ func PossibleTLSMinVersionValues() []TLSMinVersion {
}
}
-// Versions - Supported API versions for the Applications.Core resource provider.
-type Versions string
-
-const (
- // VersionsV20231001Preview - 2023-10-01-preview
- VersionsV20231001Preview Versions = "2023-10-01-preview"
-)
-
-// PossibleVersionsValues returns the possible values for the Versions const type.
-func PossibleVersionsValues() []Versions {
- return []Versions{
- VersionsV20231001Preview,
- }
-}
-
// VolumePermission - The persistent volume permission
type VolumePermission string
@@ -424,7 +414,7 @@ func PossibleVolumePermissionValues() []VolumePermission {
}
}
-// VolumeSecretEncodings - Represents secret encodings
+// VolumeSecretEncodings - Encoding format. Default utf-8
type VolumeSecretEncodings string
const (
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_containers_client.go b/pkg/corerp/api/v20231001preview/zz_generated_containers_client.go
index a31e1f316b5..fa59c000c52 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_containers_client.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_containers_client.go
@@ -145,7 +145,7 @@ func (client *ContainersClient) deleteOperation(ctx context.Context, containerNa
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_extenders_client.go b/pkg/corerp/api/v20231001preview/zz_generated_extenders_client.go
index 2ce262bee51..eefd86b5610 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_extenders_client.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_extenders_client.go
@@ -145,7 +145,7 @@ func (client *ExtendersClient) deleteOperation(ctx context.Context, extenderName
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
@@ -330,7 +330,7 @@ func (client *ExtendersClient) listSecretsCreateRequest(ctx context.Context, ext
// listSecretsHandleResponse handles the ListSecrets response.
func (client *ExtendersClient) listSecretsHandleResponse(resp *http.Response) (ExtendersClientListSecretsResponse, error) {
result := ExtendersClientListSecretsResponse{}
- if err := runtime.UnmarshalAsJSON(resp, &result.Object); err != nil {
+ if err := runtime.UnmarshalAsJSON(resp, &result.Value); err != nil {
return ExtendersClientListSecretsResponse{}, err
}
return result, nil
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_gateways_client.go b/pkg/corerp/api/v20231001preview/zz_generated_gateways_client.go
index 3db7e727b6f..05e31750587 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_gateways_client.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_gateways_client.go
@@ -210,7 +210,7 @@ func (client *GatewaysClient) deleteOperation(ctx context.Context, gatewayName s
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_interfaces.go b/pkg/corerp/api/v20231001preview/zz_generated_interfaces.go
index 6c2db3e710e..9bbe9c0ef3d 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_interfaces.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_interfaces.go
@@ -16,15 +16,6 @@ type EnvironmentComputeClassification interface {
GetEnvironmentCompute() *EnvironmentCompute
}
-// EnvironmentComputeUpdateClassification provides polymorphic access to related types.
-// Call the interface's GetEnvironmentComputeUpdate() method to access the common type.
-// Use a type switch to determine the concrete type. The possible types are:
-// - *EnvironmentComputeUpdate, *KubernetesComputeUpdate
-type EnvironmentComputeUpdateClassification interface {
- // GetEnvironmentComputeUpdate returns the EnvironmentComputeUpdate content of the underlying type.
- GetEnvironmentComputeUpdate() *EnvironmentComputeUpdate
-}
-
// ExtensionClassification provides polymorphic access to related types.
// Call the interface's GetExtension() method to access the common type.
// Use a type switch to determine the concrete type. The possible types are:
@@ -52,15 +43,6 @@ type RecipePropertiesClassification interface {
GetRecipeProperties() *RecipeProperties
}
-// RecipePropertiesUpdateClassification provides polymorphic access to related types.
-// Call the interface's GetRecipePropertiesUpdate() method to access the common type.
-// Use a type switch to determine the concrete type. The possible types are:
-// - *BicepRecipePropertiesUpdate, *RecipePropertiesUpdate, *TerraformRecipePropertiesUpdate
-type RecipePropertiesUpdateClassification interface {
- // GetRecipePropertiesUpdate returns the RecipePropertiesUpdate content of the underlying type.
- GetRecipePropertiesUpdate() *RecipePropertiesUpdate
-}
-
// VolumeClassification provides polymorphic access to related types.
// Call the interface's GetVolume() method to access the common type.
// Use a type switch to determine the concrete type. The possible types are:
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_models.go b/pkg/corerp/api/v20231001preview/zz_generated_models.go
index eb6837df672..00a1ad5695a 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_models.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_models.go
@@ -106,22 +106,22 @@ type ApplicationResourceListResult struct {
NextLink *string
}
-// ApplicationResourceUpdate - The type used for update operations of the ApplicationResource.
+// ApplicationResourceUpdate - Radius Application resource
type ApplicationResourceUpdate struct {
- // The updatable properties of the ApplicationResource.
- Properties *ApplicationResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// ApplicationResourceUpdateProperties - The updatable properties of the ApplicationResource.
-type ApplicationResourceUpdateProperties struct {
- // Fully qualified resource ID for the environment that the application is linked to
- Environment *string
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // The application extension.
- Extensions []ExtensionClassification
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// AuthConfig - Authentication information used to access private Terraform module sources. Supported module sources: Git.
@@ -171,6 +171,25 @@ func (a *AzureKeyVaultVolumeProperties) GetVolumeProperties() *VolumeProperties
}
}
+// AzureResourceManagerCommonTypesTrackedResourceUpdate - The resource model definition for an Azure Resource Manager tracked
+// top level resource which has 'tags' and a 'location'
+type AzureResourceManagerCommonTypesTrackedResourceUpdate struct {
+ // Resource tags.
+ Tags map[string]*string
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
// BicepConfigProperties - Configuration for Bicep Recipes. Controls how Bicep plans and applies templates as part of Recipe
// deployment.
type BicepConfigProperties struct {
@@ -204,31 +223,6 @@ func (b *BicepRecipeProperties) GetRecipeProperties() *RecipeProperties {
}
}
-// BicepRecipePropertiesUpdate - Represents Bicep recipe properties.
-type BicepRecipePropertiesUpdate struct {
- // REQUIRED; Discriminator property for RecipeProperties.
- TemplateKind *string
-
- // Key/value parameters to pass to the recipe template at deployment.
- Parameters map[string]any
-
- // Connect to the Bicep registry using HTTP (not-HTTPS). This should be used when the registry is known not to support HTTPS,
-// for example in a locally-hosted registry. Defaults to false (use HTTPS/TLS).
- PlainHTTP *bool
-
- // Path to the template provided by the recipe. Currently only link to Azure Container Registry is supported.
- TemplatePath *string
-}
-
-// GetRecipePropertiesUpdate implements the RecipePropertiesUpdateClassification interface for type BicepRecipePropertiesUpdate.
-func (b *BicepRecipePropertiesUpdate) GetRecipePropertiesUpdate() *RecipePropertiesUpdate {
- return &RecipePropertiesUpdate{
- Parameters: b.Parameters,
- TemplateKind: b.TemplateKind,
- TemplatePath: b.TemplatePath,
- }
-}
-
// CertificateObjectProperties - Represents certificate object properties
type CertificateObjectProperties struct {
// REQUIRED; The name of the certificate
@@ -262,18 +256,6 @@ type ConnectionProperties struct {
Iam *IamProperties
}
-// ConnectionPropertiesUpdate - Connection Properties
-type ConnectionPropertiesUpdate struct {
- // default environment variable override
- DisableDefaultEnvVars *bool
-
- // iam properties
- Iam *IamPropertiesUpdate
-
- // The source of the connection
- Source *string
-}
-
// Container - Definition of a container
type Container struct {
// REQUIRED; The registry and image to download and run in your container
@@ -323,22 +305,6 @@ type ContainerPortProperties struct {
Scheme *string
}
-// ContainerPortPropertiesUpdate - Specifies a listening port for the container
-type ContainerPortPropertiesUpdate struct {
- // The listening port number
- ContainerPort *int32
-
- // Specifies the port that will be exposed by this container. Must be set when value different from containerPort is desired
- Port *int32
-
- // Protocol in use by the port
- Protocol *PortProtocol
-
- // Specifies the URL scheme of the communication protocol. Consumers can use the scheme to construct a URL. The value defaults
-// to 'http' or 'https' depending on the port value
- Scheme *string
-}
-
// ContainerProperties - Container properties
type ContainerProperties struct {
// REQUIRED; Fully qualified resource ID for the application
@@ -411,79 +377,23 @@ type ContainerResourceListResult struct {
NextLink *string
}
-// ContainerResourceUpdate - The type used for update operations of the ContainerResource.
+// ContainerResourceUpdate - Concrete tracked resource types can be created by aliasing this type using a specific property
+// type.
type ContainerResourceUpdate struct {
- // The updatable properties of the ContainerResource.
- Properties *ContainerResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// ContainerResourceUpdateProperties - The updatable properties of the ContainerResource.
-type ContainerResourceUpdateProperties struct {
- // Fully qualified resource ID for the application
- Application *string
-
- // Specifies a connection to another resource.
- Connections map[string]*ConnectionPropertiesUpdate
-
- // Definition of a container.
- Container *ContainerUpdate
-
- // Fully qualified resource ID for the environment that the application is linked to
- Environment *string
- // Extensions spec of the resource
- Extensions []ExtensionClassification
-
- // Configuration for supported external identity providers
- Identity *IdentitySettingsUpdate
-
- // Specifies how the underlying container resource is provisioned and managed.
- ResourceProvisioning *ContainerResourceProvisioning
-
- // A collection of references to resources associated with the container
- Resources []*ResourceReference
-
- // The restart policy for the underlying container
- RestartPolicy *RestartPolicy
-
- // Specifies Runtime-specific functionality
- Runtimes *RuntimesProperties
-}
-
-// ContainerUpdate - Definition of a container
-type ContainerUpdate struct {
- // Arguments to the entrypoint. Overrides the container image's CMD
- Args []*string
-
- // Entrypoint array. Overrides the container image's ENTRYPOINT
- Command []*string
-
- // environment
- Env map[string]*EnvironmentVariableUpdate
-
- // The registry and image to download and run in your container
- Image *string
-
- // The pull policy for the container image
- ImagePullPolicy *ImagePullPolicy
-
- // liveness probe properties
- LivenessProbe HealthProbePropertiesClassification
-
- // container ports
- Ports map[string]*ContainerPortPropertiesUpdate
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // readiness probe properties
- ReadinessProbe HealthProbePropertiesClassification
+ // READ-ONLY; The name of the resource
+ Name *string
- // container volumes
- Volumes map[string]VolumeClassification
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Working directory for the container
- WorkingDir *string
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// DaprSidecarExtension - Specifies the resource should have a Dapr sidecar injected
@@ -526,21 +436,6 @@ type EnvironmentCompute struct {
// GetEnvironmentCompute implements the EnvironmentComputeClassification interface for type EnvironmentCompute.
func (e *EnvironmentCompute) GetEnvironmentCompute() *EnvironmentCompute { return e }
-// EnvironmentComputeUpdate - Represents backing compute resource
-type EnvironmentComputeUpdate struct {
- // REQUIRED; Discriminator property for EnvironmentCompute.
- Kind *string
-
- // Configuration for supported external identity providers
- Identity *IdentitySettingsUpdate
-
- // The resource id of the compute resource for application environment.
- ResourceID *string
-}
-
-// GetEnvironmentComputeUpdate implements the EnvironmentComputeUpdateClassification interface for type EnvironmentComputeUpdate.
-func (e *EnvironmentComputeUpdate) GetEnvironmentComputeUpdate() *EnvironmentComputeUpdate { return e }
-
// EnvironmentProperties - Environment properties
type EnvironmentProperties struct {
// REQUIRED; The compute resource used by application environment.
@@ -598,34 +493,22 @@ type EnvironmentResourceListResult struct {
NextLink *string
}
-// EnvironmentResourceUpdate - The type used for update operations of the EnvironmentResource.
+// EnvironmentResourceUpdate - The environment resource
type EnvironmentResourceUpdate struct {
- // The updatable properties of the EnvironmentResource.
- Properties *EnvironmentResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// EnvironmentResourceUpdateProperties - The updatable properties of the EnvironmentResource.
-type EnvironmentResourceUpdateProperties struct {
- // The compute resource used by application environment.
- Compute EnvironmentComputeUpdateClassification
-
- // The environment extension.
- Extensions []ExtensionClassification
-
- // Cloud providers configuration for the environment.
- Providers *ProvidersUpdate
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Configuration for Recipes. Defines how each type of Recipe should be configured and run.
- RecipeConfig *RecipeConfigProperties
+ // READ-ONLY; The name of the resource
+ Name *string
- // Specifies Recipes linked to the Environment.
- Recipes map[string]map[string]RecipePropertiesUpdateClassification
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Simulated environment.
- Simulated *bool
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// EnvironmentVariable - Environment variables type
@@ -643,21 +526,6 @@ type EnvironmentVariableReference struct {
SecretRef *SecretReference
}
-// EnvironmentVariableReferenceUpdate - The reference to the variable
-type EnvironmentVariableReferenceUpdate struct {
- // The secret reference
- SecretRef *SecretReferenceUpdate
-}
-
-// EnvironmentVariableUpdate - Environment variables type
-type EnvironmentVariableUpdate struct {
- // The value of the environment variable
- Value *string
-
- // The reference to the variable
- ValueFrom *EnvironmentVariableReferenceUpdate
-}
-
// EphemeralVolume - Specifies an ephemeral volume for a container
type EphemeralVolume struct {
// REQUIRED; Discriminator property for Volume.
@@ -804,31 +672,22 @@ type ExtenderResourceListResult struct {
NextLink *string
}
-// ExtenderResourceUpdate - The type used for update operations of the ExtenderResource.
+// ExtenderResourceUpdate - ExtenderResource portable resource
type ExtenderResourceUpdate struct {
- // The updatable properties of the ExtenderResource.
- Properties *ExtenderResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// ExtenderResourceUpdateProperties - The updatable properties of the ExtenderResource.
-type ExtenderResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // The recipe used to automatically deploy underlying infrastructure for the extender portable resource
- Recipe *RecipeUpdate
+ // READ-ONLY; The name of the resource
+ Name *string
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // The secrets for referenced resource
- Secrets map[string]any
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// Extension of a environment/application resource.
@@ -914,34 +773,23 @@ type GatewayResourceListResult struct {
NextLink *string
}
-// GatewayResourceUpdate - The type used for update operations of the GatewayResource.
+// GatewayResourceUpdate - Concrete tracked resource types can be created by aliasing this type using a specific property
+// type.
type GatewayResourceUpdate struct {
- // The updatable properties of the GatewayResource.
- Properties *GatewayResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// GatewayResourceUpdateProperties - The updatable properties of the GatewayResource.
-type GatewayResourceUpdateProperties struct {
- // Fully qualified resource ID for the application
- Application *string
-
- // Fully qualified resource ID for the environment that the application is linked to
- Environment *string
-
- // Declare hostname information for the Gateway. Leaving the hostname empty auto-assigns one: mygateway.myapp.PUBLICHOSTNAMEORIP.nip.io.
- Hostname *GatewayHostname
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Sets Gateway to not be exposed externally (no public IP address associated). Defaults to false (exposed to internet).
- Internal *bool
+ // READ-ONLY; The name of the resource
+ Name *string
- // Routes attached to this Gateway
- Routes []*GatewayRoute
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // TLS configuration for the Gateway.
- TLS *GatewayTLS
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// GatewayRoute - Route attached to Gateway
@@ -1046,15 +894,6 @@ type IamProperties struct {
Roles []*string
}
-// IamPropertiesUpdate - IAM properties
-type IamPropertiesUpdate struct {
- // The kind of IAM provider to configure
- Kind *IAMKind
-
- // RBAC permissions to be assigned on the source resource
- Roles []*string
-}
-
// IdentitySettings is the external identity setting.
type IdentitySettings struct {
// REQUIRED; kind of identity setting
@@ -1067,18 +906,6 @@ type IdentitySettings struct {
Resource *string
}
-// IdentitySettingsUpdate - IdentitySettings is the external identity setting.
-type IdentitySettingsUpdate struct {
- // kind of identity setting
- Kind *IdentitySettingKind
-
- // The URI for your compute platform's OIDC issuer
- OidcIssuer *string
-
- // The resource ID of the provisioned identity
- Resource *string
-}
-
// KeyObjectProperties - Represents key object properties
type KeyObjectProperties struct {
// REQUIRED; The name of the key
@@ -1115,30 +942,6 @@ func (k *KubernetesCompute) GetEnvironmentCompute() *EnvironmentCompute {
}
}
-// KubernetesComputeUpdate - The Kubernetes compute configuration
-type KubernetesComputeUpdate struct {
- // REQUIRED; Discriminator property for EnvironmentCompute.
- Kind *string
-
- // Configuration for supported external identity providers
- Identity *IdentitySettingsUpdate
-
- // The namespace to use for the environment.
- Namespace *string
-
- // The resource id of the compute resource for application environment.
- ResourceID *string
-}
-
-// GetEnvironmentComputeUpdate implements the EnvironmentComputeUpdateClassification interface for type KubernetesComputeUpdate.
-func (k *KubernetesComputeUpdate) GetEnvironmentComputeUpdate() *EnvironmentComputeUpdate {
- return &EnvironmentComputeUpdate{
- Identity: k.Identity,
- Kind: k.Kind,
- ResourceID: k.ResourceID,
- }
-}
-
// KubernetesMetadataExtension - Kubernetes metadata extension of a environment/application resource.
type KubernetesMetadataExtension struct {
// REQUIRED; Discriminator property for Extension.
@@ -1312,33 +1115,12 @@ type ProvidersAws struct {
Scope *string
}
-// ProvidersAwsUpdate - The AWS cloud provider definition.
-type ProvidersAwsUpdate struct {
- // Target scope for AWS resources to be deployed into. For example: '/planes/aws/aws/accounts/000000000000/regions/us-west-2'.
- Scope *string
-}
-
// ProvidersAzure - The Azure cloud provider definition.
type ProvidersAzure struct {
// REQUIRED; Target scope for Azure resources to be deployed into. For example: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup'.
Scope *string
}
-// ProvidersAzureUpdate - The Azure cloud provider definition.
-type ProvidersAzureUpdate struct {
- // Target scope for Azure resources to be deployed into. For example: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup'.
- Scope *string
-}
-
-// ProvidersUpdate - The Cloud providers configuration.
-type ProvidersUpdate struct {
- // The AWS cloud provider configuration.
- Aws *ProvidersAwsUpdate
-
- // The Azure cloud provider configuration.
- Azure *ProvidersAzureUpdate
-}
-
// Recipe - The recipe used to automatically deploy underlying infrastructure for a portable resource
type Recipe struct {
// REQUIRED; The name of the recipe within the environment to use
@@ -1409,21 +1191,6 @@ type RecipeProperties struct {
// GetRecipeProperties implements the RecipePropertiesClassification interface for type RecipeProperties.
func (r *RecipeProperties) GetRecipeProperties() *RecipeProperties { return r }
-// RecipePropertiesUpdate - Format of the template provided by the recipe. Allowed values: bicep, terraform.
-type RecipePropertiesUpdate struct {
- // REQUIRED; Discriminator property for RecipeProperties.
- TemplateKind *string
-
- // Key/value parameters to pass to the recipe template at deployment.
- Parameters map[string]any
-
- // Path to the template provided by the recipe. Currently only link to Azure Container Registry is supported.
- TemplatePath *string
-}
-
-// GetRecipePropertiesUpdate implements the RecipePropertiesUpdateClassification interface for type RecipePropertiesUpdate.
-func (r *RecipePropertiesUpdate) GetRecipePropertiesUpdate() *RecipePropertiesUpdate { return r }
-
// RecipeStatus - Recipe status at deployment time for a resource.
type RecipeStatus struct {
// REQUIRED; TemplateKind is the kind of the recipe template used by the portable resource upon deployment.
@@ -1436,15 +1203,6 @@ type RecipeStatus struct {
TemplateVersion *string
}
-// RecipeUpdate - The recipe used to automatically deploy underlying infrastructure for a portable resource
-type RecipeUpdate struct {
- // The name of the recipe within the environment to use
- Name *string
-
- // Key/value parameters to pass into the recipe at deployment
- Parameters map[string]any
-}
-
// RegistrySecretConfig - Registry Secret Configuration used to authenticate to private bicep registries.
type RegistrySecretConfig struct {
// The ID of an Applications.Core/SecretStore resource containing credential information used to authenticate private container
@@ -1524,16 +1282,6 @@ type SecretReference struct {
Source *string
}
-// SecretReferenceUpdate - This secret is used within a recipe. Secrets are encrypted, often have fine-grained access control,
-// auditing and are recommended to be used to hold sensitive data.
-type SecretReferenceUpdate struct {
- // The key for the secret in the secret store.
- Key *string
-
- // The ID of an Applications.Core/SecretStore resource containing sensitive data required for recipe execution.
- Source *string
-}
-
// SecretStoreListSecretsResult - The list of secrets
type SecretStoreListSecretsResult struct {
// REQUIRED; An object to represent key-value type secrets
@@ -1600,31 +1348,23 @@ type SecretStoreResourceListResult struct {
NextLink *string
}
-// SecretStoreResourceUpdate - The type used for update operations of the SecretStoreResource.
+// SecretStoreResourceUpdate - Concrete tracked resource types can be created by aliasing this type using a specific property
+// type.
type SecretStoreResourceUpdate struct {
- // The updatable properties of the SecretStoreResource.
- Properties *SecretStoreResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// SecretStoreResourceUpdateProperties - The updatable properties of the SecretStoreResource.
-type SecretStoreResourceUpdateProperties struct {
- // Fully qualified resource ID for the application
- Application *string
- // An object to represent key-value type secrets
- Data map[string]*SecretValueProperties
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Fully qualified resource ID for the environment that the application is linked to
- Environment *string
+ // READ-ONLY; The name of the resource
+ Name *string
- // The resource id of external secret store.
- Resource *string
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // The type of secret store data
- Type *SecretStoreDataType
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// SecretValueProperties - The properties of SecretValue
@@ -1729,31 +1469,6 @@ func (t *TerraformRecipeProperties) GetRecipeProperties() *RecipeProperties {
}
}
-// TerraformRecipePropertiesUpdate - Represents Terraform recipe properties.
-type TerraformRecipePropertiesUpdate struct {
- // REQUIRED; Discriminator property for RecipeProperties.
- TemplateKind *string
-
- // Key/value parameters to pass to the recipe template at deployment.
- Parameters map[string]any
-
- // Path to the template provided by the recipe. Currently only link to Azure Container Registry is supported.
- TemplatePath *string
-
- // Version of the template to deploy. For Terraform recipes using a module registry this is required, but must be omitted
-// for other module sources.
- TemplateVersion *string
-}
-
-// GetRecipePropertiesUpdate implements the RecipePropertiesUpdateClassification interface for type TerraformRecipePropertiesUpdate.
-func (t *TerraformRecipePropertiesUpdate) GetRecipePropertiesUpdate() *RecipePropertiesUpdate {
- return &RecipePropertiesUpdate{
- Parameters: t.Parameters,
- TemplateKind: t.TemplateKind,
- TemplatePath: t.TemplatePath,
- }
-}
-
// TrackedResource - The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags'
// and a 'location'
type TrackedResource struct {
@@ -1851,21 +1566,21 @@ type VolumeResourceListResult struct {
NextLink *string
}
-// VolumeResourceUpdate - The type used for update operations of the VolumeResource.
+// VolumeResourceUpdate - Radius Volume resource.
type VolumeResourceUpdate struct {
- // The updatable properties of the VolumeResource.
- Properties *VolumeResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// VolumeResourceUpdateProperties - The updatable properties of the VolumeResource.
-type VolumeResourceUpdateProperties struct {
- // Fully qualified resource ID for the application
- Application *string
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Fully qualified resource ID for the environment that the application is linked to
- Environment *string
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_models_serde.go b/pkg/corerp/api/v20231001preview/zz_generated_models_serde.go
index 87f3ce04dab..d02daf69d55 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_models_serde.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_models_serde.go
@@ -278,8 +278,11 @@ func (a *ApplicationResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type ApplicationResourceUpdate.
func (a ApplicationResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", a.Properties)
+ populate(objectMap, "id", a.ID)
+ populate(objectMap, "name", a.Name)
+ populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "tags", a.Tags)
+ populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
@@ -292,42 +295,20 @@ func (a *ApplicationResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &a.Properties)
+ case "id":
+ err = unpopulate(val, "ID", &a.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &a.Name)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", a, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type ApplicationResourceUpdateProperties.
-func (a ApplicationResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "environment", a.Environment)
- populate(objectMap, "extensions", a.Extensions)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationResourceUpdateProperties.
-func (a *ApplicationResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", a, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "environment":
- err = unpopulate(val, "Environment", &a.Environment)
- delete(rawMsg, key)
- case "extensions":
- a.Extensions, err = unmarshalExtensionClassificationArray(val)
+ case "type":
+ err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -423,45 +404,58 @@ func (a *AzureKeyVaultVolumeProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type BicepConfigProperties.
-func (b BicepConfigProperties) MarshalJSON() ([]byte, error) {
+// MarshalJSON implements the json.Marshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a AzureResourceManagerCommonTypesTrackedResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "authentication", b.Authentication)
+ populate(objectMap, "id", a.ID)
+ populate(objectMap, "name", a.Name)
+ populate(objectMap, "systemData", a.SystemData)
+ populate(objectMap, "tags", a.Tags)
+ populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
-// UnmarshalJSON implements the json.Unmarshaller interface for type BicepConfigProperties.
-func (b *BicepConfigProperties) UnmarshalJSON(data []byte) error {
+// UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a *AzureResourceManagerCommonTypesTrackedResourceUpdate) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", b, err)
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
- case "authentication":
- err = unpopulate(val, "Authentication", &b.Authentication)
+ case "id":
+ err = unpopulate(val, "ID", &a.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &a.Name)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &a.SystemData)
+ delete(rawMsg, key)
+ case "tags":
+ err = unpopulate(val, "Tags", &a.Tags)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", b, err)
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type BicepRecipeProperties.
-func (b BicepRecipeProperties) MarshalJSON() ([]byte, error) {
+// MarshalJSON implements the json.Marshaller interface for type BicepConfigProperties.
+func (b BicepConfigProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "parameters", b.Parameters)
- populate(objectMap, "plainHttp", b.PlainHTTP)
- objectMap["templateKind"] = "bicep"
- populate(objectMap, "templatePath", b.TemplatePath)
+ populate(objectMap, "authentication", b.Authentication)
return json.Marshal(objectMap)
}
-// UnmarshalJSON implements the json.Unmarshaller interface for type BicepRecipeProperties.
-func (b *BicepRecipeProperties) UnmarshalJSON(data []byte) error {
+// UnmarshalJSON implements the json.Unmarshaller interface for type BicepConfigProperties.
+func (b *BicepConfigProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
@@ -469,17 +463,8 @@ func (b *BicepRecipeProperties) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "parameters":
- err = unpopulate(val, "Parameters", &b.Parameters)
- delete(rawMsg, key)
- case "plainHttp":
- err = unpopulate(val, "PlainHTTP", &b.PlainHTTP)
- delete(rawMsg, key)
- case "templateKind":
- err = unpopulate(val, "TemplateKind", &b.TemplateKind)
- delete(rawMsg, key)
- case "templatePath":
- err = unpopulate(val, "TemplatePath", &b.TemplatePath)
+ case "authentication":
+ err = unpopulate(val, "Authentication", &b.Authentication)
delete(rawMsg, key)
}
if err != nil {
@@ -489,8 +474,8 @@ func (b *BicepRecipeProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type BicepRecipePropertiesUpdate.
-func (b BicepRecipePropertiesUpdate) MarshalJSON() ([]byte, error) {
+// MarshalJSON implements the json.Marshaller interface for type BicepRecipeProperties.
+func (b BicepRecipeProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "parameters", b.Parameters)
populate(objectMap, "plainHttp", b.PlainHTTP)
@@ -499,8 +484,8 @@ func (b BicepRecipePropertiesUpdate) MarshalJSON() ([]byte, error) {
return json.Marshal(objectMap)
}
-// UnmarshalJSON implements the json.Unmarshaller interface for type BicepRecipePropertiesUpdate.
-func (b *BicepRecipePropertiesUpdate) UnmarshalJSON(data []byte) error {
+// UnmarshalJSON implements the json.Unmarshaller interface for type BicepRecipeProperties.
+func (b *BicepRecipeProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
@@ -610,41 +595,6 @@ func (c *ConnectionProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type ConnectionPropertiesUpdate.
-func (c ConnectionPropertiesUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "disableDefaultEnvVars", c.DisableDefaultEnvVars)
- populate(objectMap, "iam", c.Iam)
- populate(objectMap, "source", c.Source)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionPropertiesUpdate.
-func (c *ConnectionPropertiesUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "disableDefaultEnvVars":
- err = unpopulate(val, "DisableDefaultEnvVars", &c.DisableDefaultEnvVars)
- delete(rawMsg, key)
- case "iam":
- err = unpopulate(val, "Iam", &c.Iam)
- delete(rawMsg, key)
- case "source":
- err = unpopulate(val, "Source", &c.Source)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type Container.
func (c Container) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -747,45 +697,6 @@ func (c *ContainerPortProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type ContainerPortPropertiesUpdate.
-func (c ContainerPortPropertiesUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "containerPort", c.ContainerPort)
- populate(objectMap, "port", c.Port)
- populate(objectMap, "protocol", c.Protocol)
- populate(objectMap, "scheme", c.Scheme)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ContainerPortPropertiesUpdate.
-func (c *ContainerPortPropertiesUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "containerPort":
- err = unpopulate(val, "ContainerPort", &c.ContainerPort)
- delete(rawMsg, key)
- case "port":
- err = unpopulate(val, "Port", &c.Port)
- delete(rawMsg, key)
- case "protocol":
- err = unpopulate(val, "Protocol", &c.Protocol)
- delete(rawMsg, key)
- case "scheme":
- err = unpopulate(val, "Scheme", &c.Scheme)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type ContainerProperties.
func (c ContainerProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -942,8 +853,11 @@ func (c *ContainerResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type ContainerResourceUpdate.
func (c ContainerResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", c.Properties)
+ populate(objectMap, "id", c.ID)
+ populate(objectMap, "name", c.Name)
+ populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "tags", c.Tags)
+ populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
@@ -956,137 +870,20 @@ func (c *ContainerResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &c.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &c.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type ContainerResourceUpdateProperties.
-func (c ContainerResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", c.Application)
- populate(objectMap, "connections", c.Connections)
- populate(objectMap, "container", c.Container)
- populate(objectMap, "environment", c.Environment)
- populate(objectMap, "extensions", c.Extensions)
- populate(objectMap, "identity", c.Identity)
- populate(objectMap, "resourceProvisioning", c.ResourceProvisioning)
- populate(objectMap, "resources", c.Resources)
- populate(objectMap, "restartPolicy", c.RestartPolicy)
- populate(objectMap, "runtimes", c.Runtimes)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ContainerResourceUpdateProperties.
-func (c *ContainerResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &c.Application)
- delete(rawMsg, key)
- case "connections":
- err = unpopulate(val, "Connections", &c.Connections)
- delete(rawMsg, key)
- case "container":
- err = unpopulate(val, "Container", &c.Container)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &c.Environment)
- delete(rawMsg, key)
- case "extensions":
- c.Extensions, err = unmarshalExtensionClassificationArray(val)
- delete(rawMsg, key)
- case "identity":
- err = unpopulate(val, "Identity", &c.Identity)
- delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &c.ResourceProvisioning)
- delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &c.Resources)
- delete(rawMsg, key)
- case "restartPolicy":
- err = unpopulate(val, "RestartPolicy", &c.RestartPolicy)
- delete(rawMsg, key)
- case "runtimes":
- err = unpopulate(val, "Runtimes", &c.Runtimes)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type ContainerUpdate.
-func (c ContainerUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "args", c.Args)
- populate(objectMap, "command", c.Command)
- populate(objectMap, "env", c.Env)
- populate(objectMap, "image", c.Image)
- populate(objectMap, "imagePullPolicy", c.ImagePullPolicy)
- populate(objectMap, "livenessProbe", c.LivenessProbe)
- populate(objectMap, "ports", c.Ports)
- populate(objectMap, "readinessProbe", c.ReadinessProbe)
- populate(objectMap, "volumes", c.Volumes)
- populate(objectMap, "workingDir", c.WorkingDir)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ContainerUpdate.
-func (c *ContainerUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", c, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "args":
- err = unpopulate(val, "Args", &c.Args)
- delete(rawMsg, key)
- case "command":
- err = unpopulate(val, "Command", &c.Command)
- delete(rawMsg, key)
- case "env":
- err = unpopulate(val, "Env", &c.Env)
- delete(rawMsg, key)
- case "image":
- err = unpopulate(val, "Image", &c.Image)
- delete(rawMsg, key)
- case "imagePullPolicy":
- err = unpopulate(val, "ImagePullPolicy", &c.ImagePullPolicy)
- delete(rawMsg, key)
- case "livenessProbe":
- c.LivenessProbe, err = unmarshalHealthProbePropertiesClassification(val)
+ case "id":
+ err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
- case "ports":
- err = unpopulate(val, "Ports", &c.Ports)
+ case "name":
+ err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
- case "readinessProbe":
- c.ReadinessProbe, err = unmarshalHealthProbePropertiesClassification(val)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
- case "volumes":
- c.Volumes, err = unmarshalVolumeClassificationMap(val)
+ case "tags":
+ err = unpopulate(val, "Tags", &c.Tags)
delete(rawMsg, key)
- case "workingDir":
- err = unpopulate(val, "WorkingDir", &c.WorkingDir)
+ case "type":
+ err = unpopulate(val, "Type", &c.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -1174,41 +971,6 @@ func (e *EnvironmentCompute) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type EnvironmentComputeUpdate.
-func (e EnvironmentComputeUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "identity", e.Identity)
- objectMap["kind"] = e.Kind
- populate(objectMap, "resourceId", e.ResourceID)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type EnvironmentComputeUpdate.
-func (e *EnvironmentComputeUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "identity":
- err = unpopulate(val, "Identity", &e.Identity)
- delete(rawMsg, key)
- case "kind":
- err = unpopulate(val, "Kind", &e.Kind)
- delete(rawMsg, key)
- case "resourceId":
- err = unpopulate(val, "ResourceID", &e.ResourceID)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type EnvironmentProperties.
func (e EnvironmentProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -1356,8 +1118,11 @@ func (e *EnvironmentResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type EnvironmentResourceUpdate.
func (e EnvironmentResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", e.Properties)
+ populate(objectMap, "id", e.ID)
+ populate(objectMap, "name", e.Name)
+ populate(objectMap, "systemData", e.SystemData)
populate(objectMap, "tags", e.Tags)
+ populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
@@ -1370,69 +1135,20 @@ func (e *EnvironmentResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &e.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &e.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type EnvironmentResourceUpdateProperties.
-func (e EnvironmentResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "compute", e.Compute)
- populate(objectMap, "extensions", e.Extensions)
- populate(objectMap, "providers", e.Providers)
- populate(objectMap, "recipeConfig", e.RecipeConfig)
- populate(objectMap, "recipes", e.Recipes)
- populate(objectMap, "simulated", e.Simulated)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type EnvironmentResourceUpdateProperties.
-func (e *EnvironmentResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "compute":
- e.Compute, err = unmarshalEnvironmentComputeUpdateClassification(val)
- delete(rawMsg, key)
- case "extensions":
- e.Extensions, err = unmarshalExtensionClassificationArray(val)
+ case "id":
+ err = unpopulate(val, "ID", &e.ID)
delete(rawMsg, key)
- case "providers":
- err = unpopulate(val, "Providers", &e.Providers)
+ case "name":
+ err = unpopulate(val, "Name", &e.Name)
delete(rawMsg, key)
- case "recipeConfig":
- err = unpopulate(val, "RecipeConfig", &e.RecipeConfig)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &e.SystemData)
delete(rawMsg, key)
- case "recipes":
- var recipesRaw map[string]json.RawMessage
- if err = json.Unmarshal(val, &recipesRaw); err != nil {
- return err
- }
- recipes := map[string]map[string]RecipePropertiesUpdateClassification{}
- for k1, v1 := range recipesRaw {
- recipes[k1], err = unmarshalRecipePropertiesUpdateClassificationMap(v1)
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- }
- e.Recipes = recipes
+ case "tags":
+ err = unpopulate(val, "Tags", &e.Tags)
delete(rawMsg, key)
- case "simulated":
- err = unpopulate(val, "Simulated", &e.Simulated)
+ case "type":
+ err = unpopulate(val, "Type", &e.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -1500,64 +1216,6 @@ func (e *EnvironmentVariableReference) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type EnvironmentVariableReferenceUpdate.
-func (e EnvironmentVariableReferenceUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "secretRef", e.SecretRef)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type EnvironmentVariableReferenceUpdate.
-func (e *EnvironmentVariableReferenceUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "secretRef":
- err = unpopulate(val, "SecretRef", &e.SecretRef)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type EnvironmentVariableUpdate.
-func (e EnvironmentVariableUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "value", e.Value)
- populate(objectMap, "valueFrom", e.ValueFrom)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type EnvironmentVariableUpdate.
-func (e *EnvironmentVariableUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "value":
- err = unpopulate(val, "Value", &e.Value)
- delete(rawMsg, key)
- case "valueFrom":
- err = unpopulate(val, "ValueFrom", &e.ValueFrom)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type EphemeralVolume.
func (e EphemeralVolume) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -1892,8 +1550,11 @@ func (e *ExtenderResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type ExtenderResourceUpdate.
func (e ExtenderResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", e.Properties)
+ populate(objectMap, "id", e.ID)
+ populate(objectMap, "name", e.Name)
+ populate(objectMap, "systemData", e.SystemData)
populate(objectMap, "tags", e.Tags)
+ populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
@@ -1906,54 +1567,20 @@ func (e *ExtenderResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &e.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &e.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type ExtenderResourceUpdateProperties.
-func (e ExtenderResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", e.Application)
- populate(objectMap, "environment", e.Environment)
- populate(objectMap, "recipe", e.Recipe)
- populate(objectMap, "resourceProvisioning", e.ResourceProvisioning)
- populate(objectMap, "secrets", e.Secrets)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ExtenderResourceUpdateProperties.
-func (e *ExtenderResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", e, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &e.Application)
+ case "id":
+ err = unpopulate(val, "ID", &e.ID)
delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &e.Environment)
+ case "name":
+ err = unpopulate(val, "Name", &e.Name)
delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &e.Recipe)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &e.SystemData)
delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &e.ResourceProvisioning)
+ case "tags":
+ err = unpopulate(val, "Tags", &e.Tags)
delete(rawMsg, key)
- case "secrets":
- err = unpopulate(val, "Secrets", &e.Secrets)
+ case "type":
+ err = unpopulate(val, "Type", &e.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -2165,8 +1792,11 @@ func (g *GatewayResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type GatewayResourceUpdate.
func (g GatewayResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", g.Properties)
+ populate(objectMap, "id", g.ID)
+ populate(objectMap, "name", g.Name)
+ populate(objectMap, "systemData", g.SystemData)
populate(objectMap, "tags", g.Tags)
+ populate(objectMap, "type", g.Type)
return json.Marshal(objectMap)
}
@@ -2179,58 +1809,20 @@ func (g *GatewayResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &g.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &g.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", g, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type GatewayResourceUpdateProperties.
-func (g GatewayResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", g.Application)
- populate(objectMap, "environment", g.Environment)
- populate(objectMap, "hostname", g.Hostname)
- populate(objectMap, "internal", g.Internal)
- populate(objectMap, "routes", g.Routes)
- populate(objectMap, "tls", g.TLS)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type GatewayResourceUpdateProperties.
-func (g *GatewayResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", g, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &g.Application)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &g.Environment)
+ case "id":
+ err = unpopulate(val, "ID", &g.ID)
delete(rawMsg, key)
- case "hostname":
- err = unpopulate(val, "Hostname", &g.Hostname)
+ case "name":
+ err = unpopulate(val, "Name", &g.Name)
delete(rawMsg, key)
- case "internal":
- err = unpopulate(val, "Internal", &g.Internal)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &g.SystemData)
delete(rawMsg, key)
- case "routes":
- err = unpopulate(val, "Routes", &g.Routes)
+ case "tags":
+ err = unpopulate(val, "Tags", &g.Tags)
delete(rawMsg, key)
- case "tls":
- err = unpopulate(val, "TLS", &g.TLS)
+ case "type":
+ err = unpopulate(val, "Type", &g.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -2470,37 +2062,6 @@ func (i *IamProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type IamPropertiesUpdate.
-func (i IamPropertiesUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "kind", i.Kind)
- populate(objectMap, "roles", i.Roles)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type IamPropertiesUpdate.
-func (i *IamPropertiesUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", i, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "kind":
- err = unpopulate(val, "Kind", &i.Kind)
- delete(rawMsg, key)
- case "roles":
- err = unpopulate(val, "Roles", &i.Roles)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", i, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type IdentitySettings.
func (i IdentitySettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -2536,41 +2097,6 @@ func (i *IdentitySettings) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type IdentitySettingsUpdate.
-func (i IdentitySettingsUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "kind", i.Kind)
- populate(objectMap, "oidcIssuer", i.OidcIssuer)
- populate(objectMap, "resource", i.Resource)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type IdentitySettingsUpdate.
-func (i *IdentitySettingsUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", i, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "kind":
- err = unpopulate(val, "Kind", &i.Kind)
- delete(rawMsg, key)
- case "oidcIssuer":
- err = unpopulate(val, "OidcIssuer", &i.OidcIssuer)
- delete(rawMsg, key)
- case "resource":
- err = unpopulate(val, "Resource", &i.Resource)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", i, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type KeyObjectProperties.
func (k KeyObjectProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -2645,45 +2171,6 @@ func (k *KubernetesCompute) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type KubernetesComputeUpdate.
-func (k KubernetesComputeUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "identity", k.Identity)
- objectMap["kind"] = "kubernetes"
- populate(objectMap, "namespace", k.Namespace)
- populate(objectMap, "resourceId", k.ResourceID)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesComputeUpdate.
-func (k *KubernetesComputeUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", k, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "identity":
- err = unpopulate(val, "Identity", &k.Identity)
- delete(rawMsg, key)
- case "kind":
- err = unpopulate(val, "Kind", &k.Kind)
- delete(rawMsg, key)
- case "namespace":
- err = unpopulate(val, "Namespace", &k.Namespace)
- delete(rawMsg, key)
- case "resourceId":
- err = unpopulate(val, "ResourceID", &k.ResourceID)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", k, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type KubernetesMetadataExtension.
func (k KubernetesMetadataExtension) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -3025,98 +2512,13 @@ func (p *ProviderConfigProperties) UnmarshalJSON(data []byte) error {
delete(rawMsg, key)
default:
if p.AdditionalProperties == nil {
- p.AdditionalProperties = map[string]any{}
- }
- if val != nil {
- var aux any
- err = json.Unmarshal(val, &aux)
- p.AdditionalProperties[key] = aux
- }
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", p, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type Providers.
-func (p Providers) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "aws", p.Aws)
- populate(objectMap, "azure", p.Azure)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type Providers.
-func (p *Providers) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", p, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "aws":
- err = unpopulate(val, "Aws", &p.Aws)
- delete(rawMsg, key)
- case "azure":
- err = unpopulate(val, "Azure", &p.Azure)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", p, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type ProvidersAws.
-func (p ProvidersAws) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "scope", p.Scope)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersAws.
-func (p *ProvidersAws) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", p, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "scope":
- err = unpopulate(val, "Scope", &p.Scope)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", p, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type ProvidersAwsUpdate.
-func (p ProvidersAwsUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "scope", p.Scope)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersAwsUpdate.
-func (p *ProvidersAwsUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", p, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "scope":
- err = unpopulate(val, "Scope", &p.Scope)
+ p.AdditionalProperties = map[string]any{}
+ }
+ if val != nil {
+ var aux any
+ err = json.Unmarshal(val, &aux)
+ p.AdditionalProperties[key] = aux
+ }
delete(rawMsg, key)
}
if err != nil {
@@ -3126,15 +2528,16 @@ func (p *ProvidersAwsUpdate) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type ProvidersAzure.
-func (p ProvidersAzure) MarshalJSON() ([]byte, error) {
+// MarshalJSON implements the json.Marshaller interface for type Providers.
+func (p Providers) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "scope", p.Scope)
+ populate(objectMap, "aws", p.Aws)
+ populate(objectMap, "azure", p.Azure)
return json.Marshal(objectMap)
}
-// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersAzure.
-func (p *ProvidersAzure) UnmarshalJSON(data []byte) error {
+// UnmarshalJSON implements the json.Unmarshaller interface for type Providers.
+func (p *Providers) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
@@ -3142,8 +2545,11 @@ func (p *ProvidersAzure) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "scope":
- err = unpopulate(val, "Scope", &p.Scope)
+ case "aws":
+ err = unpopulate(val, "Aws", &p.Aws)
+ delete(rawMsg, key)
+ case "azure":
+ err = unpopulate(val, "Azure", &p.Azure)
delete(rawMsg, key)
}
if err != nil {
@@ -3153,15 +2559,15 @@ func (p *ProvidersAzure) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type ProvidersAzureUpdate.
-func (p ProvidersAzureUpdate) MarshalJSON() ([]byte, error) {
+// MarshalJSON implements the json.Marshaller interface for type ProvidersAws.
+func (p ProvidersAws) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "scope", p.Scope)
return json.Marshal(objectMap)
}
-// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersAzureUpdate.
-func (p *ProvidersAzureUpdate) UnmarshalJSON(data []byte) error {
+// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersAws.
+func (p *ProvidersAws) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
@@ -3180,16 +2586,15 @@ func (p *ProvidersAzureUpdate) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type ProvidersUpdate.
-func (p ProvidersUpdate) MarshalJSON() ([]byte, error) {
+// MarshalJSON implements the json.Marshaller interface for type ProvidersAzure.
+func (p ProvidersAzure) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "aws", p.Aws)
- populate(objectMap, "azure", p.Azure)
+ populate(objectMap, "scope", p.Scope)
return json.Marshal(objectMap)
}
-// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersUpdate.
-func (p *ProvidersUpdate) UnmarshalJSON(data []byte) error {
+// UnmarshalJSON implements the json.Unmarshaller interface for type ProvidersAzure.
+func (p *ProvidersAzure) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
@@ -3197,11 +2602,8 @@ func (p *ProvidersUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "aws":
- err = unpopulate(val, "Aws", &p.Aws)
- delete(rawMsg, key)
- case "azure":
- err = unpopulate(val, "Azure", &p.Azure)
+ case "scope":
+ err = unpopulate(val, "Scope", &p.Scope)
delete(rawMsg, key)
}
if err != nil {
@@ -3390,41 +2792,6 @@ func (r *RecipeProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type RecipePropertiesUpdate.
-func (r RecipePropertiesUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "parameters", r.Parameters)
- objectMap["templateKind"] = r.TemplateKind
- populate(objectMap, "templatePath", r.TemplatePath)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RecipePropertiesUpdate.
-func (r *RecipePropertiesUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "parameters":
- err = unpopulate(val, "Parameters", &r.Parameters)
- delete(rawMsg, key)
- case "templateKind":
- err = unpopulate(val, "TemplateKind", &r.TemplateKind)
- delete(rawMsg, key)
- case "templatePath":
- err = unpopulate(val, "TemplatePath", &r.TemplatePath)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type RecipeStatus.
func (r RecipeStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -3460,37 +2827,6 @@ func (r *RecipeStatus) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type RecipeUpdate.
-func (r RecipeUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "name", r.Name)
- populate(objectMap, "parameters", r.Parameters)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RecipeUpdate.
-func (r *RecipeUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "name":
- err = unpopulate(val, "Name", &r.Name)
- delete(rawMsg, key)
- case "parameters":
- err = unpopulate(val, "Parameters", &r.Parameters)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type RegistrySecretConfig.
func (r RegistrySecretConfig) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -3743,37 +3079,6 @@ func (s *SecretReference) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type SecretReferenceUpdate.
-func (s SecretReferenceUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "key", s.Key)
- populate(objectMap, "source", s.Source)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type SecretReferenceUpdate.
-func (s *SecretReferenceUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", s, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "key":
- err = unpopulate(val, "Key", &s.Key)
- delete(rawMsg, key)
- case "source":
- err = unpopulate(val, "Source", &s.Source)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", s, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type SecretStoreListSecretsResult.
func (s SecretStoreListSecretsResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -3941,8 +3246,11 @@ func (s *SecretStoreResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type SecretStoreResourceUpdate.
func (s SecretStoreResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", s.Properties)
+ populate(objectMap, "id", s.ID)
+ populate(objectMap, "name", s.Name)
+ populate(objectMap, "systemData", s.SystemData)
populate(objectMap, "tags", s.Tags)
+ populate(objectMap, "type", s.Type)
return json.Marshal(objectMap)
}
@@ -3955,51 +3263,17 @@ func (s *SecretStoreResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &s.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &s.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", s, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type SecretStoreResourceUpdateProperties.
-func (s SecretStoreResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", s.Application)
- populate(objectMap, "data", s.Data)
- populate(objectMap, "environment", s.Environment)
- populate(objectMap, "resource", s.Resource)
- populate(objectMap, "type", s.Type)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type SecretStoreResourceUpdateProperties.
-func (s *SecretStoreResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", s, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &s.Application)
+ case "id":
+ err = unpopulate(val, "ID", &s.ID)
delete(rawMsg, key)
- case "data":
- err = unpopulate(val, "Data", &s.Data)
+ case "name":
+ err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &s.Environment)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &s.SystemData)
delete(rawMsg, key)
- case "resource":
- err = unpopulate(val, "Resource", &s.Resource)
+ case "tags":
+ err = unpopulate(val, "Tags", &s.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &s.Type)
@@ -4211,45 +3485,6 @@ func (t *TerraformRecipeProperties) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type TerraformRecipePropertiesUpdate.
-func (t TerraformRecipePropertiesUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "parameters", t.Parameters)
- objectMap["templateKind"] = "terraform"
- populate(objectMap, "templatePath", t.TemplatePath)
- populate(objectMap, "templateVersion", t.TemplateVersion)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type TerraformRecipePropertiesUpdate.
-func (t *TerraformRecipePropertiesUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", t, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "parameters":
- err = unpopulate(val, "Parameters", &t.Parameters)
- delete(rawMsg, key)
- case "templateKind":
- err = unpopulate(val, "TemplateKind", &t.TemplateKind)
- delete(rawMsg, key)
- case "templatePath":
- err = unpopulate(val, "TemplatePath", &t.TemplatePath)
- delete(rawMsg, key)
- case "templateVersion":
- err = unpopulate(val, "TemplateVersion", &t.TemplateVersion)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", t, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type TrackedResource.
func (t TrackedResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -4487,8 +3722,11 @@ func (v *VolumeResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type VolumeResourceUpdate.
func (v VolumeResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", v.Properties)
+ populate(objectMap, "id", v.ID)
+ populate(objectMap, "name", v.Name)
+ populate(objectMap, "systemData", v.SystemData)
populate(objectMap, "tags", v.Tags)
+ populate(objectMap, "type", v.Type)
return json.Marshal(objectMap)
}
@@ -4501,42 +3739,20 @@ func (v *VolumeResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &v.Properties)
+ case "id":
+ err = unpopulate(val, "ID", &v.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &v.Name)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &v.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &v.Tags)
delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", v, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type VolumeResourceUpdateProperties.
-func (v VolumeResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", v.Application)
- populate(objectMap, "environment", v.Environment)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type VolumeResourceUpdateProperties.
-func (v *VolumeResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", v, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &v.Application)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &v.Environment)
+ case "type":
+ err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_polymorphic_helpers.go b/pkg/corerp/api/v20231001preview/zz_generated_polymorphic_helpers.go
index 543b2e01c90..176251b27b3 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_polymorphic_helpers.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_polymorphic_helpers.go
@@ -30,27 +30,6 @@ func unmarshalEnvironmentComputeClassification(rawMsg json.RawMessage) (Environm
return b, nil
}
-func unmarshalEnvironmentComputeUpdateClassification(rawMsg json.RawMessage) (EnvironmentComputeUpdateClassification, error) {
- if rawMsg == nil {
- return nil, nil
- }
- var m map[string]any
- if err := json.Unmarshal(rawMsg, &m); err != nil {
- return nil, err
- }
- var b EnvironmentComputeUpdateClassification
- switch m["kind"] {
- case "kubernetes":
- b = &KubernetesComputeUpdate{}
- default:
- b = &EnvironmentComputeUpdate{}
- }
- if err := json.Unmarshal(rawMsg, b); err != nil {
- return nil, err
- }
- return b, nil
-}
-
func unmarshalExtensionClassification(rawMsg json.RawMessage) (ExtensionClassification, error) {
if rawMsg == nil {
return nil, nil
@@ -164,48 +143,6 @@ func unmarshalRecipePropertiesClassificationMap(rawMsg json.RawMessage) (map[str
return fMap, nil
}
-func unmarshalRecipePropertiesUpdateClassification(rawMsg json.RawMessage) (RecipePropertiesUpdateClassification, error) {
- if rawMsg == nil {
- return nil, nil
- }
- var m map[string]any
- if err := json.Unmarshal(rawMsg, &m); err != nil {
- return nil, err
- }
- var b RecipePropertiesUpdateClassification
- switch m["templateKind"] {
- case "bicep":
- b = &BicepRecipePropertiesUpdate{}
- case "terraform":
- b = &TerraformRecipePropertiesUpdate{}
- default:
- b = &RecipePropertiesUpdate{}
- }
- if err := json.Unmarshal(rawMsg, b); err != nil {
- return nil, err
- }
- return b, nil
-}
-
-func unmarshalRecipePropertiesUpdateClassificationMap(rawMsg json.RawMessage) (map[string]RecipePropertiesUpdateClassification, error) {
- if rawMsg == nil {
- return nil, nil
- }
- var rawMessages map[string]json.RawMessage
- if err := json.Unmarshal(rawMsg, &rawMessages); err != nil {
- return nil, err
- }
- fMap := make(map[string]RecipePropertiesUpdateClassification, len(rawMessages))
- for key, rawMessage := range rawMessages {
- f, err := unmarshalRecipePropertiesUpdateClassification(rawMessage)
- if err != nil {
- return nil, err
- }
- fMap[key] = f
- }
- return fMap, nil
-}
-
func unmarshalVolumeClassification(rawMsg json.RawMessage) (VolumeClassification, error) {
if rawMsg == nil {
return nil, nil
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_response_types.go b/pkg/corerp/api/v20231001preview/zz_generated_response_types.go
index d00c2577bfe..8322ebd40c4 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_response_types.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_response_types.go
@@ -131,8 +131,8 @@ type ExtendersClientListByScopeResponse struct {
// ExtendersClientListSecretsResponse contains the response from method ExtendersClient.ListSecrets.
type ExtendersClientListSecretsResponse struct {
- // Any object
- Object map[string]any
+ // Response for list secrets API call
+ Value map[string]any
}
// ExtendersClientUpdateResponse contains the response from method ExtendersClient.BeginUpdate.
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_secretstores_client.go b/pkg/corerp/api/v20231001preview/zz_generated_secretstores_client.go
index 2486c3dc7cf..760cfa22603 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_secretstores_client.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_secretstores_client.go
@@ -146,7 +146,7 @@ func (client *SecretStoresClient) deleteOperation(ctx context.Context, secretSto
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/corerp/api/v20231001preview/zz_generated_volumes_client.go b/pkg/corerp/api/v20231001preview/zz_generated_volumes_client.go
index 5b6a16773ed..a371b7191a0 100644
--- a/pkg/corerp/api/v20231001preview/zz_generated_volumes_client.go
+++ b/pkg/corerp/api/v20231001preview/zz_generated_volumes_client.go
@@ -145,7 +145,7 @@ func (client *VolumesClient) deleteOperation(ctx context.Context, volumeName str
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_configurationstores_client.go b/pkg/daprrp/api/v20231001preview/zz_generated_configurationstores_client.go
index 56cafd78e94..105be3a5383 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_configurationstores_client.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_configurationstores_client.go
@@ -146,7 +146,7 @@ func (client *ConfigurationStoresClient) deleteOperation(ctx context.Context, co
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_constants.go b/pkg/daprrp/api/v20231001preview/zz_generated_constants.go
index bf40cc2d3c7..dee57fba783 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_constants.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_constants.go
@@ -89,17 +89,19 @@ type ProvisioningState string
const (
// ProvisioningStateAccepted - The resource create request has been accepted
ProvisioningStateAccepted ProvisioningState = "Accepted"
- // ProvisioningStateCanceled - Resource creation was canceled.
+ // ProvisioningStateCanceled - The resource provisioning has been canceled
ProvisioningStateCanceled ProvisioningState = "Canceled"
+ // ProvisioningStateCreating - The resource is being created
+ ProvisioningStateCreating ProvisioningState = "Creating"
// ProvisioningStateDeleting - The resource is being deleted
ProvisioningStateDeleting ProvisioningState = "Deleting"
- // ProvisioningStateFailed - Resource creation failed.
+ // ProvisioningStateFailed - The resource provisioning has failed
ProvisioningStateFailed ProvisioningState = "Failed"
// ProvisioningStateProvisioning - The resource is being provisioned
ProvisioningStateProvisioning ProvisioningState = "Provisioning"
- // ProvisioningStateSucceeded - Resource has been created.
+ // ProvisioningStateSucceeded - The resource has been successfully provisioned
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
- // ProvisioningStateUpdating - The resource is updating
+ // ProvisioningStateUpdating - The resource is being updated
ProvisioningStateUpdating ProvisioningState = "Updating"
)
@@ -108,6 +110,7 @@ func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{
ProvisioningStateAccepted,
ProvisioningStateCanceled,
+ ProvisioningStateCreating,
ProvisioningStateDeleting,
ProvisioningStateFailed,
ProvisioningStateProvisioning,
@@ -136,18 +139,3 @@ func PossibleResourceProvisioningValues() []ResourceProvisioning {
}
}
-// Versions - Supported API versions for the Applications.Dapr resource provider.
-type Versions string
-
-const (
- // VersionsV20231001Preview - 2023-10-01-preview
- VersionsV20231001Preview Versions = "2023-10-01-preview"
-)
-
-// PossibleVersionsValues returns the possible values for the Versions const type.
-func PossibleVersionsValues() []Versions {
- return []Versions{
- VersionsV20231001Preview,
- }
-}
-
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_models.go b/pkg/daprrp/api/v20231001preview/zz_generated_models.go
index 70e58c301ad..e6c350c4a77 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_models.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_models.go
@@ -9,6 +9,25 @@ package v20231001preview
import "time"
+// AzureResourceManagerCommonTypesTrackedResourceUpdate - The resource model definition for an Azure Resource Manager tracked
+// top level resource which has 'tags' and a 'location'
+type AzureResourceManagerCommonTypesTrackedResourceUpdate struct {
+ // Resource tags.
+ Tags map[string]*string
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
// DaprConfigurationStoreProperties - Dapr configuration store portable resource properties
type DaprConfigurationStoreProperties struct {
// REQUIRED; Fully qualified resource ID for the environment that the portable resource is linked to
@@ -82,43 +101,22 @@ type DaprConfigurationStoreResourceListResult struct {
NextLink *string
}
-// DaprConfigurationStoreResourceUpdate - The type used for update operations of the DaprConfigurationStoreResource.
+// DaprConfigurationStoreResourceUpdate - Dapr configuration store portable resource
type DaprConfigurationStoreResourceUpdate struct {
- // The updatable properties of the DaprConfigurationStoreResource.
- Properties *DaprConfigurationStoreResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// DaprConfigurationStoreResourceUpdateProperties - The updatable properties of the DaprConfigurationStoreResource.
-type DaprConfigurationStoreResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // The name of the Dapr component to be used as a secret store
- Auth *DaprResourceAuth
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // The metadata for Dapr resource which must match the values specified in Dapr component spec
- Metadata map[string]*MetadataValueUpdate
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
+ // READ-ONLY; The name of the resource
+ Name *string
- // A collection of references to resources associated with the configuration store
- Resources []*ResourceReference
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Dapr component type which must matches the format used by Dapr Kubernetes configuration format
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
-
- // Dapr component version
- Version *string
}
// DaprPubSubBrokerProperties - Dapr PubSubBroker portable resource properties
@@ -194,43 +192,22 @@ type DaprPubSubBrokerResourceListResult struct {
NextLink *string
}
-// DaprPubSubBrokerResourceUpdate - The type used for update operations of the DaprPubSubBrokerResource.
+// DaprPubSubBrokerResourceUpdate - Dapr PubSubBroker portable resource
type DaprPubSubBrokerResourceUpdate struct {
- // The updatable properties of the DaprPubSubBrokerResource.
- Properties *DaprPubSubBrokerResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// DaprPubSubBrokerResourceUpdateProperties - The updatable properties of the DaprPubSubBrokerResource.
-type DaprPubSubBrokerResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
- // The name of the Dapr component to be used as a secret store
- Auth *DaprResourceAuth
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // The metadata for Dapr resource which must match the values specified in Dapr component spec
- Metadata map[string]*MetadataValueUpdate
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
+ // READ-ONLY; The name of the resource
+ Name *string
- // A collection of references to resources associated with the pubSubBroker
- Resources []*ResourceReference
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Dapr component type which must matches the format used by Dapr Kubernetes configuration format
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
-
- // Dapr component version
- Version *string
}
// DaprResourceAuth - Authentication properties for a Dapr component object
@@ -306,37 +283,22 @@ type DaprSecretStoreResourceListResult struct {
NextLink *string
}
-// DaprSecretStoreResourceUpdate - The type used for update operations of the DaprSecretStoreResource.
+// DaprSecretStoreResourceUpdate - Dapr SecretStore portable resource
type DaprSecretStoreResourceUpdate struct {
- // The updatable properties of the DaprSecretStoreResource.
- Properties *DaprSecretStoreResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// DaprSecretStoreResourceUpdateProperties - The updatable properties of the DaprSecretStoreResource.
-type DaprSecretStoreResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
- // The metadata for Dapr resource which must match the values specified in Dapr component spec
- Metadata map[string]*MetadataValueUpdate
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
+ // READ-ONLY; The name of the resource
+ Name *string
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Dapr component type which must matches the format used by Dapr Kubernetes configuration format
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
-
- // Dapr component version
- Version *string
}
// DaprStateStoreProperties - Dapr StateStore portable resource properties
@@ -412,43 +374,22 @@ type DaprStateStoreResourceListResult struct {
NextLink *string
}
-// DaprStateStoreResourceUpdate - The type used for update operations of the DaprStateStoreResource.
+// DaprStateStoreResourceUpdate - Dapr StateStore portable resource
type DaprStateStoreResourceUpdate struct {
- // The updatable properties of the DaprStateStoreResource.
- Properties *DaprStateStoreResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-// DaprStateStoreResourceUpdateProperties - The updatable properties of the DaprStateStoreResource.
-type DaprStateStoreResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // The name of the Dapr component to be used as a secret store
- Auth *DaprResourceAuth
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // The metadata for Dapr resource which must match the values specified in Dapr component spec
- Metadata map[string]*MetadataValueUpdate
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
+ // READ-ONLY; The name of the resource
+ Name *string
- // A collection of references to resources associated with the state store
- Resources []*ResourceReference
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Dapr component type which must matches the format used by Dapr Kubernetes configuration format
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Type *string
-
- // Dapr component version
- Version *string
}
// EnvironmentCompute - Represents backing compute resource
@@ -554,24 +495,6 @@ type MetadataValueFromSecret struct {
Name *string
}
-// MetadataValueFromSecretUpdate - A reference of a value in a secret store component.
-type MetadataValueFromSecretUpdate struct {
- // The field to select in the secret value. If the secret value is a string, it should be equal to the secret name
- Key *string
-
- // Secret name in the secret store component
- Name *string
-}
-
-// MetadataValueUpdate - A single metadata for a Dapr component object
-type MetadataValueUpdate struct {
- // A reference of a value in a secret store component
- SecretKeyRef *MetadataValueFromSecretUpdate
-
- // The plain text value of the metadata
- Value *string
-}
-
// NonRedundantDaprResourceProperties - The base properties of a Dapr component object.
type NonRedundantDaprResourceProperties struct {
// The metadata for Dapr resource which must match the values specified in Dapr component spec
@@ -672,15 +595,6 @@ type RecipeStatus struct {
TemplateVersion *string
}
-// RecipeUpdate - The recipe used to automatically deploy underlying infrastructure for a portable resource
-type RecipeUpdate struct {
- // The name of the recipe within the environment to use
- Name *string
-
- // Key/value parameters to pass into the recipe at deployment
- Parameters map[string]any
-}
-
// Resource - Common fields that are returned in the response for all Azure Resource Manager resources
type Resource struct {
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_models_serde.go b/pkg/daprrp/api/v20231001preview/zz_generated_models_serde.go
index e6d48377f3b..2db85198546 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_models_serde.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_models_serde.go
@@ -14,6 +14,49 @@ import (
"reflect"
)
+// MarshalJSON implements the json.Marshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a AzureResourceManagerCommonTypesTrackedResourceUpdate) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", a.ID)
+ populate(objectMap, "name", a.Name)
+ populate(objectMap, "systemData", a.SystemData)
+ populate(objectMap, "tags", a.Tags)
+ populate(objectMap, "type", a.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a *AzureResourceManagerCommonTypesTrackedResourceUpdate) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &a.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &a.Name)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &a.SystemData)
+ delete(rawMsg, key)
+ case "tags":
+ err = unpopulate(val, "Tags", &a.Tags)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &a.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ }
+ return nil
+}
+
// MarshalJSON implements the json.Marshaller interface for type DaprConfigurationStoreProperties.
func (d DaprConfigurationStoreProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -170,8 +213,11 @@ func (d *DaprConfigurationStoreResourceListResult) UnmarshalJSON(data []byte) er
// MarshalJSON implements the json.Marshaller interface for type DaprConfigurationStoreResourceUpdate.
func (d DaprConfigurationStoreResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", d.Properties)
+ populate(objectMap, "id", d.ID)
+ populate(objectMap, "name", d.Name)
+ populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
+ populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
@@ -184,71 +230,21 @@ func (d *DaprConfigurationStoreResourceUpdate) UnmarshalJSON(data []byte) error
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &d.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &d.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type DaprConfigurationStoreResourceUpdateProperties.
-func (d DaprConfigurationStoreResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", d.Application)
- populate(objectMap, "auth", d.Auth)
- populate(objectMap, "environment", d.Environment)
- populate(objectMap, "metadata", d.Metadata)
- populate(objectMap, "recipe", d.Recipe)
- populate(objectMap, "resourceProvisioning", d.ResourceProvisioning)
- populate(objectMap, "resources", d.Resources)
- populate(objectMap, "type", d.Type)
- populate(objectMap, "version", d.Version)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type DaprConfigurationStoreResourceUpdateProperties.
-func (d *DaprConfigurationStoreResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &d.Application)
- delete(rawMsg, key)
- case "auth":
- err = unpopulate(val, "Auth", &d.Auth)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &d.Environment)
- delete(rawMsg, key)
- case "metadata":
- err = unpopulate(val, "Metadata", &d.Metadata)
+ case "id":
+ err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &d.Recipe)
+ case "name":
+ err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &d.ResourceProvisioning)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &d.Resources)
+ case "tags":
+ err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
- case "version":
- err = unpopulate(val, "Version", &d.Version)
- delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
@@ -413,8 +409,11 @@ func (d *DaprPubSubBrokerResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type DaprPubSubBrokerResourceUpdate.
func (d DaprPubSubBrokerResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", d.Properties)
+ populate(objectMap, "id", d.ID)
+ populate(objectMap, "name", d.Name)
+ populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
+ populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
@@ -427,71 +426,21 @@ func (d *DaprPubSubBrokerResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &d.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &d.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type DaprPubSubBrokerResourceUpdateProperties.
-func (d DaprPubSubBrokerResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", d.Application)
- populate(objectMap, "auth", d.Auth)
- populate(objectMap, "environment", d.Environment)
- populate(objectMap, "metadata", d.Metadata)
- populate(objectMap, "recipe", d.Recipe)
- populate(objectMap, "resourceProvisioning", d.ResourceProvisioning)
- populate(objectMap, "resources", d.Resources)
- populate(objectMap, "type", d.Type)
- populate(objectMap, "version", d.Version)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type DaprPubSubBrokerResourceUpdateProperties.
-func (d *DaprPubSubBrokerResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &d.Application)
- delete(rawMsg, key)
- case "auth":
- err = unpopulate(val, "Auth", &d.Auth)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &d.Environment)
- delete(rawMsg, key)
- case "metadata":
- err = unpopulate(val, "Metadata", &d.Metadata)
+ case "id":
+ err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &d.Recipe)
+ case "name":
+ err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &d.ResourceProvisioning)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &d.Resources)
+ case "tags":
+ err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
- case "version":
- err = unpopulate(val, "Version", &d.Version)
- delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
@@ -675,8 +624,11 @@ func (d *DaprSecretStoreResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type DaprSecretStoreResourceUpdate.
func (d DaprSecretStoreResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", d.Properties)
+ populate(objectMap, "id", d.ID)
+ populate(objectMap, "name", d.Name)
+ populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
+ populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
@@ -689,63 +641,21 @@ func (d *DaprSecretStoreResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &d.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &d.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type DaprSecretStoreResourceUpdateProperties.
-func (d DaprSecretStoreResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", d.Application)
- populate(objectMap, "environment", d.Environment)
- populate(objectMap, "metadata", d.Metadata)
- populate(objectMap, "recipe", d.Recipe)
- populate(objectMap, "resourceProvisioning", d.ResourceProvisioning)
- populate(objectMap, "type", d.Type)
- populate(objectMap, "version", d.Version)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type DaprSecretStoreResourceUpdateProperties.
-func (d *DaprSecretStoreResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &d.Application)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &d.Environment)
+ case "id":
+ err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
- case "metadata":
- err = unpopulate(val, "Metadata", &d.Metadata)
+ case "name":
+ err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &d.Recipe)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &d.ResourceProvisioning)
+ case "tags":
+ err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
- case "version":
- err = unpopulate(val, "Version", &d.Version)
- delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
@@ -910,8 +820,11 @@ func (d *DaprStateStoreResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type DaprStateStoreResourceUpdate.
func (d DaprStateStoreResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", d.Properties)
+ populate(objectMap, "id", d.ID)
+ populate(objectMap, "name", d.Name)
+ populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
+ populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
@@ -924,71 +837,21 @@ func (d *DaprStateStoreResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &d.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &d.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type DaprStateStoreResourceUpdateProperties.
-func (d DaprStateStoreResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", d.Application)
- populate(objectMap, "auth", d.Auth)
- populate(objectMap, "environment", d.Environment)
- populate(objectMap, "metadata", d.Metadata)
- populate(objectMap, "recipe", d.Recipe)
- populate(objectMap, "resourceProvisioning", d.ResourceProvisioning)
- populate(objectMap, "resources", d.Resources)
- populate(objectMap, "type", d.Type)
- populate(objectMap, "version", d.Version)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type DaprStateStoreResourceUpdateProperties.
-func (d *DaprStateStoreResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", d, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &d.Application)
- delete(rawMsg, key)
- case "auth":
- err = unpopulate(val, "Auth", &d.Auth)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &d.Environment)
- delete(rawMsg, key)
- case "metadata":
- err = unpopulate(val, "Metadata", &d.Metadata)
+ case "id":
+ err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &d.Recipe)
+ case "name":
+ err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &d.ResourceProvisioning)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &d.Resources)
+ case "tags":
+ err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
- case "version":
- err = unpopulate(val, "Version", &d.Version)
- delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
@@ -1269,68 +1132,6 @@ func (m *MetadataValueFromSecret) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type MetadataValueFromSecretUpdate.
-func (m MetadataValueFromSecretUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "key", m.Key)
- populate(objectMap, "name", m.Name)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type MetadataValueFromSecretUpdate.
-func (m *MetadataValueFromSecretUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", m, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "key":
- err = unpopulate(val, "Key", &m.Key)
- delete(rawMsg, key)
- case "name":
- err = unpopulate(val, "Name", &m.Name)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", m, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type MetadataValueUpdate.
-func (m MetadataValueUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "secretKeyRef", m.SecretKeyRef)
- populate(objectMap, "value", m.Value)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type MetadataValueUpdate.
-func (m *MetadataValueUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", m, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "secretKeyRef":
- err = unpopulate(val, "SecretKeyRef", &m.SecretKeyRef)
- delete(rawMsg, key)
- case "value":
- err = unpopulate(val, "Value", &m.Value)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", m, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type NonRedundantDaprResourceProperties.
func (n NonRedundantDaprResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -1584,37 +1385,6 @@ func (r *RecipeStatus) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type RecipeUpdate.
-func (r RecipeUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "name", r.Name)
- populate(objectMap, "parameters", r.Parameters)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RecipeUpdate.
-func (r *RecipeUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "name":
- err = unpopulate(val, "Name", &r.Name)
- delete(rawMsg, key)
- case "parameters":
- err = unpopulate(val, "Parameters", &r.Parameters)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type Resource.
func (r Resource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_pubsubbrokers_client.go b/pkg/daprrp/api/v20231001preview/zz_generated_pubsubbrokers_client.go
index ab583128150..89946c0f4b9 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_pubsubbrokers_client.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_pubsubbrokers_client.go
@@ -146,7 +146,7 @@ func (client *PubSubBrokersClient) deleteOperation(ctx context.Context, pubSubBr
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_secretstores_client.go b/pkg/daprrp/api/v20231001preview/zz_generated_secretstores_client.go
index 7c2f044762d..c25f5df8afb 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_secretstores_client.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_secretstores_client.go
@@ -146,7 +146,7 @@ func (client *SecretStoresClient) deleteOperation(ctx context.Context, secretSto
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/daprrp/api/v20231001preview/zz_generated_statestores_client.go b/pkg/daprrp/api/v20231001preview/zz_generated_statestores_client.go
index f65e8d208af..b456bdc1776 100644
--- a/pkg/daprrp/api/v20231001preview/zz_generated_statestores_client.go
+++ b/pkg/daprrp/api/v20231001preview/zz_generated_statestores_client.go
@@ -145,7 +145,7 @@ func (client *StateStoresClient) deleteOperation(ctx context.Context, stateStore
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/datastoresrp/api/v20231001preview/zz_generated_constants.go b/pkg/datastoresrp/api/v20231001preview/zz_generated_constants.go
index 95659ef2fda..dee57fba783 100644
--- a/pkg/datastoresrp/api/v20231001preview/zz_generated_constants.go
+++ b/pkg/datastoresrp/api/v20231001preview/zz_generated_constants.go
@@ -89,17 +89,19 @@ type ProvisioningState string
const (
// ProvisioningStateAccepted - The resource create request has been accepted
ProvisioningStateAccepted ProvisioningState = "Accepted"
- // ProvisioningStateCanceled - Resource creation was canceled.
+ // ProvisioningStateCanceled - The resource provisioning has been canceled
ProvisioningStateCanceled ProvisioningState = "Canceled"
+ // ProvisioningStateCreating - The resource is being created
+ ProvisioningStateCreating ProvisioningState = "Creating"
// ProvisioningStateDeleting - The resource is being deleted
ProvisioningStateDeleting ProvisioningState = "Deleting"
- // ProvisioningStateFailed - Resource creation failed.
+ // ProvisioningStateFailed - The resource provisioning has failed
ProvisioningStateFailed ProvisioningState = "Failed"
// ProvisioningStateProvisioning - The resource is being provisioned
ProvisioningStateProvisioning ProvisioningState = "Provisioning"
- // ProvisioningStateSucceeded - Resource has been created.
+ // ProvisioningStateSucceeded - The resource has been successfully provisioned
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
- // ProvisioningStateUpdating - The resource is updating
+ // ProvisioningStateUpdating - The resource is being updated
ProvisioningStateUpdating ProvisioningState = "Updating"
)
@@ -108,6 +110,7 @@ func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{
ProvisioningStateAccepted,
ProvisioningStateCanceled,
+ ProvisioningStateCreating,
ProvisioningStateDeleting,
ProvisioningStateFailed,
ProvisioningStateProvisioning,
@@ -136,18 +139,3 @@ func PossibleResourceProvisioningValues() []ResourceProvisioning {
}
}
-// Versions - Supported API versions for the Applications.Databases resource provider.
-type Versions string
-
-const (
- // VersionsV20231001Preview - 2023-10-01-preview
- VersionsV20231001Preview Versions = "2023-10-01-preview"
-)
-
-// PossibleVersionsValues returns the possible values for the Versions const type.
-func PossibleVersionsValues() []Versions {
- return []Versions{
- VersionsV20231001Preview,
- }
-}
-
diff --git a/pkg/datastoresrp/api/v20231001preview/zz_generated_models.go b/pkg/datastoresrp/api/v20231001preview/zz_generated_models.go
index c6df37003c2..824d753f90d 100644
--- a/pkg/datastoresrp/api/v20231001preview/zz_generated_models.go
+++ b/pkg/datastoresrp/api/v20231001preview/zz_generated_models.go
@@ -9,6 +9,25 @@ package v20231001preview
import "time"
+// AzureResourceManagerCommonTypesTrackedResourceUpdate - The resource model definition for an Azure Resource Manager tracked
+// top level resource which has 'tags' and a 'location'
+type AzureResourceManagerCommonTypesTrackedResourceUpdate struct {
+ // Resource tags.
+ Tags map[string]*string
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
// EnvironmentCompute - Represents backing compute resource
type EnvironmentCompute struct {
// REQUIRED; Discriminator property for EnvironmentCompute.
@@ -175,46 +194,22 @@ type MongoDatabaseResourceListResult struct {
NextLink *string
}
-// MongoDatabaseResourceUpdate - The type used for update operations of the MongoDatabaseResource.
+// MongoDatabaseResourceUpdate - MongoDatabase portable resource
type MongoDatabaseResourceUpdate struct {
- // The updatable properties of the MongoDatabaseResource.
- Properties *MongoDatabaseResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// MongoDatabaseResourceUpdateProperties - The updatable properties of the MongoDatabaseResource.
-type MongoDatabaseResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // Database name of the target Mongo database
- Database *string
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // Host name of the target Mongo database
- Host *string
-
- // Port value of the target Mongo database
- Port *int32
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // List of the resource IDs that support the MongoDB resource
- Resources []*ResourceReference
+ // READ-ONLY; The name of the resource
+ Name *string
- // Secret values provided for the resource
- Secrets *MongoDatabaseSecrets
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Username to use when connecting to the target Mongo database
- Username *string
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// MongoDatabaseSecrets - The secret values for the given MongoDatabase resource
@@ -310,15 +305,6 @@ type RecipeStatus struct {
TemplateVersion *string
}
-// RecipeUpdate - The recipe used to automatically deploy underlying infrastructure for a portable resource
-type RecipeUpdate struct {
- // The name of the recipe within the environment to use
- Name *string
-
- // Key/value parameters to pass into the recipe at deployment
- Parameters map[string]any
-}
-
// RedisCacheListSecretsResult - The secret values for the given RedisCache resource
type RedisCacheListSecretsResult struct {
// The connection string used to connect to the Redis cache
@@ -403,46 +389,22 @@ type RedisCacheResourceListResult struct {
NextLink *string
}
-// RedisCacheResourceUpdate - The type used for update operations of the RedisCacheResource.
+// RedisCacheResourceUpdate - RedisCache portable resource
type RedisCacheResourceUpdate struct {
- // The updatable properties of the RedisCacheResource.
- Properties *RedisCacheResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// RedisCacheResourceUpdateProperties - The updatable properties of the RedisCacheResource.
-type RedisCacheResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // The host name of the target Redis cache
- Host *string
-
- // The port value of the target Redis cache
- Port *int32
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
-
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
- // List of the resource IDs that support the Redis resource
- Resources []*ResourceReference
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Secrets provided by resource
- Secrets *RedisCacheSecrets
+ // READ-ONLY; The name of the resource
+ Name *string
- // Specifies whether to enable SSL connections to the Redis cache
- TLS *bool
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // The username for Redis cache
- Username *string
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// RedisCacheSecrets - The secret values for the given RedisCache resource
@@ -571,46 +533,22 @@ type SQLDatabaseResourceListResult struct {
NextLink *string
}
-// SQLDatabaseResourceUpdate - The type used for update operations of the SqlDatabaseResource.
+// SQLDatabaseResourceUpdate - SqlDatabase portable resource
type SQLDatabaseResourceUpdate struct {
- // The updatable properties of the SqlDatabaseResource.
- Properties *SQLDatabaseResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// SQLDatabaseResourceUpdateProperties - The updatable properties of the SqlDatabaseResource.
-type SQLDatabaseResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // The name of the Sql database.
- Database *string
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // Port value of the target Sql database
- Port *int32
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
-
- // List of the resource IDs that support the SqlDatabase resource
- Resources []*ResourceReference
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Secret values provided for the resource
- Secrets *SQLDatabaseSecrets
+ // READ-ONLY; The name of the resource
+ Name *string
- // The fully qualified domain name of the Sql database.
- Server *string
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // Username to use when connecting to the target Sql database
- Username *string
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// SQLDatabaseSecrets - The secret values for the given SqlDatabase resource
diff --git a/pkg/datastoresrp/api/v20231001preview/zz_generated_models_serde.go b/pkg/datastoresrp/api/v20231001preview/zz_generated_models_serde.go
index 9085583ba0f..0c7f4f9cc8f 100644
--- a/pkg/datastoresrp/api/v20231001preview/zz_generated_models_serde.go
+++ b/pkg/datastoresrp/api/v20231001preview/zz_generated_models_serde.go
@@ -14,6 +14,49 @@ import (
"reflect"
)
+// MarshalJSON implements the json.Marshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a AzureResourceManagerCommonTypesTrackedResourceUpdate) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", a.ID)
+ populate(objectMap, "name", a.Name)
+ populate(objectMap, "systemData", a.SystemData)
+ populate(objectMap, "tags", a.Tags)
+ populate(objectMap, "type", a.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a *AzureResourceManagerCommonTypesTrackedResourceUpdate) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &a.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &a.Name)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &a.SystemData)
+ delete(rawMsg, key)
+ case "tags":
+ err = unpopulate(val, "Tags", &a.Tags)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &a.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ }
+ return nil
+}
+
// MarshalJSON implements the json.Marshaller interface for type EnvironmentCompute.
func (e EnvironmentCompute) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -411,8 +454,11 @@ func (m *MongoDatabaseResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type MongoDatabaseResourceUpdate.
func (m MongoDatabaseResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", m.Properties)
+ populate(objectMap, "id", m.ID)
+ populate(objectMap, "name", m.Name)
+ populate(objectMap, "systemData", m.SystemData)
populate(objectMap, "tags", m.Tags)
+ populate(objectMap, "type", m.Type)
return json.Marshal(objectMap)
}
@@ -425,74 +471,20 @@ func (m *MongoDatabaseResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &m.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &m.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", m, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type MongoDatabaseResourceUpdateProperties.
-func (m MongoDatabaseResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", m.Application)
- populate(objectMap, "database", m.Database)
- populate(objectMap, "environment", m.Environment)
- populate(objectMap, "host", m.Host)
- populate(objectMap, "port", m.Port)
- populate(objectMap, "recipe", m.Recipe)
- populate(objectMap, "resourceProvisioning", m.ResourceProvisioning)
- populate(objectMap, "resources", m.Resources)
- populate(objectMap, "secrets", m.Secrets)
- populate(objectMap, "username", m.Username)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type MongoDatabaseResourceUpdateProperties.
-func (m *MongoDatabaseResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", m, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &m.Application)
- delete(rawMsg, key)
- case "database":
- err = unpopulate(val, "Database", &m.Database)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &m.Environment)
- delete(rawMsg, key)
- case "host":
- err = unpopulate(val, "Host", &m.Host)
- delete(rawMsg, key)
- case "port":
- err = unpopulate(val, "Port", &m.Port)
- delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &m.Recipe)
+ case "id":
+ err = unpopulate(val, "ID", &m.ID)
delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &m.ResourceProvisioning)
+ case "name":
+ err = unpopulate(val, "Name", &m.Name)
delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &m.Resources)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &m.SystemData)
delete(rawMsg, key)
- case "secrets":
- err = unpopulate(val, "Secrets", &m.Secrets)
+ case "tags":
+ err = unpopulate(val, "Tags", &m.Tags)
delete(rawMsg, key)
- case "username":
- err = unpopulate(val, "Username", &m.Username)
+ case "type":
+ err = unpopulate(val, "Type", &m.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -747,37 +739,6 @@ func (r *RecipeStatus) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type RecipeUpdate.
-func (r RecipeUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "name", r.Name)
- populate(objectMap, "parameters", r.Parameters)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RecipeUpdate.
-func (r *RecipeUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "name":
- err = unpopulate(val, "Name", &r.Name)
- delete(rawMsg, key)
- case "parameters":
- err = unpopulate(val, "Parameters", &r.Parameters)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type RedisCacheListSecretsResult.
func (r RedisCacheListSecretsResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -969,8 +930,11 @@ func (r *RedisCacheResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type RedisCacheResourceUpdate.
func (r RedisCacheResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", r.Properties)
+ populate(objectMap, "id", r.ID)
+ populate(objectMap, "name", r.Name)
+ populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "tags", r.Tags)
+ populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
@@ -983,74 +947,20 @@ func (r *RedisCacheResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &r.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &r.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type RedisCacheResourceUpdateProperties.
-func (r RedisCacheResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", r.Application)
- populate(objectMap, "environment", r.Environment)
- populate(objectMap, "host", r.Host)
- populate(objectMap, "port", r.Port)
- populate(objectMap, "recipe", r.Recipe)
- populate(objectMap, "resourceProvisioning", r.ResourceProvisioning)
- populate(objectMap, "resources", r.Resources)
- populate(objectMap, "secrets", r.Secrets)
- populate(objectMap, "tls", r.TLS)
- populate(objectMap, "username", r.Username)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RedisCacheResourceUpdateProperties.
-func (r *RedisCacheResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &r.Application)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &r.Environment)
- delete(rawMsg, key)
- case "host":
- err = unpopulate(val, "Host", &r.Host)
- delete(rawMsg, key)
- case "port":
- err = unpopulate(val, "Port", &r.Port)
- delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &r.Recipe)
- delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &r.ResourceProvisioning)
+ case "id":
+ err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &r.Resources)
+ case "name":
+ err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
- case "secrets":
- err = unpopulate(val, "Secrets", &r.Secrets)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
- case "tls":
- err = unpopulate(val, "TLS", &r.TLS)
+ case "tags":
+ err = unpopulate(val, "Tags", &r.Tags)
delete(rawMsg, key)
- case "username":
- err = unpopulate(val, "Username", &r.Username)
+ case "type":
+ err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -1383,8 +1293,11 @@ func (s *SQLDatabaseResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type SQLDatabaseResourceUpdate.
func (s SQLDatabaseResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", s.Properties)
+ populate(objectMap, "id", s.ID)
+ populate(objectMap, "name", s.Name)
+ populate(objectMap, "systemData", s.SystemData)
populate(objectMap, "tags", s.Tags)
+ populate(objectMap, "type", s.Type)
return json.Marshal(objectMap)
}
@@ -1397,74 +1310,20 @@ func (s *SQLDatabaseResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &s.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &s.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", s, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type SQLDatabaseResourceUpdateProperties.
-func (s SQLDatabaseResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", s.Application)
- populate(objectMap, "database", s.Database)
- populate(objectMap, "environment", s.Environment)
- populate(objectMap, "port", s.Port)
- populate(objectMap, "recipe", s.Recipe)
- populate(objectMap, "resourceProvisioning", s.ResourceProvisioning)
- populate(objectMap, "resources", s.Resources)
- populate(objectMap, "secrets", s.Secrets)
- populate(objectMap, "server", s.Server)
- populate(objectMap, "username", s.Username)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type SQLDatabaseResourceUpdateProperties.
-func (s *SQLDatabaseResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", s, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &s.Application)
- delete(rawMsg, key)
- case "database":
- err = unpopulate(val, "Database", &s.Database)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &s.Environment)
- delete(rawMsg, key)
- case "port":
- err = unpopulate(val, "Port", &s.Port)
- delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &s.Recipe)
- delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &s.ResourceProvisioning)
+ case "id":
+ err = unpopulate(val, "ID", &s.ID)
delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &s.Resources)
+ case "name":
+ err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
- case "secrets":
- err = unpopulate(val, "Secrets", &s.Secrets)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &s.SystemData)
delete(rawMsg, key)
- case "server":
- err = unpopulate(val, "Server", &s.Server)
+ case "tags":
+ err = unpopulate(val, "Tags", &s.Tags)
delete(rawMsg, key)
- case "username":
- err = unpopulate(val, "Username", &s.Username)
+ case "type":
+ err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
diff --git a/pkg/datastoresrp/api/v20231001preview/zz_generated_mongodatabases_client.go b/pkg/datastoresrp/api/v20231001preview/zz_generated_mongodatabases_client.go
index 004b1e6306a..e6f6bd0a754 100644
--- a/pkg/datastoresrp/api/v20231001preview/zz_generated_mongodatabases_client.go
+++ b/pkg/datastoresrp/api/v20231001preview/zz_generated_mongodatabases_client.go
@@ -146,7 +146,7 @@ func (client *MongoDatabasesClient) deleteOperation(ctx context.Context, mongoDa
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/datastoresrp/api/v20231001preview/zz_generated_rediscaches_client.go b/pkg/datastoresrp/api/v20231001preview/zz_generated_rediscaches_client.go
index 8873ad35148..a2d154735a3 100644
--- a/pkg/datastoresrp/api/v20231001preview/zz_generated_rediscaches_client.go
+++ b/pkg/datastoresrp/api/v20231001preview/zz_generated_rediscaches_client.go
@@ -145,7 +145,7 @@ func (client *RedisCachesClient) deleteOperation(ctx context.Context, redisCache
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/datastoresrp/api/v20231001preview/zz_generated_sqldatabases_client.go b/pkg/datastoresrp/api/v20231001preview/zz_generated_sqldatabases_client.go
index 0c225795456..471ab9c0174 100644
--- a/pkg/datastoresrp/api/v20231001preview/zz_generated_sqldatabases_client.go
+++ b/pkg/datastoresrp/api/v20231001preview/zz_generated_sqldatabases_client.go
@@ -146,7 +146,7 @@ func (client *SQLDatabasesClient) deleteOperation(ctx context.Context, sqlDataba
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/messagingrp/api/v20231001preview/zz_generated_constants.go b/pkg/messagingrp/api/v20231001preview/zz_generated_constants.go
index 8343a502c51..dee57fba783 100644
--- a/pkg/messagingrp/api/v20231001preview/zz_generated_constants.go
+++ b/pkg/messagingrp/api/v20231001preview/zz_generated_constants.go
@@ -89,17 +89,19 @@ type ProvisioningState string
const (
// ProvisioningStateAccepted - The resource create request has been accepted
ProvisioningStateAccepted ProvisioningState = "Accepted"
- // ProvisioningStateCanceled - Resource creation was canceled.
+ // ProvisioningStateCanceled - The resource provisioning has been canceled
ProvisioningStateCanceled ProvisioningState = "Canceled"
+ // ProvisioningStateCreating - The resource is being created
+ ProvisioningStateCreating ProvisioningState = "Creating"
// ProvisioningStateDeleting - The resource is being deleted
ProvisioningStateDeleting ProvisioningState = "Deleting"
- // ProvisioningStateFailed - Resource creation failed.
+ // ProvisioningStateFailed - The resource provisioning has failed
ProvisioningStateFailed ProvisioningState = "Failed"
// ProvisioningStateProvisioning - The resource is being provisioned
ProvisioningStateProvisioning ProvisioningState = "Provisioning"
- // ProvisioningStateSucceeded - Resource has been created.
+ // ProvisioningStateSucceeded - The resource has been successfully provisioned
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
- // ProvisioningStateUpdating - The resource is updating
+ // ProvisioningStateUpdating - The resource is being updated
ProvisioningStateUpdating ProvisioningState = "Updating"
)
@@ -108,6 +110,7 @@ func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{
ProvisioningStateAccepted,
ProvisioningStateCanceled,
+ ProvisioningStateCreating,
ProvisioningStateDeleting,
ProvisioningStateFailed,
ProvisioningStateProvisioning,
@@ -136,18 +139,3 @@ func PossibleResourceProvisioningValues() []ResourceProvisioning {
}
}
-// Versions - Supported API versions for the Applications.Messaging resource provider.
-type Versions string
-
-const (
- // VersionsV20231001Preview - 2023-10-01-preview
- VersionsV20231001Preview Versions = "2023-10-01-preview"
-)
-
-// PossibleVersionsValues returns the possible values for the Versions const type.
-func PossibleVersionsValues() []Versions {
- return []Versions{
- VersionsV20231001Preview,
- }
-}
-
diff --git a/pkg/messagingrp/api/v20231001preview/zz_generated_models.go b/pkg/messagingrp/api/v20231001preview/zz_generated_models.go
index 143e6aa905d..a01b5879a5f 100644
--- a/pkg/messagingrp/api/v20231001preview/zz_generated_models.go
+++ b/pkg/messagingrp/api/v20231001preview/zz_generated_models.go
@@ -9,6 +9,25 @@ package v20231001preview
import "time"
+// AzureResourceManagerCommonTypesTrackedResourceUpdate - The resource model definition for an Azure Resource Manager tracked
+// top level resource which has 'tags' and a 'location'
+type AzureResourceManagerCommonTypesTrackedResourceUpdate struct {
+ // Resource tags.
+ Tags map[string]*string
+
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
+
+ // READ-ONLY; The name of the resource
+ Name *string
+
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
+
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
+}
+
// EnvironmentCompute - Represents backing compute resource
type EnvironmentCompute struct {
// REQUIRED; Discriminator property for EnvironmentCompute.
@@ -245,52 +264,22 @@ type RabbitMQQueueResourceListResult struct {
NextLink *string
}
-// RabbitMQQueueResourceUpdate - The type used for update operations of the RabbitMQQueueResource.
+// RabbitMQQueueResourceUpdate - RabbitMQQueue portable resource
type RabbitMQQueueResourceUpdate struct {
- // The updatable properties of the RabbitMQQueueResource.
- Properties *RabbitMQQueueResourceUpdateProperties
-
// Resource tags.
Tags map[string]*string
-}
-
-// RabbitMQQueueResourceUpdateProperties - The updatable properties of the RabbitMQQueueResource.
-type RabbitMQQueueResourceUpdateProperties struct {
- // Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)
- Application *string
-
- // Fully qualified resource ID for the environment that the portable resource is linked to
- Environment *string
-
- // The hostname of the RabbitMQ instance
- Host *string
-
- // The port of the RabbitMQ instance. Defaults to 5672
- Port *int32
-
- // The name of the queue
- Queue *string
-
- // The recipe used to automatically deploy underlying infrastructure for the resource
- Recipe *RecipeUpdate
-
- // Specifies how the underlying service/resource is provisioned and managed.
- ResourceProvisioning *ResourceProvisioning
-
- // List of the resource IDs that support the rabbitMQ resource
- Resources []*ResourceReference
- // The secrets to connect to the RabbitMQ instance
- Secrets *RabbitMQSecrets
+ // READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
+ ID *string
- // Specifies whether to use SSL when connecting to the RabbitMQ instance
- TLS *bool
+ // READ-ONLY; The name of the resource
+ Name *string
- // The username to use when connecting to the RabbitMQ instance
- Username *string
+ // READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ SystemData *SystemData
- // The RabbitMQ virtual host (vHost) the client will connect to. Defaults to no vHost.
- VHost *string
+ // READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ Type *string
}
// RabbitMQSecrets - The connection secrets properties to the RabbitMQ instance
@@ -324,15 +313,6 @@ type RecipeStatus struct {
TemplateVersion *string
}
-// RecipeUpdate - The recipe used to automatically deploy underlying infrastructure for a portable resource
-type RecipeUpdate struct {
- // The name of the recipe within the environment to use
- Name *string
-
- // Key/value parameters to pass into the recipe at deployment
- Parameters map[string]any
-}
-
// Resource - Common fields that are returned in the response for all Azure Resource Manager resources
type Resource struct {
// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
diff --git a/pkg/messagingrp/api/v20231001preview/zz_generated_models_serde.go b/pkg/messagingrp/api/v20231001preview/zz_generated_models_serde.go
index da3b6a3927c..d5be2708824 100644
--- a/pkg/messagingrp/api/v20231001preview/zz_generated_models_serde.go
+++ b/pkg/messagingrp/api/v20231001preview/zz_generated_models_serde.go
@@ -14,6 +14,49 @@ import (
"reflect"
)
+// MarshalJSON implements the json.Marshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a AzureResourceManagerCommonTypesTrackedResourceUpdate) MarshalJSON() ([]byte, error) {
+ objectMap := make(map[string]any)
+ populate(objectMap, "id", a.ID)
+ populate(objectMap, "name", a.Name)
+ populate(objectMap, "systemData", a.SystemData)
+ populate(objectMap, "tags", a.Tags)
+ populate(objectMap, "type", a.Type)
+ return json.Marshal(objectMap)
+}
+
+// UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceManagerCommonTypesTrackedResourceUpdate.
+func (a *AzureResourceManagerCommonTypesTrackedResourceUpdate) UnmarshalJSON(data []byte) error {
+ var rawMsg map[string]json.RawMessage
+ if err := json.Unmarshal(data, &rawMsg); err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ for key, val := range rawMsg {
+ var err error
+ switch key {
+ case "id":
+ err = unpopulate(val, "ID", &a.ID)
+ delete(rawMsg, key)
+ case "name":
+ err = unpopulate(val, "Name", &a.Name)
+ delete(rawMsg, key)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &a.SystemData)
+ delete(rawMsg, key)
+ case "tags":
+ err = unpopulate(val, "Tags", &a.Tags)
+ delete(rawMsg, key)
+ case "type":
+ err = unpopulate(val, "Type", &a.Type)
+ delete(rawMsg, key)
+ }
+ if err != nil {
+ return fmt.Errorf("unmarshalling type %T: %v", a, err)
+ }
+ }
+ return nil
+}
+
// MarshalJSON implements the json.Marshaller interface for type EnvironmentCompute.
func (e EnvironmentCompute) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@@ -567,8 +610,11 @@ func (r *RabbitMQQueueResourceListResult) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type RabbitMQQueueResourceUpdate.
func (r RabbitMQQueueResourceUpdate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
- populate(objectMap, "properties", r.Properties)
+ populate(objectMap, "id", r.ID)
+ populate(objectMap, "name", r.Name)
+ populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "tags", r.Tags)
+ populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
@@ -581,82 +627,20 @@ func (r *RabbitMQQueueResourceUpdate) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
- case "properties":
- err = unpopulate(val, "Properties", &r.Properties)
- delete(rawMsg, key)
- case "tags":
- err = unpopulate(val, "Tags", &r.Tags)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
-// MarshalJSON implements the json.Marshaller interface for type RabbitMQQueueResourceUpdateProperties.
-func (r RabbitMQQueueResourceUpdateProperties) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "application", r.Application)
- populate(objectMap, "environment", r.Environment)
- populate(objectMap, "host", r.Host)
- populate(objectMap, "port", r.Port)
- populate(objectMap, "queue", r.Queue)
- populate(objectMap, "recipe", r.Recipe)
- populate(objectMap, "resourceProvisioning", r.ResourceProvisioning)
- populate(objectMap, "resources", r.Resources)
- populate(objectMap, "secrets", r.Secrets)
- populate(objectMap, "tls", r.TLS)
- populate(objectMap, "username", r.Username)
- populate(objectMap, "vHost", r.VHost)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RabbitMQQueueResourceUpdateProperties.
-func (r *RabbitMQQueueResourceUpdateProperties) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "application":
- err = unpopulate(val, "Application", &r.Application)
- delete(rawMsg, key)
- case "environment":
- err = unpopulate(val, "Environment", &r.Environment)
- delete(rawMsg, key)
- case "host":
- err = unpopulate(val, "Host", &r.Host)
- delete(rawMsg, key)
- case "port":
- err = unpopulate(val, "Port", &r.Port)
- delete(rawMsg, key)
- case "queue":
- err = unpopulate(val, "Queue", &r.Queue)
- delete(rawMsg, key)
- case "recipe":
- err = unpopulate(val, "Recipe", &r.Recipe)
- delete(rawMsg, key)
- case "resourceProvisioning":
- err = unpopulate(val, "ResourceProvisioning", &r.ResourceProvisioning)
- delete(rawMsg, key)
- case "resources":
- err = unpopulate(val, "Resources", &r.Resources)
+ case "id":
+ err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
- case "secrets":
- err = unpopulate(val, "Secrets", &r.Secrets)
+ case "name":
+ err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
- case "tls":
- err = unpopulate(val, "TLS", &r.TLS)
+ case "systemData":
+ err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
- case "username":
- err = unpopulate(val, "Username", &r.Username)
+ case "tags":
+ err = unpopulate(val, "Tags", &r.Tags)
delete(rawMsg, key)
- case "vHost":
- err = unpopulate(val, "VHost", &r.VHost)
+ case "type":
+ err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
}
if err != nil {
@@ -763,37 +747,6 @@ func (r *RecipeStatus) UnmarshalJSON(data []byte) error {
return nil
}
-// MarshalJSON implements the json.Marshaller interface for type RecipeUpdate.
-func (r RecipeUpdate) MarshalJSON() ([]byte, error) {
- objectMap := make(map[string]any)
- populate(objectMap, "name", r.Name)
- populate(objectMap, "parameters", r.Parameters)
- return json.Marshal(objectMap)
-}
-
-// UnmarshalJSON implements the json.Unmarshaller interface for type RecipeUpdate.
-func (r *RecipeUpdate) UnmarshalJSON(data []byte) error {
- var rawMsg map[string]json.RawMessage
- if err := json.Unmarshal(data, &rawMsg); err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- for key, val := range rawMsg {
- var err error
- switch key {
- case "name":
- err = unpopulate(val, "Name", &r.Name)
- delete(rawMsg, key)
- case "parameters":
- err = unpopulate(val, "Parameters", &r.Parameters)
- delete(rawMsg, key)
- }
- if err != nil {
- return fmt.Errorf("unmarshalling type %T: %v", r, err)
- }
- }
- return nil
-}
-
// MarshalJSON implements the json.Marshaller interface for type Resource.
func (r Resource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
diff --git a/pkg/messagingrp/api/v20231001preview/zz_generated_rabbitmqqueues_client.go b/pkg/messagingrp/api/v20231001preview/zz_generated_rabbitmqqueues_client.go
index 7869cb52d51..bb5f1527951 100644
--- a/pkg/messagingrp/api/v20231001preview/zz_generated_rabbitmqqueues_client.go
+++ b/pkg/messagingrp/api/v20231001preview/zz_generated_rabbitmqqueues_client.go
@@ -146,7 +146,7 @@ func (client *RabbitMqQueuesClient) deleteOperation(ctx context.Context, rabbitM
if err != nil {
return nil, err
}
- if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) {
+ if !runtime.HasStatusCode(httpResp, http.StatusAccepted, http.StatusNoContent) {
err = runtime.NewResponseError(httpResp)
return nil, err
}
diff --git a/pkg/ucp/api/v20231001preview/zz_generated_constants.go b/pkg/ucp/api/v20231001preview/zz_generated_constants.go
index a9dbbd30984..58588d91ac6 100644
--- a/pkg/ucp/api/v20231001preview/zz_generated_constants.go
+++ b/pkg/ucp/api/v20231001preview/zz_generated_constants.go
@@ -74,12 +74,14 @@ type CredentialStorageKind string
const (
// CredentialStorageKindInternal - Internal credential storage
CredentialStorageKindInternal CredentialStorageKind = "Internal"
+ CredentialStorageKindString CredentialStorageKind = "string"
)
// PossibleCredentialStorageKindValues returns the possible values for the CredentialStorageKind const type.
func PossibleCredentialStorageKindValues() []CredentialStorageKind {
return []CredentialStorageKind{
CredentialStorageKindInternal,
+ CredentialStorageKindString,
}
}
@@ -89,17 +91,19 @@ type ProvisioningState string
const (
// ProvisioningStateAccepted - The resource create request has been accepted
ProvisioningStateAccepted ProvisioningState = "Accepted"
- // ProvisioningStateCanceled - Resource creation was canceled.
+ // ProvisioningStateCanceled - The resource provisioning has been canceled
ProvisioningStateCanceled ProvisioningState = "Canceled"
+ // ProvisioningStateCreating - The resource is being created
+ ProvisioningStateCreating ProvisioningState = "Creating"
// ProvisioningStateDeleting - The resource is being deleted
ProvisioningStateDeleting ProvisioningState = "Deleting"
- // ProvisioningStateFailed - Resource creation failed.
+ // ProvisioningStateFailed - The resource provisioning has failed
ProvisioningStateFailed ProvisioningState = "Failed"
// ProvisioningStateProvisioning - The resource is being provisioned
ProvisioningStateProvisioning ProvisioningState = "Provisioning"
- // ProvisioningStateSucceeded - Resource has been created.
+ // ProvisioningStateSucceeded - The resource has been successfully provisioned
ProvisioningStateSucceeded ProvisioningState = "Succeeded"
- // ProvisioningStateUpdating - The resource is updating
+ // ProvisioningStateUpdating - The resource is being updated
ProvisioningStateUpdating ProvisioningState = "Updating"
)
@@ -108,6 +112,7 @@ func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{
ProvisioningStateAccepted,
ProvisioningStateCanceled,
+ ProvisioningStateCreating,
ProvisioningStateDeleting,
ProvisioningStateFailed,
ProvisioningStateProvisioning,
@@ -116,18 +121,3 @@ func PossibleProvisioningStateValues() []ProvisioningState {
}
}
-// Versions - Supported API versions for Universal Control Plane resource provider.
-type Versions string
-
-const (
- // VersionsV20231001Preview - 2023-10-01-preview
- VersionsV20231001Preview Versions = "2023-10-01-preview"
-)
-
-// PossibleVersionsValues returns the possible values for the Versions const type.
-func PossibleVersionsValues() []Versions {
- return []Versions{
- VersionsV20231001Preview,
- }
-}
-
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/openapi.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/openapi.json
index 75ab34aa4b2..60382a7b052 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/openapi.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/openapi.json
@@ -82,7 +82,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ApplicationResourceListResult"
}
@@ -133,7 +133,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ApplicationResource"
}
@@ -243,7 +243,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ApplicationResource"
}
@@ -289,7 +289,7 @@
"description": "Resource deleted successfully."
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -334,14 +334,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ApplicationGraphResponse"
}
@@ -372,7 +371,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ContainerResourceListResult"
}
@@ -423,7 +422,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ContainerResource"
}
@@ -486,6 +485,10 @@
"$ref": "#/definitions/ContainerResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -547,7 +550,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ContainerResource"
}
@@ -555,14 +558,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -602,25 +605,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -657,7 +657,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/EnvironmentResourceListResult"
}
@@ -708,7 +708,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/EnvironmentResource"
}
@@ -818,7 +818,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/EnvironmentResource"
}
@@ -864,7 +864,7 @@
"description": "Resource deleted successfully."
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -915,7 +915,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RecipeGetMetadataResponse"
}
@@ -951,7 +951,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ExtenderResourceListResult"
}
@@ -1002,7 +1002,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ExtenderResource"
}
@@ -1065,6 +1065,10 @@
"$ref": "#/definitions/ExtenderResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -1126,7 +1130,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ExtenderResource"
}
@@ -1134,14 +1138,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -1186,25 +1190,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1253,14 +1254,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ExtenderListSecretResponse"
}
@@ -1296,7 +1296,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/GatewayResourceListResult"
}
@@ -1347,7 +1347,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/GatewayResource"
}
@@ -1410,6 +1410,10 @@
"$ref": "#/definitions/GatewayResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -1463,7 +1467,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/GatewayResource"
}
@@ -1471,14 +1475,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -1523,25 +1527,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1578,7 +1579,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SecretStoreResourceListResult"
}
@@ -1626,7 +1627,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SecretStoreResource"
}
@@ -1692,6 +1693,10 @@
"$ref": "#/definitions/SecretStoreResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -1710,11 +1715,11 @@
"Create or Update a secret store resource with azure keyvault": {
"$ref": "./examples/SecretStores_CreateOrUpdate.json"
},
- "Create or Update a secret store resource with valueFrom": {
- "$ref": "./examples/SecretStores_CreateOrUpdateValueFrom.json"
- },
"Create or Update a secret store resource with global scope": {
"$ref": "./examples/SecretStores_CreateOrUpdate_GlobalScope.json"
+ },
+ "Create or Update a secret store resource with valueFrom": {
+ "$ref": "./examples/SecretStores_CreateOrUpdateValueFrom.json"
}
},
"x-ms-long-running-operation-options": {
@@ -1756,7 +1761,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SecretStoreResource"
}
@@ -1764,14 +1769,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -1783,11 +1788,11 @@
}
},
"x-ms-examples": {
- "Update a secret store resource": {
- "$ref": "./examples/SecretStores_Delete.json"
- },
"Update a secret store": {
"$ref": "./examples/SecretStores_Update.json"
+ },
+ "Update a secret store resource": {
+ "$ref": "./examples/SecretStores_Delete.json"
}
},
"x-ms-long-running-operation-options": {
@@ -1819,25 +1824,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1881,14 +1883,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SecretStoreListSecretsResult"
}
@@ -1924,7 +1925,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/VolumeResourceListResult"
}
@@ -1975,7 +1976,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/VolumeResource"
}
@@ -2038,6 +2039,10 @@
"$ref": "#/definitions/VolumeResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -2096,7 +2101,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/VolumeResource"
}
@@ -2104,14 +2109,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -2156,25 +2161,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -2208,7 +2210,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
}
@@ -2417,38 +2419,12 @@
},
"ApplicationResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the ApplicationResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/ApplicationResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "ApplicationResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the ApplicationResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the application is linked to"
- },
- "extensions": {
- "type": "array",
- "description": "The application extension.",
- "items": {
- "$ref": "#/definitions/Extension"
- },
- "x-ms-identifiers": []
+ "description": "Radius Application resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"AuthConfig": {
"type": "object",
@@ -2460,6 +2436,24 @@
}
}
},
+ "Azure.ResourceManager.CommonTypes.TrackedResourceUpdate": {
+ "type": "object",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource"
+ }
+ ]
+ },
"AzureKeyVaultVolumeProperties": {
"type": "object",
"description": "Represents Azure Key Vault Volume properties",
@@ -2529,22 +2523,6 @@
],
"x-ms-discriminator-value": "bicep"
},
- "BicepRecipePropertiesUpdate": {
- "type": "object",
- "description": "Represents Bicep recipe properties.",
- "properties": {
- "plainHttp": {
- "type": "boolean",
- "description": "Connect to the Bicep registry using HTTP (not-HTTPS). This should be used when the registry is known not to support HTTPS, for example in a locally-hosted registry. Defaults to false (use HTTPS/TLS)."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/RecipePropertiesUpdate"
- }
- ],
- "x-ms-discriminator-value": "bicep"
- },
"CertificateFormats": {
"type": "string",
"description": "Represents certificate formats",
@@ -2554,7 +2532,7 @@
],
"x-ms-enum": {
"name": "CertificateFormats",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "pem",
@@ -2578,14 +2556,60 @@
"description": "File name when written to disk"
},
"encoding": {
- "$ref": "#/definitions/VolumeSecretEncodings",
+ "type": "string",
"description": "Encoding format. Default utf-8",
- "default": "utf-8"
+ "default": "utf-8",
+ "enum": [
+ "utf-8",
+ "hex",
+ "base64"
+ ],
+ "x-ms-enum": {
+ "name": "VolumeSecretEncodings",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "utf8",
+ "value": "utf-8",
+ "description": "UTF-8 encoding"
+ },
+ {
+ "name": "hex",
+ "value": "hex",
+ "description": "Hex encoding"
+ },
+ {
+ "name": "base64",
+ "value": "base64",
+ "description": "Base64 encoding"
+ }
+ ]
+ }
},
"format": {
- "$ref": "#/definitions/CertificateFormats",
+ "type": "string",
"description": "Certificate format. Default pem",
- "default": "pem"
+ "default": "pem",
+ "enum": [
+ "pem",
+ "pfx"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateFormats",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "pem",
+ "value": "pem",
+ "description": "PEM Certificate format"
+ },
+ {
+ "name": "pfx",
+ "value": "pfx",
+ "description": "PFX Certificate format"
+ }
+ ]
+ }
},
"name": {
"type": "string",
@@ -2614,7 +2638,7 @@
],
"x-ms-enum": {
"name": "CertificateTypes",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "certificate",
@@ -2655,24 +2679,6 @@
"source"
]
},
- "ConnectionPropertiesUpdate": {
- "type": "object",
- "description": "Connection Properties",
- "properties": {
- "source": {
- "type": "string",
- "description": "The source of the connection"
- },
- "disableDefaultEnvVars": {
- "type": "boolean",
- "description": "default environment variable override"
- },
- "iam": {
- "$ref": "#/definitions/IamPropertiesUpdate",
- "description": "iam properties"
- }
- }
- },
"Container": {
"type": "object",
"description": "Definition of a container",
@@ -2764,30 +2770,6 @@
"containerPort"
]
},
- "ContainerPortPropertiesUpdate": {
- "type": "object",
- "description": "Specifies a listening port for the container",
- "properties": {
- "containerPort": {
- "type": "integer",
- "format": "int32",
- "description": "The listening port number"
- },
- "protocol": {
- "$ref": "#/definitions/PortProtocol",
- "description": "Protocol in use by the port"
- },
- "scheme": {
- "type": "string",
- "description": "Specifies the URL scheme of the communication protocol. Consumers can use the scheme to construct a URL. The value defaults to 'http' or 'https' depending on the port value"
- },
- "port": {
- "type": "integer",
- "format": "int32",
- "description": "Specifies the port that will be exposed by this container. Must be set when value different from containerPort is desired"
- }
- }
- },
"ContainerProperties": {
"type": "object",
"description": "Container properties",
@@ -2911,7 +2893,7 @@
],
"x-ms-enum": {
"name": "ContainerResourceProvisioning",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "internal",
@@ -2928,148 +2910,23 @@
},
"ContainerResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the ContainerResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/ContainerResourceUpdateProperties",
- "x-ms-client-flatten": true
+ "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
- "ContainerResourceUpdateProperties": {
+ "DaprSidecarExtension": {
"type": "object",
- "description": "The updatable properties of the ContainerResource.",
+ "description": "Specifies the resource should have a Dapr sidecar injected",
"properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the application is linked to"
+ "appPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Dapr appPort. Specifies the internal listening port for the application to handle requests from the Dapr sidecar. "
},
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application"
- },
- "container": {
- "$ref": "#/definitions/ContainerUpdate",
- "description": "Definition of a container."
- },
- "connections": {
- "type": "object",
- "description": "Specifies a connection to another resource.",
- "additionalProperties": {
- "$ref": "#/definitions/ConnectionPropertiesUpdate"
- }
- },
- "identity": {
- "$ref": "#/definitions/IdentitySettingsUpdate",
- "description": "Configuration for supported external identity providers"
- },
- "extensions": {
- "type": "array",
- "description": "Extensions spec of the resource",
- "items": {
- "$ref": "#/definitions/Extension"
- },
- "x-ms-identifiers": []
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ContainerResourceProvisioning",
- "description": "Specifies how the underlying container resource is provisioned and managed."
- },
- "resources": {
- "type": "array",
- "description": "A collection of references to resources associated with the container",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "restartPolicy": {
- "$ref": "#/definitions/RestartPolicy",
- "description": "The restart policy for the underlying container"
- },
- "runtimes": {
- "$ref": "#/definitions/RuntimesProperties",
- "description": "Specifies Runtime-specific functionality"
- }
- }
- },
- "ContainerUpdate": {
- "type": "object",
- "description": "Definition of a container",
- "properties": {
- "image": {
- "type": "string",
- "description": "The registry and image to download and run in your container"
- },
- "imagePullPolicy": {
- "$ref": "#/definitions/ImagePullPolicy",
- "description": "The pull policy for the container image"
- },
- "env": {
- "type": "object",
- "description": "environment",
- "additionalProperties": {
- "$ref": "#/definitions/EnvironmentVariableUpdate"
- }
- },
- "ports": {
- "type": "object",
- "description": "container ports",
- "additionalProperties": {
- "$ref": "#/definitions/ContainerPortPropertiesUpdate"
- }
- },
- "readinessProbe": {
- "$ref": "#/definitions/HealthProbeProperties",
- "description": "readiness probe properties"
- },
- "livenessProbe": {
- "$ref": "#/definitions/HealthProbeProperties",
- "description": "liveness probe properties"
- },
- "volumes": {
- "type": "object",
- "description": "container volumes",
- "additionalProperties": {
- "$ref": "#/definitions/Volume"
- }
- },
- "command": {
- "type": "array",
- "description": "Entrypoint array. Overrides the container image's ENTRYPOINT",
- "items": {
- "type": "string"
- }
- },
- "args": {
- "type": "array",
- "description": "Arguments to the entrypoint. Overrides the container image's CMD",
- "items": {
- "type": "string"
- }
- },
- "workingDir": {
- "type": "string",
- "description": "Working directory for the container"
- }
- }
- },
- "DaprSidecarExtension": {
- "type": "object",
- "description": "Specifies the resource should have a Dapr sidecar injected",
- "properties": {
- "appPort": {
- "type": "integer",
- "format": "int32",
- "description": "The Dapr appPort. Specifies the internal listening port for the application to handle requests from the Dapr sidecar. "
- },
- "appId": {
+ "appId": {
"type": "string",
"description": "The Dapr appId. Specifies the identifier used by Dapr for service invocation."
},
@@ -3101,7 +2958,7 @@
],
"x-ms-enum": {
"name": "DaprSidecarExtensionProtocol",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "http",
@@ -3125,7 +2982,7 @@
],
"x-ms-enum": {
"name": "Direction",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "Outbound",
@@ -3162,28 +3019,6 @@
"kind"
]
},
- "EnvironmentComputeUpdate": {
- "type": "object",
- "description": "Represents backing compute resource",
- "properties": {
- "kind": {
- "type": "string",
- "description": "Discriminator property for EnvironmentCompute."
- },
- "resourceId": {
- "type": "string",
- "description": "The resource id of the compute resource for application environment."
- },
- "identity": {
- "$ref": "#/definitions/IdentitySettingsUpdate",
- "description": "Configuration for supported external identity providers"
- }
- },
- "discriminator": "kind",
- "required": [
- "kind"
- ]
- },
"EnvironmentProperties": {
"type": "object",
"description": "Environment properties",
@@ -3278,60 +3113,12 @@
},
"EnvironmentResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the EnvironmentResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/EnvironmentResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "EnvironmentResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the EnvironmentResource.",
- "properties": {
- "compute": {
- "$ref": "#/definitions/EnvironmentComputeUpdate",
- "description": "The compute resource used by application environment."
- },
- "providers": {
- "$ref": "#/definitions/ProvidersUpdate",
- "description": "Cloud providers configuration for the environment."
- },
- "simulated": {
- "type": "boolean",
- "description": "Simulated environment."
- },
- "recipes": {
- "type": "object",
- "description": "Specifies Recipes linked to the Environment.",
- "additionalProperties": {
- "additionalProperties": {
- "$ref": "#/definitions/RecipePropertiesUpdate"
- },
- "type": "object"
- }
- },
- "recipeConfig": {
- "$ref": "#/definitions/RecipeConfigProperties",
- "description": "Configuration for Recipes. Defines how each type of Recipe should be configured and run."
- },
- "extensions": {
- "type": "array",
- "description": "The environment extension.",
- "items": {
- "$ref": "#/definitions/Extension"
- },
- "x-ms-identifiers": []
+ "description": "The environment resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"EnvironmentVariable": {
"type": "object",
@@ -3360,30 +3147,6 @@
"secretRef"
]
},
- "EnvironmentVariableReferenceUpdate": {
- "type": "object",
- "description": "The reference to the variable",
- "properties": {
- "secretRef": {
- "$ref": "#/definitions/SecretReferenceUpdate",
- "description": "The secret reference"
- }
- }
- },
- "EnvironmentVariableUpdate": {
- "type": "object",
- "description": "Environment variables type",
- "properties": {
- "value": {
- "type": "string",
- "description": "The value of the environment variable"
- },
- "valueFrom": {
- "$ref": "#/definitions/EnvironmentVariableReferenceUpdate",
- "description": "The reference to the variable"
- }
- }
- },
"EnvironmentVariables": {
"type": "object",
"description": "The environment variables injected during Terraform Recipe execution for the recipes in the environment.",
@@ -3432,7 +3195,7 @@
"ExtenderListSecretResponse": {
"type": "object",
"description": "Response for list secrets API call",
- "properties": {}
+ "additionalProperties": {}
},
"ExtenderProperties": {
"type": "object",
@@ -3458,8 +3221,7 @@
},
"secrets": {
"type": "object",
- "description": "The secrets for referenced resource",
- "properties": {}
+ "description": "The secrets for referenced resource"
},
"recipe": {
"$ref": "#/definitions/Recipe",
@@ -3473,11 +3235,10 @@
"required": [
"environment"
],
- "additionalProperties": true,
"allOf": [
{
"type": "object",
- "additionalProperties": true
+ "additionalProperties": {}
}
]
},
@@ -3527,47 +3288,12 @@
},
"ExtenderResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the ExtenderResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/ExtenderResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "ExtenderResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the ExtenderResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "secrets": {
- "type": "object",
- "description": "The secrets for referenced resource",
- "properties": {}
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the extender portable resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "ExtenderResource portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"Extension": {
"type": "object",
@@ -3696,54 +3422,12 @@
},
"GatewayResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the GatewayResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/GatewayResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "GatewayResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the GatewayResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the application is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application"
- },
- "internal": {
- "type": "boolean",
- "description": "Sets Gateway to not be exposed externally (no public IP address associated). Defaults to false (exposed to internet)."
- },
- "hostname": {
- "$ref": "#/definitions/GatewayHostname",
- "description": "Declare hostname information for the Gateway. Leaving the hostname empty auto-assigns one: mygateway.myapp.PUBLICHOSTNAMEORIP.nip.io."
- },
- "routes": {
- "type": "array",
- "description": "Routes attached to this Gateway",
- "items": {
- "$ref": "#/definitions/GatewayRoute"
- },
- "x-ms-identifiers": []
- },
- "tls": {
- "$ref": "#/definitions/GatewayTls",
- "description": "TLS configuration for the Gateway."
+ "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"GatewayRoute": {
"type": "object",
@@ -3776,9 +3460,29 @@
"description": "If true, gateway lets the https traffic sslPassthrough to the backend servers for decryption."
},
"minimumProtocolVersion": {
- "$ref": "#/definitions/TlsMinVersion",
+ "type": "string",
"description": "TLS minimum protocol version (defaults to 1.2).",
- "default": "1.2"
+ "default": "1.2",
+ "enum": [
+ "1.2",
+ "1.3"
+ ],
+ "x-ms-enum": {
+ "name": "TlsMinVersion",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "tls12",
+ "value": "1.2",
+ "description": "TLS Version 1.2"
+ },
+ {
+ "name": "tls13",
+ "value": "1.3",
+ "description": "TLS Version 1.3"
+ }
+ ]
+ }
},
"certificateFrom": {
"type": "string",
@@ -3870,41 +3574,26 @@
"type": "string",
"description": "The kind of IAM provider to configure",
"enum": [
- "azure"
+ "azure",
+ "string"
],
"x-ms-enum": {
"name": "IAMKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "azure",
"value": "azure",
"description": "Azure Active Directory"
+ },
+ {
+ "name": "string",
+ "value": "string"
}
- ]
- }
- },
- "IamProperties": {
- "type": "object",
- "description": "IAM properties",
- "properties": {
- "kind": {
- "$ref": "#/definitions/IAMKind",
- "description": "The kind of IAM provider to configure"
- },
- "roles": {
- "type": "array",
- "description": "RBAC permissions to be assigned on the source resource",
- "items": {
- "type": "string"
- }
- }
- },
- "required": [
- "kind"
- ]
+ ]
+ }
},
- "IamPropertiesUpdate": {
+ "IamProperties": {
"type": "object",
"description": "IAM properties",
"properties": {
@@ -3919,7 +3608,10 @@
"type": "string"
}
}
- }
+ },
+ "required": [
+ "kind"
+ ]
},
"IdentitySettingKind": {
"type": "string",
@@ -3930,7 +3622,7 @@
],
"x-ms-enum": {
"name": "IdentitySettingKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "undefined",
@@ -3966,24 +3658,6 @@
"kind"
]
},
- "IdentitySettingsUpdate": {
- "type": "object",
- "description": "IdentitySettings is the external identity setting.",
- "properties": {
- "kind": {
- "$ref": "#/definitions/IdentitySettingKind",
- "description": "kind of identity setting"
- },
- "oidcIssuer": {
- "type": "string",
- "description": "The URI for your compute platform's OIDC issuer"
- },
- "resource": {
- "type": "string",
- "description": "The resource ID of the provisioned identity"
- }
- }
- },
"ImagePullPolicy": {
"type": "string",
"description": "The image pull policy for the container",
@@ -3994,7 +3668,7 @@
],
"x-ms-enum": {
"name": "ImagePullPolicy",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "Always",
@@ -4054,22 +3728,6 @@
],
"x-ms-discriminator-value": "kubernetes"
},
- "KubernetesComputeUpdate": {
- "type": "object",
- "description": "The Kubernetes compute configuration",
- "properties": {
- "namespace": {
- "type": "string",
- "description": "The namespace to use for the environment."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/EnvironmentComputeUpdate"
- }
- ],
- "x-ms-discriminator-value": "kubernetes"
- },
"KubernetesMetadataExtension": {
"type": "object",
"description": "Kubernetes metadata extension of a environment/application resource.",
@@ -4118,7 +3776,7 @@
"KubernetesPodSpec": {
"type": "object",
"description": "A strategic merge patch that will be applied to the PodSpec object when this container is being deployed.",
- "additionalProperties": true
+ "additionalProperties": {}
},
"KubernetesRuntimeProperties": {
"type": "object",
@@ -4143,7 +3801,7 @@
],
"x-ms-enum": {
"name": "ManagedStore",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "memory",
@@ -4228,7 +3886,7 @@
],
"x-ms-enum": {
"name": "PortProtocol",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "TCP",
@@ -4255,11 +3913,10 @@
}
}
},
- "additionalProperties": true,
"allOf": [
{
"type": "object",
- "additionalProperties": true
+ "additionalProperties": {}
}
]
},
@@ -4290,16 +3947,6 @@
"scope"
]
},
- "ProvidersAwsUpdate": {
- "type": "object",
- "description": "The AWS cloud provider definition.",
- "properties": {
- "scope": {
- "type": "string",
- "description": "Target scope for AWS resources to be deployed into. For example: '/planes/aws/aws/accounts/000000000000/regions/us-west-2'."
- }
- }
- },
"ProvidersAzure": {
"type": "object",
"description": "The Azure cloud provider definition.",
@@ -4313,60 +3960,42 @@
"scope"
]
},
- "ProvidersAzureUpdate": {
- "type": "object",
- "description": "The Azure cloud provider definition.",
- "properties": {
- "scope": {
- "type": "string",
- "description": "Target scope for Azure resources to be deployed into. For example: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup'."
- }
- }
- },
- "ProvidersUpdate": {
- "type": "object",
- "description": "The Cloud providers configuration.",
- "properties": {
- "azure": {
- "$ref": "#/definitions/ProvidersAzureUpdate",
- "description": "The Azure cloud provider configuration."
- },
- "aws": {
- "$ref": "#/definitions/ProvidersAwsUpdate",
- "description": "The AWS cloud provider configuration."
- }
- }
- },
"ProvisioningState": {
"type": "string",
"description": "Provisioning state of the resource at the time the operation was called",
"enum": [
- "Succeeded",
- "Failed",
- "Canceled",
- "Provisioning",
+ "Creating",
"Updating",
"Deleting",
- "Accepted"
+ "Accepted",
+ "Provisioning",
+ "Succeeded",
+ "Failed",
+ "Canceled"
],
"x-ms-enum": {
"name": "ProvisioningState",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
- "name": "Succeeded",
- "value": "Succeeded",
- "description": "Resource has been created."
+ "name": "Creating",
+ "value": "Creating",
+ "description": "The resource is being created"
},
{
- "name": "Failed",
- "value": "Failed",
- "description": "Resource creation failed."
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is being updated"
},
{
- "name": "Canceled",
- "value": "Canceled",
- "description": "Resource creation was canceled."
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
},
{
"name": "Provisioning",
@@ -4374,19 +4003,19 @@
"description": "The resource is being provisioned"
},
{
- "name": "Updating",
- "value": "Updating",
- "description": "The resource is updating"
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "The resource has been successfully provisioned"
},
{
- "name": "Deleting",
- "value": "Deleting",
- "description": "The resource is being deleted"
+ "name": "Failed",
+ "value": "Failed",
+ "description": "The resource provisioning has failed"
},
{
- "name": "Accepted",
- "value": "Accepted",
- "description": "The resource create request has been accepted"
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "The resource provisioning has been canceled"
}
]
},
@@ -4402,8 +4031,7 @@
},
"parameters": {
"type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
+ "description": "Key/value parameters to pass into the recipe at deployment"
}
},
"required": [
@@ -4471,8 +4099,7 @@
},
"parameters": {
"type": "object",
- "description": "The key/value parameters to pass to the recipe template at deployment.",
- "properties": {}
+ "description": "The key/value parameters to pass to the recipe template at deployment."
},
"plainHttp": {
"type": "boolean",
@@ -4499,8 +4126,7 @@
},
"parameters": {
"type": "object",
- "description": "Key/value parameters to pass to the recipe template at deployment.",
- "properties": {}
+ "description": "Key/value parameters to pass to the recipe template at deployment."
}
},
"discriminator": "templateKind",
@@ -4509,29 +4135,6 @@
"templatePath"
]
},
- "RecipePropertiesUpdate": {
- "type": "object",
- "description": "Format of the template provided by the recipe. Allowed values: bicep, terraform.",
- "properties": {
- "templateKind": {
- "type": "string",
- "description": "Discriminator property for RecipeProperties."
- },
- "templatePath": {
- "type": "string",
- "description": "Path to the template provided by the recipe. Currently only link to Azure Container Registry is supported."
- },
- "parameters": {
- "type": "object",
- "description": "Key/value parameters to pass to the recipe template at deployment.",
- "properties": {}
- }
- },
- "discriminator": "templateKind",
- "required": [
- "templateKind"
- ]
- },
"RecipeStatus": {
"type": "object",
"description": "Recipe status at deployment time for a resource.",
@@ -4554,21 +4157,6 @@
"templatePath"
]
},
- "RecipeUpdate": {
- "type": "object",
- "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the recipe within the environment to use"
- },
- "parameters": {
- "type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
- }
- }
- },
"RegistrySecretConfig": {
"type": "object",
"description": "Registry Secret Configuration used to authenticate to private bicep registries.",
@@ -4588,7 +4176,7 @@
],
"x-ms-enum": {
"name": "ResourceProvisioning",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "recipe",
@@ -4649,7 +4237,7 @@
],
"x-ms-enum": {
"name": "RestartPolicy",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "Always",
@@ -4698,9 +4286,35 @@
"description": "File name when written to disk"
},
"encoding": {
- "$ref": "#/definitions/VolumeSecretEncodings",
+ "type": "string",
"description": "Encoding format. Default utf-8",
- "default": "utf-8"
+ "default": "utf-8",
+ "enum": [
+ "utf-8",
+ "hex",
+ "base64"
+ ],
+ "x-ms-enum": {
+ "name": "VolumeSecretEncodings",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "utf8",
+ "value": "utf-8",
+ "description": "UTF-8 encoding"
+ },
+ {
+ "name": "hex",
+ "value": "hex",
+ "description": "Hex encoding"
+ },
+ {
+ "name": "base64",
+ "value": "base64",
+ "description": "Base64 encoding"
+ }
+ ]
+ }
},
"name": {
"type": "string",
@@ -4733,20 +4347,6 @@
"key"
]
},
- "SecretReferenceUpdate": {
- "type": "object",
- "description": "This secret is used within a recipe. Secrets are encrypted, often have fine-grained access control, auditing and are recommended to be used to hold sensitive data.",
- "properties": {
- "source": {
- "type": "string",
- "description": "The ID of an Applications.Core/SecretStore resource containing sensitive data required for recipe execution."
- },
- "key": {
- "type": "string",
- "description": "The key for the secret in the secret store."
- }
- }
- },
"SecretStoreDataType": {
"type": "string",
"description": "The type of SecretStore data",
@@ -4759,7 +4359,7 @@
],
"x-ms-enum": {
"name": "SecretStoreDataType",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "generic",
@@ -4833,9 +4433,47 @@
"readOnly": true
},
"type": {
- "$ref": "#/definitions/SecretStoreDataType",
+ "type": "string",
"description": "The type of secret store data",
- "default": "generic"
+ "default": "generic",
+ "enum": [
+ "generic",
+ "certificate",
+ "basicAuthentication",
+ "azureWorkloadIdentity",
+ "awsIRSA"
+ ],
+ "x-ms-enum": {
+ "name": "SecretStoreDataType",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "generic",
+ "value": "generic",
+ "description": "Generic secret data type"
+ },
+ {
+ "name": "certificate",
+ "value": "certificate",
+ "description": "Certificate secret data type"
+ },
+ {
+ "name": "basicAuthentication",
+ "value": "basicAuthentication",
+ "description": "basicAuthentication type is used to represent username and password based authentication and the secretstore resource is expected to have the keys 'username' and 'password'."
+ },
+ {
+ "name": "azureWorkloadIdentity",
+ "value": "azureWorkloadIdentity",
+ "description": "azureWorkloadIdentity type is used to represent authentication using azure federated identity and the secretstore resource is expected to have the keys 'clientId' and 'tenantId'."
+ },
+ {
+ "name": "awsIRSA",
+ "value": "awsIRSA",
+ "description": "awsIRSA type is used to represent authentication using AWS IRSA (IAM Roles for Service accounts) and the secretstore resource is expected to have the key 'roleARN'."
+ }
+ ]
+ }
},
"data": {
"type": "object",
@@ -4899,50 +4537,12 @@
},
"SecretStoreResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the SecretStoreResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/SecretStoreResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "SecretStoreResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the SecretStoreResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the application is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application"
- },
- "type": {
- "$ref": "#/definitions/SecretStoreDataType",
- "description": "The type of secret store data",
- "default": "generic"
- },
- "data": {
- "type": "object",
- "description": "An object to represent key-value type secrets",
- "additionalProperties": {
- "$ref": "#/definitions/SecretValueProperties"
- }
- },
- "resource": {
- "type": "string",
- "description": "The resource id of external secret store."
+ "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"SecretValueEncoding": {
"type": "string",
@@ -4953,7 +4553,7 @@
],
"x-ms-enum": {
"name": "SecretValueEncoding",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "raw",
@@ -4973,9 +4573,29 @@
"description": "The properties of SecretValue",
"properties": {
"encoding": {
- "$ref": "#/definitions/SecretValueEncoding",
+ "type": "string",
"description": "The encoding of value",
- "default": "raw"
+ "default": "raw",
+ "enum": [
+ "raw",
+ "base64"
+ ],
+ "x-ms-enum": {
+ "name": "SecretValueEncoding",
+ "modelAsString": false,
+ "values": [
+ {
+ "name": "raw",
+ "value": "raw",
+ "description": "The raw secret value"
+ },
+ {
+ "name": "base64",
+ "value": "base64",
+ "description": "The base64-encoded secret value"
+ }
+ ]
+ }
},
"value": {
"type": "string",
@@ -5046,22 +4666,6 @@
],
"x-ms-discriminator-value": "terraform"
},
- "TerraformRecipePropertiesUpdate": {
- "type": "object",
- "description": "Represents Terraform recipe properties.",
- "properties": {
- "templateVersion": {
- "type": "string",
- "description": "Version of the template to deploy. For Terraform recipes using a module registry this is required, but must be omitted for other module sources."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/RecipePropertiesUpdate"
- }
- ],
- "x-ms-discriminator-value": "terraform"
- },
"TlsMinVersion": {
"type": "string",
"description": "Tls Minimum versions for Gateway resource.",
@@ -5071,7 +4675,7 @@
],
"x-ms-enum": {
"name": "TlsMinVersion",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "tls12",
@@ -5103,24 +4707,6 @@
"name"
]
},
- "Versions": {
- "type": "string",
- "description": "Supported API versions for the Applications.Core resource provider.",
- "enum": [
- "2023-10-01-preview"
- ],
- "x-ms-enum": {
- "name": "Versions",
- "modelAsString": true,
- "values": [
- {
- "name": "v2023_10_01_preview",
- "value": "2023-10-01-preview",
- "description": "2023-10-01-preview"
- }
- ]
- }
- },
"Volume": {
"type": "object",
"description": "Specifies a volume for a container",
@@ -5148,7 +4734,7 @@
],
"x-ms-enum": {
"name": "VolumePermission",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "read",
@@ -5242,34 +4828,12 @@
},
"VolumeResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the VolumeResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/VolumeResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "VolumeResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the VolumeResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the application is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application"
+ "description": "Radius Volume resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"VolumeSecretEncodings": {
"type": "string",
@@ -5281,7 +4845,7 @@
],
"x-ms-enum": {
"name": "VolumeSecretEncodings",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "utf8",
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/openapi.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/openapi.json
index 2456969ab3f..ab4a6ff8b48 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/openapi.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/openapi.json
@@ -73,7 +73,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprConfigurationStoreResourceListResult"
}
@@ -124,7 +124,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprConfigurationStoreResource"
}
@@ -187,6 +187,10 @@
"$ref": "#/definitions/DaprConfigurationStoreResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -248,7 +252,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprConfigurationStoreResource"
}
@@ -256,14 +260,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -308,25 +312,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -363,7 +364,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprPubSubBrokerResourceListResult"
}
@@ -414,7 +415,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprPubSubBrokerResource"
}
@@ -477,6 +478,10 @@
"$ref": "#/definitions/DaprPubSubBrokerResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -538,7 +543,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprPubSubBrokerResource"
}
@@ -546,14 +551,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -598,25 +603,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -653,7 +655,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprSecretStoreResourceListResult"
}
@@ -704,7 +706,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprSecretStoreResource"
}
@@ -767,6 +769,10 @@
"$ref": "#/definitions/DaprSecretStoreResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -825,7 +831,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprSecretStoreResource"
}
@@ -833,14 +839,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -885,25 +891,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -940,7 +943,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprStateStoreResourceListResult"
}
@@ -991,7 +994,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprStateStoreResource"
}
@@ -1054,6 +1057,10 @@
"$ref": "#/definitions/DaprStateStoreResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -1115,7 +1122,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/DaprStateStoreResource"
}
@@ -1123,14 +1130,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -1175,25 +1182,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1227,7 +1231,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
}
@@ -1246,6 +1250,24 @@
}
},
"definitions": {
+ "Azure.ResourceManager.CommonTypes.TrackedResourceUpdate": {
+ "type": "object",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource"
+ }
+ ]
+ },
"DaprConfigurationStoreProperties": {
"type": "object",
"description": "Dapr configuration store portable resource properties",
@@ -1358,68 +1380,12 @@
},
"DaprConfigurationStoreResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the DaprConfigurationStoreResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/DaprConfigurationStoreResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "DaprConfigurationStoreResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the DaprConfigurationStoreResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "metadata": {
- "type": "object",
- "description": "The metadata for Dapr resource which must match the values specified in Dapr component spec",
- "additionalProperties": {
- "$ref": "#/definitions/MetadataValueUpdate"
- }
- },
- "type": {
- "type": "string",
- "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format"
- },
- "version": {
- "type": "string",
- "description": "Dapr component version"
- },
- "auth": {
- "$ref": "#/definitions/DaprResourceAuth",
- "description": "The name of the Dapr component to be used as a secret store"
- },
- "resources": {
- "type": "array",
- "description": "A collection of references to resources associated with the configuration store",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "Dapr configuration store portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"DaprPubSubBrokerProperties": {
"type": "object",
@@ -1533,68 +1499,12 @@
},
"DaprPubSubBrokerResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the DaprPubSubBrokerResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/DaprPubSubBrokerResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "DaprPubSubBrokerResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the DaprPubSubBrokerResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "metadata": {
- "type": "object",
- "description": "The metadata for Dapr resource which must match the values specified in Dapr component spec",
- "additionalProperties": {
- "$ref": "#/definitions/MetadataValueUpdate"
- }
- },
- "type": {
- "type": "string",
- "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format"
- },
- "version": {
- "type": "string",
- "description": "Dapr component version"
- },
- "auth": {
- "$ref": "#/definitions/DaprResourceAuth",
- "description": "The name of the Dapr component to be used as a secret store"
- },
- "resources": {
- "type": "array",
- "description": "A collection of references to resources associated with the pubSubBroker",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "Dapr PubSubBroker portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"DaprResourceAuth": {
"type": "object",
@@ -1707,57 +1617,12 @@
},
"DaprSecretStoreResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the DaprSecretStoreResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/DaprSecretStoreResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "DaprSecretStoreResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the DaprSecretStoreResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "metadata": {
- "type": "object",
- "description": "The metadata for Dapr resource which must match the values specified in Dapr component spec",
- "additionalProperties": {
- "$ref": "#/definitions/MetadataValueUpdate"
- }
- },
- "type": {
- "type": "string",
- "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format"
- },
- "version": {
- "type": "string",
- "description": "Dapr component version"
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "Dapr SecretStore portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"DaprStateStoreProperties": {
"type": "object",
@@ -1871,68 +1736,12 @@
},
"DaprStateStoreResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the DaprStateStoreResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/DaprStateStoreResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "DaprStateStoreResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the DaprStateStoreResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "metadata": {
- "type": "object",
- "description": "The metadata for Dapr resource which must match the values specified in Dapr component spec",
- "additionalProperties": {
- "$ref": "#/definitions/MetadataValueUpdate"
- }
- },
- "type": {
- "type": "string",
- "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format"
- },
- "version": {
- "type": "string",
- "description": "Dapr component version"
- },
- "auth": {
- "$ref": "#/definitions/DaprResourceAuth",
- "description": "The name of the Dapr component to be used as a secret store"
- },
- "resources": {
- "type": "array",
- "description": "A collection of references to resources associated with the state store",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "Dapr StateStore portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"EnvironmentCompute": {
"type": "object",
@@ -1965,7 +1774,7 @@
],
"x-ms-enum": {
"name": "IdentitySettingKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "undefined",
@@ -2052,34 +1861,6 @@
"key"
]
},
- "MetadataValueFromSecretUpdate": {
- "type": "object",
- "description": "A reference of a value in a secret store component.",
- "properties": {
- "name": {
- "type": "string",
- "description": "Secret name in the secret store component"
- },
- "key": {
- "type": "string",
- "description": "The field to select in the secret value. If the secret value is a string, it should be equal to the secret name"
- }
- }
- },
- "MetadataValueUpdate": {
- "type": "object",
- "description": "A single metadata for a Dapr component object",
- "properties": {
- "value": {
- "type": "string",
- "description": "The plain text value of the metadata"
- },
- "secretKeyRef": {
- "$ref": "#/definitions/MetadataValueFromSecretUpdate",
- "description": "A reference of a value in a secret store component"
- }
- }
- },
"NonRedundantDaprResourceProperties": {
"type": "object",
"description": "The base properties of a Dapr component object.",
@@ -2128,32 +1909,38 @@
"type": "string",
"description": "Provisioning state of the resource at the time the operation was called",
"enum": [
- "Succeeded",
- "Failed",
- "Canceled",
- "Provisioning",
+ "Creating",
"Updating",
"Deleting",
- "Accepted"
+ "Accepted",
+ "Provisioning",
+ "Succeeded",
+ "Failed",
+ "Canceled"
],
"x-ms-enum": {
"name": "ProvisioningState",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
- "name": "Succeeded",
- "value": "Succeeded",
- "description": "Resource has been created."
+ "name": "Creating",
+ "value": "Creating",
+ "description": "The resource is being created"
},
{
- "name": "Failed",
- "value": "Failed",
- "description": "Resource creation failed."
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is being updated"
},
{
- "name": "Canceled",
- "value": "Canceled",
- "description": "Resource creation was canceled."
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
},
{
"name": "Provisioning",
@@ -2161,19 +1948,19 @@
"description": "The resource is being provisioned"
},
{
- "name": "Updating",
- "value": "Updating",
- "description": "The resource is updating"
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "The resource has been successfully provisioned"
},
{
- "name": "Deleting",
- "value": "Deleting",
- "description": "The resource is being deleted"
+ "name": "Failed",
+ "value": "Failed",
+ "description": "The resource provisioning has failed"
},
{
- "name": "Accepted",
- "value": "Accepted",
- "description": "The resource create request has been accepted"
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "The resource provisioning has been canceled"
}
]
},
@@ -2189,8 +1976,7 @@
},
"parameters": {
"type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
+ "description": "Key/value parameters to pass into the recipe at deployment"
}
},
"required": [
@@ -2219,21 +2005,6 @@
"templatePath"
]
},
- "RecipeUpdate": {
- "type": "object",
- "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the recipe within the environment to use"
- },
- "parameters": {
- "type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
- }
- }
- },
"ResourceProvisioning": {
"type": "string",
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values.",
@@ -2243,7 +2014,7 @@
],
"x-ms-enum": {
"name": "ResourceProvisioning",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "recipe",
@@ -2293,24 +2064,6 @@
"x-ms-identifiers": []
}
}
- },
- "Versions": {
- "type": "string",
- "description": "Supported API versions for the Applications.Dapr resource provider.",
- "enum": [
- "2023-10-01-preview"
- ],
- "x-ms-enum": {
- "name": "Versions",
- "modelAsString": true,
- "values": [
- {
- "name": "v2023_10_01_preview",
- "value": "2023-10-01-preview",
- "description": "2023-10-01-preview"
- }
- ]
- }
}
},
"parameters": {
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/openapi.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/openapi.json
index a2ec8629227..081b031b654 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/openapi.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/openapi.json
@@ -70,7 +70,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/MongoDatabaseResourceListResult"
}
@@ -121,7 +121,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/MongoDatabaseResource"
}
@@ -184,6 +184,10 @@
"$ref": "#/definitions/MongoDatabaseResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -199,11 +203,11 @@
}
},
"x-ms-examples": {
- "Create or update a MongoDatabase resource with recipe": {
- "$ref": "./examples/MongoDatabases_CreateOrUpdateRecipe.json"
- },
"Create or update a MongoDatabase resource": {
"$ref": "./examples/MongoDatabases_CreateOrUpdateValues.json"
+ },
+ "Create or update a MongoDatabase resource with recipe": {
+ "$ref": "./examples/MongoDatabases_CreateOrUpdateRecipe.json"
}
},
"x-ms-long-running-operation-options": {
@@ -245,7 +249,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/MongoDatabaseResource"
}
@@ -253,14 +257,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -300,25 +304,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -367,14 +368,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/MongoDatabaseListSecretsResult"
}
@@ -410,7 +410,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RedisCacheResourceListResult"
}
@@ -461,7 +461,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RedisCacheResource"
}
@@ -524,6 +524,10 @@
"$ref": "#/definitions/RedisCacheResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -588,7 +592,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RedisCacheResource"
}
@@ -596,14 +600,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -648,25 +652,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -715,14 +716,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RedisCacheListSecretsResult"
}
@@ -758,7 +758,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SqlDatabaseResourceListResult"
}
@@ -809,7 +809,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SqlDatabaseResource"
}
@@ -872,6 +872,10 @@
"$ref": "#/definitions/SqlDatabaseResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -930,7 +934,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SqlDatabaseResource"
}
@@ -938,14 +942,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -990,25 +994,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1057,14 +1058,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/SqlDatabaseListSecretsResult"
}
@@ -1092,7 +1092,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
}
@@ -1111,6 +1111,24 @@
}
},
"definitions": {
+ "Azure.ResourceManager.CommonTypes.TrackedResourceUpdate": {
+ "type": "object",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource"
+ }
+ ]
+ },
"EnvironmentCompute": {
"type": "object",
"description": "Represents backing compute resource",
@@ -1142,7 +1160,7 @@
],
"x-ms-enum": {
"name": "IdentitySettingKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "undefined",
@@ -1320,70 +1338,12 @@
},
"MongoDatabaseResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the MongoDatabaseResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/MongoDatabaseResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "MongoDatabaseResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the MongoDatabaseResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "secrets": {
- "$ref": "#/definitions/MongoDatabaseSecrets",
- "description": "Secret values provided for the resource"
- },
- "host": {
- "type": "string",
- "description": "Host name of the target Mongo database"
- },
- "port": {
- "type": "integer",
- "format": "int32",
- "description": "Port value of the target Mongo database"
- },
- "database": {
- "type": "string",
- "description": "Database name of the target Mongo database"
- },
- "resources": {
- "type": "array",
- "description": "List of the resource IDs that support the MongoDB resource",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "username": {
- "type": "string",
- "description": "Username to use when connecting to the target Mongo database"
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "MongoDatabase portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"MongoDatabaseSecrets": {
"type": "object",
@@ -1421,32 +1381,38 @@
"type": "string",
"description": "Provisioning state of the resource at the time the operation was called",
"enum": [
- "Succeeded",
- "Failed",
- "Canceled",
- "Provisioning",
+ "Creating",
"Updating",
"Deleting",
- "Accepted"
+ "Accepted",
+ "Provisioning",
+ "Succeeded",
+ "Failed",
+ "Canceled"
],
"x-ms-enum": {
"name": "ProvisioningState",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
- "name": "Succeeded",
- "value": "Succeeded",
- "description": "Resource has been created."
+ "name": "Creating",
+ "value": "Creating",
+ "description": "The resource is being created"
},
{
- "name": "Failed",
- "value": "Failed",
- "description": "Resource creation failed."
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is being updated"
},
{
- "name": "Canceled",
- "value": "Canceled",
- "description": "Resource creation was canceled."
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
},
{
"name": "Provisioning",
@@ -1454,19 +1420,19 @@
"description": "The resource is being provisioned"
},
{
- "name": "Updating",
- "value": "Updating",
- "description": "The resource is updating"
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "The resource has been successfully provisioned"
},
{
- "name": "Deleting",
- "value": "Deleting",
- "description": "The resource is being deleted"
+ "name": "Failed",
+ "value": "Failed",
+ "description": "The resource provisioning has failed"
},
{
- "name": "Accepted",
- "value": "Accepted",
- "description": "The resource create request has been accepted"
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "The resource provisioning has been canceled"
}
]
},
@@ -1482,8 +1448,7 @@
},
"parameters": {
"type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
+ "description": "Key/value parameters to pass into the recipe at deployment"
}
},
"required": [
@@ -1512,21 +1477,6 @@
"templatePath"
]
},
- "RecipeUpdate": {
- "type": "object",
- "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the recipe within the environment to use"
- },
- "parameters": {
- "type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
- }
- }
- },
"RedisCacheListSecretsResult": {
"type": "object",
"description": "The secret values for the given RedisCache resource",
@@ -1654,70 +1604,12 @@
},
"RedisCacheResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the RedisCacheResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/RedisCacheResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "RedisCacheResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the RedisCacheResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "secrets": {
- "$ref": "#/definitions/RedisCacheSecrets",
- "description": "Secrets provided by resource"
- },
- "host": {
- "type": "string",
- "description": "The host name of the target Redis cache"
- },
- "port": {
- "type": "integer",
- "format": "int32",
- "description": "The port value of the target Redis cache"
- },
- "username": {
- "type": "string",
- "description": "The username for Redis cache"
- },
- "tls": {
- "type": "boolean",
- "description": "Specifies whether to enable SSL connections to the Redis cache"
- },
- "resources": {
- "type": "array",
- "description": "List of the resource IDs that support the Redis resource",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "RedisCache portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"RedisCacheSecrets": {
"type": "object",
@@ -1746,7 +1638,7 @@
],
"x-ms-enum": {
"name": "ResourceProvisioning",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "recipe",
@@ -1920,70 +1812,12 @@
},
"SqlDatabaseResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the SqlDatabaseResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/SqlDatabaseResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "SqlDatabaseResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the SqlDatabaseResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "database": {
- "type": "string",
- "description": "The name of the Sql database."
- },
- "server": {
- "type": "string",
- "description": "The fully qualified domain name of the Sql database."
- },
- "port": {
- "type": "integer",
- "format": "int32",
- "description": "Port value of the target Sql database"
- },
- "username": {
- "type": "string",
- "description": "Username to use when connecting to the target Sql database"
- },
- "resources": {
- "type": "array",
- "description": "List of the resource IDs that support the SqlDatabase resource",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "secrets": {
- "$ref": "#/definitions/SqlDatabaseSecrets",
- "description": "Secret values provided for the resource"
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "SqlDatabase portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"SqlDatabaseSecrets": {
"type": "object",
@@ -1998,24 +1832,6 @@
"description": "Connection string used to connect to the target Sql database"
}
}
- },
- "Versions": {
- "type": "string",
- "description": "Supported API versions for the Applications.Databases resource provider.",
- "enum": [
- "2023-10-01-preview"
- ],
- "x-ms-enum": {
- "name": "Versions",
- "modelAsString": true,
- "values": [
- {
- "name": "v2023_10_01_preview",
- "value": "2023-10-01-preview",
- "description": "2023-10-01-preview"
- }
- ]
- }
}
},
"parameters": {
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/openapi.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/openapi.json
index 5cf32849668..3e46fa56fb6 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/openapi.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/openapi.json
@@ -64,7 +64,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RabbitMQQueueResourceListResult"
}
@@ -115,7 +115,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RabbitMQQueueResource"
}
@@ -178,6 +178,10 @@
"$ref": "#/definitions/RabbitMQQueueResource"
},
"headers": {
+ "Azure-AsyncOperation": {
+ "type": "string",
+ "description": "A link to the status monitor"
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
@@ -236,7 +240,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RabbitMQQueueResource"
}
@@ -244,14 +248,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -296,25 +300,22 @@
}
],
"responses": {
- "200": {
- "description": "Resource deleted successfully."
- },
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -363,14 +364,13 @@
"description": "The content of the action request",
"required": true,
"schema": {
- "type": "object",
- "properties": {}
+ "type": "object"
}
}
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RabbitMQListSecretsResult"
}
@@ -403,7 +403,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
}
@@ -422,6 +422,24 @@
}
},
"definitions": {
+ "Azure.ResourceManager.CommonTypes.TrackedResourceUpdate": {
+ "type": "object",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource"
+ }
+ ]
+ },
"EnvironmentCompute": {
"type": "object",
"description": "Represents backing compute resource",
@@ -453,7 +471,7 @@
],
"x-ms-enum": {
"name": "IdentitySettingKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "undefined",
@@ -530,32 +548,38 @@
"type": "string",
"description": "Provisioning state of the resource at the time the operation was called",
"enum": [
- "Succeeded",
- "Failed",
- "Canceled",
- "Provisioning",
+ "Creating",
"Updating",
"Deleting",
- "Accepted"
+ "Accepted",
+ "Provisioning",
+ "Succeeded",
+ "Failed",
+ "Canceled"
],
"x-ms-enum": {
"name": "ProvisioningState",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
- "name": "Succeeded",
- "value": "Succeeded",
- "description": "Resource has been created."
+ "name": "Creating",
+ "value": "Creating",
+ "description": "The resource is being created"
},
{
- "name": "Failed",
- "value": "Failed",
- "description": "Resource creation failed."
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is being updated"
},
{
- "name": "Canceled",
- "value": "Canceled",
- "description": "Resource creation was canceled."
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
},
{
"name": "Provisioning",
@@ -563,19 +587,19 @@
"description": "The resource is being provisioned"
},
{
- "name": "Updating",
- "value": "Updating",
- "description": "The resource is updating"
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "The resource has been successfully provisioned"
},
{
- "name": "Deleting",
- "value": "Deleting",
- "description": "The resource is being deleted"
+ "name": "Failed",
+ "value": "Failed",
+ "description": "The resource provisioning has failed"
},
{
- "name": "Accepted",
- "value": "Accepted",
- "description": "The resource create request has been accepted"
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "The resource provisioning has been canceled"
}
]
},
@@ -712,78 +736,12 @@
},
"RabbitMQQueueResourceUpdate": {
"type": "object",
- "description": "The type used for update operations of the RabbitMQQueueResource.",
- "properties": {
- "tags": {
- "type": "object",
- "description": "Resource tags.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "properties": {
- "$ref": "#/definitions/RabbitMQQueueResourceUpdateProperties",
- "x-ms-client-flatten": true
- }
- }
- },
- "RabbitMQQueueResourceUpdateProperties": {
- "type": "object",
- "description": "The updatable properties of the RabbitMQQueueResource.",
- "properties": {
- "environment": {
- "type": "string",
- "description": "Fully qualified resource ID for the environment that the portable resource is linked to"
- },
- "application": {
- "type": "string",
- "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"
- },
- "secrets": {
- "$ref": "#/definitions/RabbitMQSecrets",
- "description": "The secrets to connect to the RabbitMQ instance"
- },
- "queue": {
- "type": "string",
- "description": "The name of the queue"
- },
- "host": {
- "type": "string",
- "description": "The hostname of the RabbitMQ instance"
- },
- "port": {
- "type": "integer",
- "format": "int32",
- "description": "The port of the RabbitMQ instance. Defaults to 5672"
- },
- "vHost": {
- "type": "string",
- "description": "The RabbitMQ virtual host (vHost) the client will connect to. Defaults to no vHost."
- },
- "username": {
- "type": "string",
- "description": "The username to use when connecting to the RabbitMQ instance"
- },
- "resources": {
- "type": "array",
- "description": "List of the resource IDs that support the rabbitMQ resource",
- "items": {
- "$ref": "#/definitions/ResourceReference"
- }
- },
- "tls": {
- "type": "boolean",
- "description": "Specifies whether to use SSL when connecting to the RabbitMQ instance"
- },
- "recipe": {
- "$ref": "#/definitions/RecipeUpdate",
- "description": "The recipe used to automatically deploy underlying infrastructure for the resource"
- },
- "resourceProvisioning": {
- "$ref": "#/definitions/ResourceProvisioning",
- "description": "Specifies how the underlying service/resource is provisioned and managed."
+ "description": "RabbitMQQueue portable resource",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.TrackedResourceUpdate"
}
- }
+ ]
},
"RabbitMQSecrets": {
"type": "object",
@@ -809,8 +767,7 @@
},
"parameters": {
"type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
+ "description": "Key/value parameters to pass into the recipe at deployment"
}
},
"required": [
@@ -839,21 +796,6 @@
"templatePath"
]
},
- "RecipeUpdate": {
- "type": "object",
- "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the recipe within the environment to use"
- },
- "parameters": {
- "type": "object",
- "description": "Key/value parameters to pass into the recipe at deployment",
- "properties": {}
- }
- }
- },
"ResourceProvisioning": {
"type": "string",
"description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values.",
@@ -863,7 +805,7 @@
],
"x-ms-enum": {
"name": "ResourceProvisioning",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "recipe",
@@ -913,24 +855,6 @@
"x-ms-identifiers": []
}
}
- },
- "Versions": {
- "type": "string",
- "description": "Supported API versions for the Applications.Messaging resource provider.",
- "enum": [
- "2023-10-01-preview"
- ],
- "x-ms-enum": {
- "name": "Versions",
- "modelAsString": true,
- "values": [
- {
- "name": "v2023_10_01_preview",
- "value": "2023-10-01-preview",
- "description": "2023-10-01-preview"
- }
- ]
- }
}
},
"parameters": {
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json
index b6c146bf74a..15d421726d2 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/openapi.json
@@ -91,7 +91,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/GenericPlaneResourceListResult"
}
@@ -127,7 +127,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AwsPlaneResourceListResult"
}
@@ -167,7 +167,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AwsPlaneResource"
}
@@ -272,7 +272,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AwsPlaneResource"
}
@@ -280,14 +280,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -330,19 +330,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -374,7 +374,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AwsCredentialResourceListResult"
}
@@ -425,7 +425,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AwsCredentialResource"
}
@@ -541,7 +541,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AwsCredentialResource"
}
@@ -590,7 +590,7 @@
"description": "Resource deleted successfully."
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -623,7 +623,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AzurePlaneResourceListResult"
}
@@ -663,7 +663,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AzurePlaneResource"
}
@@ -768,7 +768,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AzurePlaneResource"
}
@@ -776,14 +776,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -826,19 +826,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -870,7 +870,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AzureCredentialResourceListResult"
}
@@ -921,7 +921,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AzureCredentialResource"
}
@@ -1037,7 +1037,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/AzureCredentialResource"
}
@@ -1086,7 +1086,7 @@
"description": "Resource deleted successfully."
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1119,7 +1119,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RadiusPlaneResourceListResult"
}
@@ -1159,7 +1159,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RadiusPlaneResource"
}
@@ -1264,7 +1264,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/RadiusPlaneResource"
}
@@ -1272,14 +1272,14 @@
"202": {
"description": "Resource update request accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
@@ -1322,19 +1322,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1426,7 +1426,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceProviderSummary"
}
@@ -1468,7 +1468,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceProviderResourceListResult"
}
@@ -1522,7 +1522,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceProviderResource"
}
@@ -1651,19 +1651,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1715,7 +1715,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/LocationResourceListResult"
}
@@ -1778,7 +1778,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/LocationResource"
}
@@ -1925,19 +1925,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -1989,7 +1989,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceTypeResourceListResult"
}
@@ -2052,7 +2052,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceTypeResource"
}
@@ -2199,19 +2199,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -2272,7 +2272,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ApiVersionResourceListResult"
}
@@ -2344,7 +2344,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ApiVersionResource"
}
@@ -2509,19 +2509,19 @@
"202": {
"description": "Resource deletion accepted.",
"headers": {
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ },
"Retry-After": {
"type": "integer",
"format": "int32",
"description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
- },
- "Location": {
- "type": "string",
- "description": "The Location header contains the URL where the status of the long running operation can be checked."
}
}
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -2564,7 +2564,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceGroupResourceListResult"
}
@@ -2618,7 +2618,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceGroupResource"
}
@@ -2740,7 +2740,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/ResourceGroupResource"
}
@@ -2792,7 +2792,7 @@
"description": "Resource deleted successfully."
},
"204": {
- "description": "Resource deleted successfully."
+ "description": "Resource does not exist."
},
"default": {
"description": "An unexpected error response.",
@@ -2840,7 +2840,7 @@
],
"responses": {
"200": {
- "description": "ARM operation completed successfully.",
+ "description": "Azure operation completed successfully.",
"schema": {
"$ref": "#/definitions/GenericResourceListResult"
}
@@ -2873,7 +2873,7 @@
],
"x-ms-enum": {
"name": "AWSCredentialKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "AccessKey",
@@ -2911,12 +2911,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/ApiVersionProperties",
- "description": "The resource-specific properties for this resource.",
- "x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "description": "The resource-specific properties for this resource."
}
},
"allOf": [
@@ -3156,7 +3151,7 @@
],
"x-ms-enum": {
"name": "AzureCredentialKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "ServicePrincipal",
@@ -3390,16 +3385,21 @@
"type": "string",
"description": "Credential store kinds supported.",
"enum": [
- "Internal"
+ "Internal",
+ "string"
],
"x-ms-enum": {
"name": "CredentialStorageKind",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
"name": "Internal",
"value": "Internal",
"description": "Internal credential storage"
+ },
+ {
+ "name": "string",
+ "value": "string"
}
]
}
@@ -3493,12 +3493,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/ResourceProperties",
- "description": "The resource-specific properties for this resource.",
- "x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "description": "The resource-specific properties for this resource."
}
},
"allOf": [
@@ -3584,12 +3579,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/LocationProperties",
- "description": "The resource-specific properties for this resource.",
- "x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "description": "The resource-specific properties for this resource."
}
},
"allOf": [
@@ -3634,8 +3624,7 @@
},
"LocationResourceTypeApiVersion": {
"type": "object",
- "description": "The configuration for an API version of an resource type.",
- "properties": {}
+ "description": "The configuration for an API version of an resource type."
},
"PagedResourceProviderSummary": {
"type": "object",
@@ -3678,32 +3667,38 @@
"type": "string",
"description": "Provisioning state of the resource at the time the operation was called",
"enum": [
- "Succeeded",
- "Failed",
- "Canceled",
- "Provisioning",
+ "Creating",
"Updating",
"Deleting",
- "Accepted"
+ "Accepted",
+ "Provisioning",
+ "Succeeded",
+ "Failed",
+ "Canceled"
],
"x-ms-enum": {
"name": "ProvisioningState",
- "modelAsString": true,
+ "modelAsString": false,
"values": [
{
- "name": "Succeeded",
- "value": "Succeeded",
- "description": "Resource has been created."
+ "name": "Creating",
+ "value": "Creating",
+ "description": "The resource is being created"
},
{
- "name": "Failed",
- "value": "Failed",
- "description": "Resource creation failed."
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is being updated"
},
{
- "name": "Canceled",
- "value": "Canceled",
- "description": "Resource creation was canceled."
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
},
{
"name": "Provisioning",
@@ -3711,19 +3706,19 @@
"description": "The resource is being provisioned"
},
{
- "name": "Updating",
- "value": "Updating",
- "description": "The resource is updating"
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "The resource has been successfully provisioned"
},
{
- "name": "Deleting",
- "value": "Deleting",
- "description": "The resource is being deleted"
+ "name": "Failed",
+ "value": "Failed",
+ "description": "The resource provisioning has failed"
},
{
- "name": "Accepted",
- "value": "Accepted",
- "description": "The resource create request has been accepted"
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "The resource provisioning has been canceled"
}
]
},
@@ -3824,12 +3819,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/ResourceGroupProperties",
- "description": "The resource-specific properties for this resource.",
- "x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "description": "The resource-specific properties for this resource."
}
},
"allOf": [
@@ -3880,8 +3870,7 @@
},
"ResourceProperties": {
"type": "object",
- "description": "The resource properties",
- "properties": {}
+ "description": "The resource properties"
},
"ResourceProviderNamespaceString": {
"type": "string",
@@ -3906,12 +3895,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/ResourceProviderProperties",
- "description": "The resource-specific properties for this resource.",
- "x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "description": "The resource-specific properties for this resource."
}
},
"allOf": [
@@ -3972,8 +3956,7 @@
},
"ResourceProviderSummaryLocation": {
"type": "object",
- "description": "The configuration of a resource provider in a specific location.",
- "properties": {}
+ "description": "The configuration of a resource provider in a specific location."
},
"ResourceProviderSummaryResourceType": {
"type": "object",
@@ -4026,12 +4009,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/ResourceTypeProperties",
- "description": "The resource-specific properties for this resource.",
- "x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "description": "The resource-specific properties for this resource."
}
},
"allOf": [
@@ -4063,26 +4041,7 @@
},
"ResourceTypeSummaryResultApiVersion": {
"type": "object",
- "description": "The configuration of a resource type API version.",
- "properties": {}
- },
- "Versions": {
- "type": "string",
- "description": "Supported API versions for Universal Control Plane resource provider.",
- "enum": [
- "2023-10-01-preview"
- ],
- "x-ms-enum": {
- "name": "Versions",
- "modelAsString": true,
- "values": [
- {
- "name": "v2023_10_01_preview",
- "value": "2023-10-01-preview",
- "description": "2023-10-01-preview"
- }
- ]
- }
+ "description": "The configuration of a resource type API version."
}
},
"parameters": {
diff --git a/typespec/Applications.Core/containers.tsp b/typespec/Applications.Core/containers.tsp
index c9b02cf90d2..001b2294292 100644
--- a/typespec/Applications.Core/containers.tsp
+++ b/typespec/Applications.Core/containers.tsp
@@ -322,6 +322,10 @@ enum VolumePermission {
enum IAMKind {
@doc("Azure Active Directory")
azure,
+
+ // This was added because typespec doesn't generate necessary functions and other variables for single value enums.
+ // This can be deleted if we add more values to the enum.
+ string,
}
@armResourceOperations
@@ -342,7 +346,7 @@ interface Containers {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
ContainerResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Core/extenders.tsp b/typespec/Applications.Core/extenders.tsp
index 0ab8b288a01..576d0ac0612 100644
--- a/typespec/Applications.Core/extenders.tsp
+++ b/typespec/Applications.Core/extenders.tsp
@@ -37,7 +37,7 @@ using OpenAPI;
namespace Applications.Core;
@doc("Response for list secrets API call")
-model ExtenderListSecretResponse {}
+model ExtenderListSecretResponse extends Record {}
@doc("ExtenderResource portable resource")
model ExtenderResource
@@ -82,7 +82,7 @@ interface Extenders {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
ExtenderResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Core/gateways.tsp b/typespec/Applications.Core/gateways.tsp
index 03cf2509fd2..12f4bced5fd 100644
--- a/typespec/Applications.Core/gateways.tsp
+++ b/typespec/Applications.Core/gateways.tsp
@@ -128,7 +128,7 @@ interface Gateways {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
GatewayResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Core/main.tsp b/typespec/Applications.Core/main.tsp
index 22ffeb685f9..2c39c8be69a 100644
--- a/typespec/Applications.Core/main.tsp
+++ b/typespec/Applications.Core/main.tsp
@@ -21,7 +21,7 @@ import "./environments.tsp";
import "./applications.tsp";
import "./containers.tsp";
import "./gateways.tsp";
-import "./secretstores.tsp";
+import "./secretStores.tsp";
import "./volumes.tsp";
import "./extenders.tsp";
diff --git a/typespec/Applications.Core/secretstores.tsp b/typespec/Applications.Core/secretStores.tsp
similarity index 98%
rename from typespec/Applications.Core/secretstores.tsp
rename to typespec/Applications.Core/secretStores.tsp
index 3a3663f0ac5..af153f6eaa3 100644
--- a/typespec/Applications.Core/secretstores.tsp
+++ b/typespec/Applications.Core/secretStores.tsp
@@ -137,7 +137,7 @@ interface SecretStores {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
SecretStoreResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Core/tspconfig.yaml b/typespec/Applications.Core/tspconfig.yaml
index 36ae5ddecf3..5364ba5e70c 100644
--- a/typespec/Applications.Core/tspconfig.yaml
+++ b/typespec/Applications.Core/tspconfig.yaml
@@ -4,7 +4,7 @@ options:
"@azure-tools/typespec-autorest":
use-read-only-status-schema: true
azure-resource-provider-folder: "resource-manager"
- examples-directory: "{project-root}/examples"
+ examples-dir: "{project-root}/examples"
emitter-output-dir: "{project-root}/../../swagger/specification/applications"
arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management"
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
diff --git a/typespec/Applications.Core/volumes.tsp b/typespec/Applications.Core/volumes.tsp
index d6bbe658310..6d29491c26b 100644
--- a/typespec/Applications.Core/volumes.tsp
+++ b/typespec/Applications.Core/volumes.tsp
@@ -166,7 +166,7 @@ interface Volumes {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
VolumeResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Dapr/configurationStores.tsp b/typespec/Applications.Dapr/configurationStores.tsp
index 01ece3f5ec1..afbbe66de75 100644
--- a/typespec/Applications.Dapr/configurationStores.tsp
+++ b/typespec/Applications.Dapr/configurationStores.tsp
@@ -79,7 +79,7 @@ interface ConfigurationStores {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
DaprConfigurationStoreResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Dapr/pubSubBrokers.tsp b/typespec/Applications.Dapr/pubSubBrokers.tsp
index d3e9cbbe178..186be4c7e36 100644
--- a/typespec/Applications.Dapr/pubSubBrokers.tsp
+++ b/typespec/Applications.Dapr/pubSubBrokers.tsp
@@ -76,7 +76,7 @@ interface PubSubBrokers {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
DaprPubSubBrokerResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Dapr/secretStores.tsp b/typespec/Applications.Dapr/secretStores.tsp
index b446143538f..ea9856d3869 100644
--- a/typespec/Applications.Dapr/secretStores.tsp
+++ b/typespec/Applications.Dapr/secretStores.tsp
@@ -75,7 +75,7 @@ interface SecretStores {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
DaprSecretStoreResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Dapr/stateStores.tsp b/typespec/Applications.Dapr/stateStores.tsp
index cab6737ea46..3c8750914c6 100644
--- a/typespec/Applications.Dapr/stateStores.tsp
+++ b/typespec/Applications.Dapr/stateStores.tsp
@@ -74,7 +74,7 @@ interface StateStores {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
DaprStateStoreResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Dapr/tspconfig.yaml b/typespec/Applications.Dapr/tspconfig.yaml
index 38f0dc630d6..5364ba5e70c 100644
--- a/typespec/Applications.Dapr/tspconfig.yaml
+++ b/typespec/Applications.Dapr/tspconfig.yaml
@@ -4,7 +4,7 @@ options:
"@azure-tools/typespec-autorest":
use-read-only-status-schema: true
azure-resource-provider-folder: "resource-manager"
- examples-directory: "examples"
+ examples-dir: "{project-root}/examples"
emitter-output-dir: "{project-root}/../../swagger/specification/applications"
arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management"
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
diff --git a/typespec/Applications.Datastores/mongoDatabases.tsp b/typespec/Applications.Datastores/mongoDatabases.tsp
index 7e92e4f66d0..634bd9f3400 100644
--- a/typespec/Applications.Datastores/mongoDatabases.tsp
+++ b/typespec/Applications.Datastores/mongoDatabases.tsp
@@ -103,7 +103,7 @@ interface MongoDatabases {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
MongoDatabaseResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Datastores/redisCaches.tsp b/typespec/Applications.Datastores/redisCaches.tsp
index 35072608b84..3950cfbdb63 100644
--- a/typespec/Applications.Datastores/redisCaches.tsp
+++ b/typespec/Applications.Datastores/redisCaches.tsp
@@ -104,7 +104,7 @@ interface RedisCaches {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
RedisCacheResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Datastores/sqlDatabases.tsp b/typespec/Applications.Datastores/sqlDatabases.tsp
index 31c9861a326..1c44c0f3c0a 100644
--- a/typespec/Applications.Datastores/sqlDatabases.tsp
+++ b/typespec/Applications.Datastores/sqlDatabases.tsp
@@ -102,7 +102,7 @@ interface SqlDatabases {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
SqlDatabaseResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Datastores/tspconfig.yaml b/typespec/Applications.Datastores/tspconfig.yaml
index 38f0dc630d6..5364ba5e70c 100644
--- a/typespec/Applications.Datastores/tspconfig.yaml
+++ b/typespec/Applications.Datastores/tspconfig.yaml
@@ -4,7 +4,7 @@ options:
"@azure-tools/typespec-autorest":
use-read-only-status-schema: true
azure-resource-provider-folder: "resource-manager"
- examples-directory: "examples"
+ examples-dir: "{project-root}/examples"
emitter-output-dir: "{project-root}/../../swagger/specification/applications"
arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management"
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
diff --git a/typespec/Applications.Messaging/rabbitMQQueues.tsp b/typespec/Applications.Messaging/rabbitMQQueues.tsp
index b27808963f0..eceb11e2931 100644
--- a/typespec/Applications.Messaging/rabbitMQQueues.tsp
+++ b/typespec/Applications.Messaging/rabbitMQQueues.tsp
@@ -112,7 +112,7 @@ interface RabbitMQQueues {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
RabbitMQQueueResource,
UCPBaseParameters
>;
diff --git a/typespec/Applications.Messaging/tspconfig.yaml b/typespec/Applications.Messaging/tspconfig.yaml
index 38f0dc630d6..5364ba5e70c 100644
--- a/typespec/Applications.Messaging/tspconfig.yaml
+++ b/typespec/Applications.Messaging/tspconfig.yaml
@@ -4,7 +4,7 @@ options:
"@azure-tools/typespec-autorest":
use-read-only-status-schema: true
azure-resource-provider-folder: "resource-manager"
- examples-directory: "examples"
+ examples-dir: "{project-root}/examples"
emitter-output-dir: "{project-root}/../../swagger/specification/applications"
arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management"
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
diff --git a/typespec/Test.Resource/testasyncresources.tsp b/typespec/Test.Resource/testasyncresources.tsp
index daa3bdd4234..d9687554d67 100644
--- a/typespec/Test.Resource/testasyncresources.tsp
+++ b/typespec/Test.Resource/testasyncresources.tsp
@@ -71,7 +71,7 @@ interface TestAsyncResources {
UCPBaseParameters
>;
- delete is ArmResourceDeleteAsync<
+ delete is ArmResourceDeleteWithoutOkAsync<
TestAsyncResource,
UCPBaseParameters
>;
diff --git a/typespec/Test.Resource/tspconfig.yaml b/typespec/Test.Resource/tspconfig.yaml
index 36ae5ddecf3..5364ba5e70c 100644
--- a/typespec/Test.Resource/tspconfig.yaml
+++ b/typespec/Test.Resource/tspconfig.yaml
@@ -4,7 +4,7 @@ options:
"@azure-tools/typespec-autorest":
use-read-only-status-schema: true
azure-resource-provider-folder: "resource-manager"
- examples-directory: "{project-root}/examples"
+ examples-dir: "{project-root}/examples"
emitter-output-dir: "{project-root}/../../swagger/specification/applications"
arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management"
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
diff --git a/typespec/UCP/common.tsp b/typespec/UCP/common.tsp
index 5387ba08df0..6e26894eeee 100644
--- a/typespec/UCP/common.tsp
+++ b/typespec/UCP/common.tsp
@@ -46,6 +46,10 @@ model CredentialBaseParameters {
enum CredentialStorageKind {
@doc("Internal credential storage")
Internal,
+
+ // This was added because typespec doesn't generate necessary functions and other variables for single value enums.
+ // This can be deleted if we add more values to the enum.
+ string,
}
@doc("The base credential storage properties")
diff --git a/typespec/UCP/resourceproviders.tsp b/typespec/UCP/resourceproviders.tsp
index 9fbd68a36f8..b673eab19bc 100644
--- a/typespec/UCP/resourceproviders.tsp
+++ b/typespec/UCP/resourceproviders.tsp
@@ -60,7 +60,8 @@ scalar LocationNameString extends string;
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars"
@doc("The resource type for defining a resource provider.")
-model ResourceProviderResource is TrackedResource {
+model ResourceProviderResource
+ is Azure.ResourceManager.TrackedResource {
@key("resourceProviderName")
@doc("The resource provider name. This is also the resource provider namespace. Example: 'Applications.Datastores'.")
@path
@@ -76,7 +77,8 @@ model ResourceProviderProperties {
}
@doc("The resource type for defining a resource type supported by the containing resource provider.")
-model ResourceTypeResource is ProxyResource {
+model ResourceTypeResource
+ is Azure.ResourceManager.ProxyResource {
@key("resourceTypeName")
@doc("The resource type name.")
@path
@@ -95,7 +97,8 @@ model ResourceTypeProperties {
}
@doc("The resource type for defining an API version of a resource type supported by the containing resource provider.")
-model ApiVersionResource is ProxyResource {
+model ApiVersionResource
+ is Azure.ResourceManager.ProxyResource {
@key("apiVersionName")
@doc("The API version name.")
@path
@@ -111,7 +114,8 @@ model ApiVersionProperties {
}
@doc("The resource type for defining a location of the containing resource provider. The location resource represents a logical location where the resource provider operates.")
-model LocationResource is ProxyResource {
+model LocationResource
+ is Azure.ResourceManager.ProxyResource {
@key("locationName")
@doc("The location name.")
@path
diff --git a/typespec/UCP/tspconfig.yaml b/typespec/UCP/tspconfig.yaml
index 7bd4805bb38..f2d1d8e9129 100644
--- a/typespec/UCP/tspconfig.yaml
+++ b/typespec/UCP/tspconfig.yaml
@@ -4,7 +4,7 @@ options:
"@azure-tools/typespec-autorest":
use-read-only-status-schema: true
azure-resource-provider-folder: "resource-manager"
- examples-directory: "{project-root}/examples"
+ examples-dir: "{project-root}/examples"
emitter-output-dir: "{project-root}/../../swagger/specification/ucp"
arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management"
output-file: "{azure-resource-provider-folder}/UCP/{version-status}/{version}/openapi.json"
diff --git a/typespec/UCP/ucp-operations.tsp b/typespec/UCP/ucp-operations.tsp
index 7cdb7f61653..e2fa14abc77 100644
--- a/typespec/UCP/ucp-operations.tsp
+++ b/typespec/UCP/ucp-operations.tsp
@@ -35,7 +35,7 @@ using OpenAPI;
@doc("List {name}", TResource)
@segmentOf(TResource)
@armResourceList(TResource)
-op UcpResourceList(
+op UcpResourceList(
...TBaseParameters,
...ParentKeysOf,
): ArmResponse> | ErrorResponse;
@@ -45,7 +45,7 @@ op UcpResourceList(
@doc("Get a {name}", TResource)
@get
@armResourceRead(TResource)
-op UcpResourceRead(
+op UcpResourceRead(
...TBaseParameters,
): ArmResponse | ErrorResponse;
@@ -62,7 +62,7 @@ op UcpResourceRead(
@armResourceCreateOrUpdate(TResource)
@put
op UcpResourceCreateOrUpdateAsync<
- TResource extends ArmResource,
+ TResource extends Foundations.Resource,
TBaseParameters
>(
...TBaseParameters,
@@ -85,7 +85,7 @@ op UcpResourceCreateOrUpdateAsync<
@armResourceUpdate(TResource)
@patch
op UcpCustomPatchAsync<
- TResource extends ArmResource,
+ TResource extends Foundations.Resource,
TBaseParameters,
TPatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel
>(
@@ -108,9 +108,10 @@ op UcpCustomPatchAsync<
)
@armResourceDelete(TResource)
@delete
-op UcpResourceDeleteAsync(
- ...TBaseParameters,
-):
+op UcpResourceDeleteAsync<
+ TResource extends Foundations.Resource,
+ TBaseParameters
+>(...TBaseParameters):
| ArmDeletedResponse
| ArmDeleteAcceptedLroResponse
| ArmDeletedNoContentResponse
@@ -122,7 +123,7 @@ op UcpResourceDeleteAsync(
@armResourceCreateOrUpdate(TResource)
@put
op UcpResourceCreateOrUpdateSync<
- TResource extends ArmResource,
+ TResource extends Foundations.Resource,
TBaseParameters
>(
...TBaseParameters,
@@ -138,7 +139,7 @@ op UcpResourceCreateOrUpdateSync<
@armResourceUpdate(TResource)
@patch
op UcpCustomPatchSync<
- TResource extends ArmResource,
+ TResource extends Foundations.Resource,
TBaseParameters,
TPatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel
>(
@@ -154,6 +155,9 @@ op UcpCustomPatchSync<
@doc("Delete a {name}", TResource)
@armResourceDelete(TResource)
@delete
-op UcpResourceDeleteSync(
+op UcpResourceDeleteSync<
+ TResource extends Foundations.Resource,
+ TBaseParameters
+>(
...TBaseParameters,
): ArmDeletedResponse | ArmDeletedNoContentResponse | ErrorResponse;
diff --git a/typespec/package-lock.json b/typespec/package-lock.json
index 4c519678ec8..846fca58d7f 100644
--- a/typespec/package-lock.json
+++ b/typespec/package-lock.json
@@ -9,115 +9,134 @@
"version": "0.1.0",
"license": "Apache-2.0",
"dependencies": {
- "@azure-tools/typespec-autorest": "*",
- "@azure-tools/typespec-azure-core": "*",
- "@azure-tools/typespec-azure-resource-manager": "*",
- "@azure-tools/typespec-providerhub": "*",
- "@typespec/compiler": "*",
- "@typespec/http": "*",
- "@typespec/openapi": "*",
- "@typespec/rest": "*",
- "@typespec/versioning": "*"
+ "@azure-tools/typespec-autorest": "latest",
+ "@azure-tools/typespec-azure-core": "latest",
+ "@azure-tools/typespec-azure-resource-manager": "latest",
+ "@azure-tools/typespec-providerhub": "latest",
+ "@typespec/compiler": "latest",
+ "@typespec/http": "latest",
+ "@typespec/openapi": "latest",
+ "@typespec/rest": "latest",
+ "@typespec/versioning": "latest"
}
},
"node_modules/@azure-tools/typespec-autorest": {
- "version": "0.33.0",
- "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.33.0.tgz",
- "integrity": "sha512-xA29JJt6Dnb8402xYJrR1dAwzEuhen/gcYeUk4KZrfn/3FsLpfiGQCwTAfcCd6iyLDRx7yQ34ysJmLt5ebcOdw==",
+ "version": "0.46.0",
+ "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.46.0.tgz",
+ "integrity": "sha512-LCIvxQgjczWUq/wi6fzKBqYHWJYD0hRLA8wBPzFasriHdBDHjpZ6vgTPmApzt0H5ArZX92Ar53Q5+ZXD9ktMUg==",
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@azure-tools/typespec-azure-core": "~0.33.0",
- "@typespec/compiler": "~0.47.0",
- "@typespec/http": "~0.47.0",
- "@typespec/openapi": "~0.47.0",
- "@typespec/rest": "~0.47.0",
- "@typespec/versioning": "~0.47.0"
+ "@azure-tools/typespec-azure-core": "~0.46.0",
+ "@azure-tools/typespec-azure-resource-manager": "~0.46.0",
+ "@azure-tools/typespec-client-generator-core": "~0.46.0",
+ "@typespec/compiler": "~0.60.0",
+ "@typespec/http": "~0.60.0",
+ "@typespec/openapi": "~0.60.0",
+ "@typespec/rest": "~0.60.0",
+ "@typespec/versioning": "~0.60.0"
}
},
"node_modules/@azure-tools/typespec-azure-core": {
- "version": "0.33.1",
- "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.33.1.tgz",
- "integrity": "sha512-g2MbyofjGo5GrPu/L0D3dXRcYXJOIA+abLWS6CRwwGN0RT0W+tnV8SFvGWRbBFsU0gWEZapfJKBwpVVwau6pVQ==",
- "dependencies": {
- "@typespec/lint": "~0.47.0"
- },
+ "version": "0.46.0",
+ "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.46.0.tgz",
+ "integrity": "sha512-BNE31enSHWtWlrdIKShBS6CNFGk3OYmHSBnWqobcFJkTGXC090EoV2u6otn4BMI99fZRSR4gpwp/kYU9KLE9Jw==",
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@typespec/compiler": "~0.47.0",
- "@typespec/http": "~0.47.0",
- "@typespec/rest": "~0.47.0"
+ "@typespec/compiler": "~0.60.0",
+ "@typespec/http": "~0.60.0",
+ "@typespec/rest": "~0.60.0"
}
},
"node_modules/@azure-tools/typespec-azure-resource-manager": {
- "version": "0.33.0",
- "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.33.0.tgz",
- "integrity": "sha512-8jkOae2Yf5fsYVh7ZgdC+a06Ghlfnk6DvLIQPouwOIftsmnUXScJdDIPodqxjdHuR5AWr053+OiKtVrJDWYgjw==",
+ "version": "0.46.1",
+ "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.46.1.tgz",
+ "integrity": "sha512-8md8AwnxoYVkDBavQL5dbToUTS10PTSkcF+emd9BKEdnF9MKuA542vZudzaQOz2BzFbArMVUE/PLm2mhuwRkLw==",
+ "license": "MIT",
"dependencies": {
- "@typespec/lint": "~0.47.0"
+ "change-case": "~5.4.4",
+ "pluralize": "^8.0.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@azure-tools/typespec-autorest": "~0.33.0",
- "@azure-tools/typespec-azure-core": "~0.33.0",
- "@typespec/compiler": "~0.47.0",
- "@typespec/http": "~0.47.0",
- "@typespec/openapi": "~0.47.0",
- "@typespec/rest": "~0.47.0",
- "@typespec/versioning": "~0.47.0"
+ "@azure-tools/typespec-azure-core": "~0.46.0",
+ "@typespec/compiler": "~0.60.0",
+ "@typespec/http": "~0.60.0",
+ "@typespec/openapi": "~0.60.0",
+ "@typespec/rest": "~0.60.0",
+ "@typespec/versioning": "~0.60.0"
}
},
- "node_modules/@azure-tools/typespec-providerhub": {
- "version": "0.33.0",
- "resolved": "https://registry.npmjs.org/@azure-tools/typespec-providerhub/-/typespec-providerhub-0.33.0.tgz",
- "integrity": "sha512-18HRdQUwSrzcyDxP95REu4qIOL8SMjUhifZAJjGThwhkqczTxoeqPI3ek3ISFj9C7SsSvvlLAsL09kiy+GKYZA==",
+ "node_modules/@azure-tools/typespec-client-generator-core": {
+ "version": "0.46.2",
+ "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.46.2.tgz",
+ "integrity": "sha512-/HKeehCNDeylouOHMe7IwpcDcGJHRAuEy3a5FBnSY51m4EpMq4VMQzW9tka/8brFO2m5LLj7tyhOL/xnzi2fLg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "change-case": "~5.4.4",
+ "pluralize": "^8.0.0"
+ },
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@azure-tools/typespec-autorest": "~0.33.0",
- "@azure-tools/typespec-azure-core": "~0.33.0",
- "@azure-tools/typespec-azure-resource-manager": "~0.33.0",
- "@typespec/compiler": "~0.47.0",
- "@typespec/http": "~0.47.0",
- "@typespec/openapi": "~0.47.0",
- "@typespec/rest": "~0.47.0",
- "@typespec/versioning": "~0.47.0"
+ "@azure-tools/typespec-azure-core": "~0.46.0",
+ "@typespec/compiler": "~0.60.0",
+ "@typespec/http": "~0.60.0",
+ "@typespec/openapi": "~0.60.0",
+ "@typespec/rest": "~0.60.0",
+ "@typespec/versioning": "~0.60.0"
+ }
+ },
+ "node_modules/@azure-tools/typespec-providerhub": {
+ "version": "0.46.0",
+ "resolved": "https://registry.npmjs.org/@azure-tools/typespec-providerhub/-/typespec-providerhub-0.46.0.tgz",
+ "integrity": "sha512-N+lp8wHDJJTbt0vVijELfjEcukz19YvS6nMhR5Um13nIWveCcYBXaCGwkVJMfFL8Dm6yZS0B9q+FLkQ043xpzg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.22.10",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz",
- "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==",
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.22.10",
- "chalk": "^2.4.2"
+ "@babel/highlight": "^7.24.7",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
- "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
+ "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.22.10",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz",
- "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
+ "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.25.7",
"chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
@@ -127,6 +146,7 @@
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -139,6 +159,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -147,6 +168,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -155,99 +177,107 @@
"node": ">= 8"
}
},
+ "node_modules/@sindresorhus/merge-streams": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+ "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@typespec/compiler": {
- "version": "0.47.1",
- "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.47.1.tgz",
- "integrity": "sha512-EBTweucgrUiFLVbBLYJobgV1emoGzM50iPrOz/Fr3dwFFnISpZJ8wzapq+z0okrvx75+W5q12bms8DjsUWapTA==",
- "dependencies": {
- "@babel/code-frame": "~7.22.5",
- "ajv": "~8.12.0",
- "change-case": "~4.1.2",
- "globby": "~13.1.1",
- "js-yaml": "~4.1.0",
+ "version": "0.60.1",
+ "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.60.1.tgz",
+ "integrity": "sha512-I6Vcpvd7mBP7SI5vCBh9rZGXAtVy95BKhAd33Enw32psswiSzRpA7zdyZhOMekTOGVXNS/+E5l2PGGCzQddB4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "~7.24.7",
+ "ajv": "~8.17.1",
+ "change-case": "~5.4.4",
+ "globby": "~14.0.2",
"mustache": "~4.2.0",
- "picocolors": "~1.0.0",
- "prettier": "~3.0.1",
- "prompts": "~2.4.1",
- "semver": "^7.3.8",
- "vscode-languageserver": "~8.1.0",
- "vscode-languageserver-textdocument": "~1.0.1",
- "yargs": "~17.7.1"
+ "picocolors": "~1.0.1",
+ "prettier": "~3.3.3",
+ "prompts": "~2.4.2",
+ "semver": "^7.6.3",
+ "temporal-polyfill": "^0.2.5",
+ "vscode-languageserver": "~9.0.1",
+ "vscode-languageserver-textdocument": "~1.0.11",
+ "yaml": "~2.4.5",
+ "yargs": "~17.7.2"
},
"bin": {
"tsp": "cmd/tsp.js",
"tsp-server": "cmd/tsp-server.js"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
}
},
"node_modules/@typespec/http": {
- "version": "0.47.0",
- "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.47.0.tgz",
- "integrity": "sha512-HrVu5mGV+p3KGPtcNFHB5gXm9pU4rYRG3hJWZdLcN8fy+OuwbhmOgjOGN4AB7HLllnISmcFn6LtlqGnr0LpyfA==",
+ "version": "0.60.0",
+ "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.60.0.tgz",
+ "integrity": "sha512-ktfS9vpHfltyeAaQLNAZdqrn6Per3vmB/HDH/iyudYLA5wWblT1siKvpFCMWq53CJorRO7yeOKv+Q/M26zwEtg==",
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@typespec/compiler": "~0.47.0"
- }
- },
- "node_modules/@typespec/lint": {
- "version": "0.47.0",
- "resolved": "https://registry.npmjs.org/@typespec/lint/-/lint-0.47.0.tgz",
- "integrity": "sha512-+CZ8OC8ABHU+HljjWvkVfLDZzyj2kc8VqEOHoXYdomt7PTo2GdVubyOXZMAYFiXWJr/k4YWHD2moPcvu+e2yTQ==",
- "engines": {
- "node": ">=16.0.0"
- },
- "peerDependencies": {
- "@typespec/compiler": "~0.47.0"
+ "@typespec/compiler": "~0.60.0"
}
},
"node_modules/@typespec/openapi": {
- "version": "0.47.0",
- "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.47.0.tgz",
- "integrity": "sha512-p10NA5MQ1/z/yltTmK9g/RHgRQa+UPJg7ntcix8I9DIwX6u3yJReYwWBrKLeRNExd8ylNHNqjXTwiHJfptmR3w==",
+ "version": "0.60.0",
+ "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.60.0.tgz",
+ "integrity": "sha512-YVwLppgHY8r/MudHNSLSUXzdw+CIpjmb31gI2a0KDGnI6sWDwY7LSWfjGU4TY/ubt0+X0Tjoy330mTvw71YBTg==",
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@typespec/compiler": "~0.47.0",
- "@typespec/http": "~0.47.0",
- "@typespec/rest": "~0.47.0"
+ "@typespec/compiler": "~0.60.0",
+ "@typespec/http": "~0.60.0"
}
},
"node_modules/@typespec/rest": {
- "version": "0.47.0",
- "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.47.0.tgz",
- "integrity": "sha512-sjxCY2dQ6Wc51W7NYDLgcZdeTI35vFJR0aK+tuYHMTwjhZJK20ezwb/c+RZQ8xyGIyX+vUj9yhTc7lBZGw4n1A==",
+ "version": "0.60.0",
+ "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.60.0.tgz",
+ "integrity": "sha512-mHYubyuBvwdV2xkHrJfPwV7b/Ksyb9lA1Q/AQwpVFa7Qu1X075TBVALmH+hK3V0EdUG1CGJZ5Sw4BWgl8ZS0BA==",
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@typespec/compiler": "~0.47.0"
+ "@typespec/compiler": "~0.60.0",
+ "@typespec/http": "~0.60.0"
}
},
"node_modules/@typespec/versioning": {
- "version": "0.47.0",
- "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.47.0.tgz",
- "integrity": "sha512-j3NUBm61k40ZI5aljgqfVFvduoR+q7ijLpwt+lzXw/DecOgNWZX7R/GGzwCmUVyfJUZpMA/8zhuxmx4fB36P7g==",
+ "version": "0.60.1",
+ "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.60.1.tgz",
+ "integrity": "sha512-HogYL7P9uOPoSvkLLDjF22S6E9td6EY3c6TcIHhCzDTAQoi54csikD0gNrtcCkFG0UeQk29HgQymV397j+vp4g==",
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"peerDependencies": {
- "@typespec/compiler": "~0.47.0"
+ "@typespec/compiler": "~0.60.0"
}
},
"node_modules/ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
@@ -258,6 +288,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -266,6 +297,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -273,15 +305,11 @@
"node": ">=4"
}
},
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -289,29 +317,11 @@
"node": ">=8"
}
},
- "node_modules/camel-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
- "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
- "dependencies": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/capital-case": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
- "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
- }
- },
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -322,28 +332,16 @@
}
},
"node_modules/change-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
- "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
- "dependencies": {
- "camel-case": "^4.1.2",
- "capital-case": "^1.0.4",
- "constant-case": "^3.0.4",
- "dot-case": "^3.0.4",
- "header-case": "^2.0.4",
- "no-case": "^3.0.4",
- "param-case": "^3.0.4",
- "pascal-case": "^3.1.2",
- "path-case": "^3.0.4",
- "sentence-case": "^3.0.4",
- "snake-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz",
+ "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==",
+ "license": "MIT"
},
"node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -357,6 +355,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "license": "MIT",
"dependencies": {
"color-name": "1.1.3"
}
@@ -364,47 +363,20 @@
"node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/constant-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
- "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case": "^2.0.2"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "license": "MIT"
},
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -413,6 +385,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -420,12 +393,14 @@
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "license": "MIT"
},
"node_modules/fast-glob": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
- "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -437,10 +412,17 @@
"node": ">=8.6.0"
}
},
+ "node_modules/fast-uri": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz",
+ "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==",
+ "license": "MIT"
+ },
"node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
@@ -449,6 +431,7 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -460,6 +443,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
@@ -468,6 +452,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -476,18 +461,20 @@
}
},
"node_modules/globby": {
- "version": "13.1.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz",
- "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz",
+ "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==",
+ "license": "MIT",
"dependencies": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
+ "@sindresorhus/merge-streams": "^2.1.0",
+ "fast-glob": "^3.3.2",
+ "ignore": "^5.2.4",
+ "path-type": "^5.0.0",
+ "slash": "^5.1.0",
+ "unicorn-magic": "^0.1.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -497,23 +484,16 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
- "node_modules/header-case": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
- "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
- "dependencies": {
- "capital-case": "^1.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -522,6 +502,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -530,6 +511,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -538,6 +520,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -549,6 +532,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
@@ -556,55 +540,29 @@
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT"
},
"node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "license": "MIT"
},
"node_modules/kleur": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
- "node_modules/lower-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -613,6 +571,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -625,63 +584,34 @@
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
+ "license": "MIT",
"bin": {
"mustache": "bin/mustache"
}
},
- "node_modules/no-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
- "dependencies": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/param-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
- "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/pascal-case": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
- "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/path-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
- "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
+ "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -689,10 +619,20 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/prettier": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz",
- "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -707,6 +647,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
"integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "license": "MIT",
"dependencies": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.5"
@@ -715,14 +656,6 @@
"node": ">= 6"
}
},
- "node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -740,12 +673,14 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -754,6 +689,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -762,6 +698,7 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "license": "MIT",
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -785,17 +722,16 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
},
"node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -803,45 +739,29 @@
"node": ">=10"
}
},
- "node_modules/sentence-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
- "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
- }
- },
"node_modules/sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "license": "MIT"
},
"node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+ "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+ "license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/snake-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
- "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -855,6 +775,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -866,6 +787,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -873,10 +795,26 @@
"node": ">=4"
}
},
+ "node_modules/temporal-polyfill": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-0.2.5.tgz",
+ "integrity": "sha512-ye47xp8Cb0nDguAhrrDS1JT1SzwEV9e26sSsrWzVu+yPZ7LzceEcH0i2gci9jWfOfSCCgM3Qv5nOYShVUUFUXA==",
+ "license": "MIT",
+ "dependencies": {
+ "temporal-spec": "^0.2.4"
+ }
+ },
+ "node_modules/temporal-spec": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-0.2.4.tgz",
+ "integrity": "sha512-lDMFv4nKQrSjlkHKAlHVqKrBG4DyFfa9F74cmBZ3Iy3ed8yvWnlWSIdi4IKfSqwmazAohBNwiN64qGx4y5Q3IQ==",
+ "license": "ISC"
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -884,77 +822,66 @@
"node": ">=8.0"
}
},
- "node_modules/tslib": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
- "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
- },
- "node_modules/upper-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
- "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/upper-case-first": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
- "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dependencies": {
- "punycode": "^2.1.0"
+ "node_modules/unicorn-magic": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+ "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/vscode-jsonrpc": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz",
- "integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "license": "MIT",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/vscode-languageserver": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz",
- "integrity": "sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
+ "license": "MIT",
"dependencies": {
- "vscode-languageserver-protocol": "3.17.3"
+ "vscode-languageserver-protocol": "3.17.5"
},
"bin": {
"installServerIntoExtension": "bin/installServerIntoExtension"
}
},
"node_modules/vscode-languageserver-protocol": {
- "version": "3.17.3",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz",
- "integrity": "sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==",
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "license": "MIT",
"dependencies": {
- "vscode-jsonrpc": "8.1.0",
- "vscode-languageserver-types": "3.17.3"
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
}
},
"node_modules/vscode-languageserver-textdocument": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
- "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz",
+ "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==",
+ "license": "MIT"
},
"node_modules/vscode-languageserver-types": {
- "version": "3.17.3",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz",
- "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
+ "license": "MIT"
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -971,6 +898,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -985,6 +913,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
@@ -995,25 +924,35 @@
"node_modules/wrap-ansi/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
},
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "node_modules/yaml": {
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
+ "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
},
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -1031,6 +970,7 @@
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
diff --git a/typespec/radius/v1/resources.tsp b/typespec/radius/v1/resources.tsp
index 505eaa7cdbe..48632603eb5 100644
--- a/typespec/radius/v1/resources.tsp
+++ b/typespec/radius/v1/resources.tsp
@@ -166,12 +166,10 @@ model ResourceReference {
@doc("Provisioning state of the resource at the time the operation was called")
@lroStatus
enum ProvisioningState {
- ...ResourceProvisioningState,
+ @doc("The resource is being created")
+ Creating,
- @doc("The resource is being provisioned")
- Provisioning,
-
- @doc("The resource is updating")
+ @doc("The resource is being updated")
Updating,
@doc("The resource is being deleted")
@@ -179,6 +177,18 @@ enum ProvisioningState {
@doc("The resource create request has been accepted")
Accepted,
+
+ @doc("The resource is being provisioned")
+ Provisioning,
+
+ @doc("The resource has been successfully provisioned")
+ Succeeded,
+
+ @doc("The resource provisioning has failed")
+ Failed,
+
+ @doc("The resource provisioning has been canceled")
+ Canceled,
}
@doc("The base properties of Recipe")
diff --git a/typespec/radius/v1/trackedresource.tsp b/typespec/radius/v1/trackedresource.tsp
index 9105227b544..56657b8b8af 100644
--- a/typespec/radius/v1/trackedresource.tsp
+++ b/typespec/radius/v1/trackedresource.tsp
@@ -32,7 +32,7 @@ model TrackedResourceRequired<
TProperties extends {},
TResourceType extends valueof string,
TResourceFriendlyName extends valueof string = TResourceType
-> extends Azure.ResourceManager.Foundations.TrackedResourceBase {
+> extends Azure.ResourceManager.Foundations.TrackedResource {
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "template"
#suppress "@azure-tools/typespec-azure-core/bad-record-type"
@doc("The resource-specific properties for this resource.")
diff --git a/typespec/radius/v1/ucprootscope.tsp b/typespec/radius/v1/ucprootscope.tsp
index 15efa224837..34862aea3ab 100644
--- a/typespec/radius/v1/ucprootscope.tsp
+++ b/typespec/radius/v1/ucprootscope.tsp
@@ -35,7 +35,7 @@ model RootScopeParameter {
}
@doc("The UCP HTTP request base parameters.")
-model UCPBaseParameters {
+model UCPBaseParameters {
...ApiVersionParameter;
...RootScopeParameter;
}
From 79188719287c43dc39f896e1e5aa3eca80610376 Mon Sep 17 00:00:00 2001
From: Ryan Nowak
Date: Wed, 16 Oct 2024 08:04:03 -0700
Subject: [PATCH 10/27] Reduce logging of HTTP status codes (#7993)
# Description
This change reduces the amount of logging we do for an HTTP response in
non-error cases by moving those logs to debug instead of info.
In particular we generate a TON of logs for for asynchronous operations
where the API is being polled at 1 second intervals by the CLI. Since
it's hitting the operation status endpoint, the status code is always
200 and not especially meaningful.
This change simplifies the logging by applying the following rules:
- Non-2XX status codes continue to be logged at info level.
- 2XX status code are now logged at debug level (off by default).
My motivation for this change is to make the logs more readable by
making the more significant events visible. Right now it's hard to find
significant events in our logs because there is a flood of "responded
with 200" type events due to the nature of async operations. When an
async operation is taking a long time to process, the relevant
information might be 100s of lines back in the history.
I've been testing this out locally for a few days of work and I feel
like it's really improved my ability to diagnose issues.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: Ryan Nowak
---
pkg/armrpc/rest/results.go | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/pkg/armrpc/rest/results.go b/pkg/armrpc/rest/results.go
index 33d3dc25786..20176b73cd2 100644
--- a/pkg/armrpc/rest/results.go
+++ b/pkg/armrpc/rest/results.go
@@ -72,7 +72,7 @@ func NewOKResponseWithHeaders(body any, headers map[string]string) Response {
// code of 200. If an error occurs while marshaling the body or writing the response, an error is returned.
func (r *OKResponse) Apply(ctx context.Context, w http.ResponseWriter, req *http.Request) error {
logger := ucplog.FromContextOrDiscard(ctx)
- logger.Info(fmt.Sprintf("responding with status code: %d", http.StatusOK), logging.LogHTTPStatusCode, http.StatusOK)
+ logger.V(ucplog.LevelDebug).Info(fmt.Sprintf("responding with status code: %d", http.StatusOK), logging.LogHTTPStatusCode, http.StatusOK)
bytes, err := json.MarshalIndent(r.Body, "", " ")
if err != nil {
@@ -114,7 +114,7 @@ func NewCreatedResponse(body any) Response {
// 201 Created response code and returns an error if any of these steps fail.
func (r *CreatedResponse) Apply(ctx context.Context, w http.ResponseWriter, req *http.Request) error {
logger := ucplog.FromContextOrDiscard(ctx)
- logger.Info(fmt.Sprintf("responding with status code: %d", http.StatusCreated), logging.LogHTTPStatusCode, http.StatusCreated)
+ logger.V(ucplog.LevelDebug).Info(fmt.Sprintf("responding with status code: %d", http.StatusCreated), logging.LogHTTPStatusCode, http.StatusCreated)
bytes, err := json.MarshalIndent(r.Body, "", " ")
if err != nil {
@@ -148,7 +148,7 @@ func NewCreatedAsyncResponse(body any, location string, scheme string) Response
// Apply renders Created HTTP Response into http.ResponseWriter with Location header for asynchronous operation and returns an error if it fails.
func (r *CreatedAsyncResponse) Apply(ctx context.Context, w http.ResponseWriter, req *http.Request) error {
logger := ucplog.FromContextOrDiscard(ctx)
- logger.Info(fmt.Sprintf("responding with status code: %d", http.StatusCreated), logging.LogHTTPStatusCode, http.StatusCreated)
+ logger.V(ucplog.LevelDebug).Info(fmt.Sprintf("responding with status code: %d", http.StatusCreated), logging.LogHTTPStatusCode, http.StatusCreated)
bytes, err := json.MarshalIndent(r.Body, "", " ")
if err != nil {
@@ -199,7 +199,7 @@ func NewAcceptedAsyncResponse(body any, location string, scheme string) Response
// Apply renders Accepted HTTP Response into http.ResponseWriter with Location header for asynchronous operation and returns an error if it fails.
func (r *AcceptedAsyncResponse) Apply(ctx context.Context, w http.ResponseWriter, req *http.Request) error {
logger := ucplog.FromContextOrDiscard(ctx)
- logger.Info(fmt.Sprintf("responding with status code: %d", http.StatusAccepted), logging.LogHTTPStatusCode, http.StatusAccepted)
+ logger.V(ucplog.LevelDebug).Info(fmt.Sprintf("responding with status code: %d", http.StatusAccepted), logging.LogHTTPStatusCode, http.StatusAccepted)
bytes, err := json.MarshalIndent(r.Body, "", " ")
if err != nil {
@@ -729,7 +729,7 @@ func NewAsyncOperationResultResponse(headers map[string]string) Response {
// Apply sets the response headers and status code to http.StatusAccepted and returns nil.
func (r *AsyncOperationResultResponse) Apply(ctx context.Context, w http.ResponseWriter, req *http.Request) error {
logger := ucplog.FromContextOrDiscard(ctx)
- logger.Info(fmt.Sprintf("responding with status code: %d", http.StatusAccepted), logging.LogHTTPStatusCode, http.StatusAccepted)
+ logger.V(ucplog.LevelDebug).Info(fmt.Sprintf("responding with status code: %d", http.StatusAccepted), logging.LogHTTPStatusCode, http.StatusAccepted)
w.Header().Add("Content-Type", "application/json")
From 0e38ebceb13bbc3ccc65575c813f275e5ad9bcbc Mon Sep 17 00:00:00 2001
From: Shruthi Kumar
Date: Wed, 16 Oct 2024 13:33:14 -0700
Subject: [PATCH 11/27] Cleanup SQL databases tests (#7974)
# Description
Cleaning up some resource IDs in the sql processor test and deleting the
cloud sql DB functional test since this use case is already covered in a
locally-hosted scenario here:
https://github.com/radius-project/radius/blob/38fcc3e5b705df25d77bee4242948d1ec49013d3/test/functional-portable/datastoresrp/noncloud/resources/sql_test.go#L29
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #7851
Signed-off-by: sk593
---
.github/workflows/functional-test-cloud.yaml | 2 +-
.../processors/sqldatabases/processor_test.go | 2 +-
test/createAzureTestResources.bicep | 32 --------
test/executeFunctionalTest.sh | 10 +--
.../cloud/resources/microsoftsql_test.go | 64 +--------------
...datastoresrp-resources-microsoft-sql.bicep | 82 -------------------
6 files changed, 6 insertions(+), 186 deletions(-)
delete mode 100644 test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep
diff --git a/.github/workflows/functional-test-cloud.yaml b/.github/workflows/functional-test-cloud.yaml
index 1ba0e3b9990..6ce1cf83f3a 100644
--- a/.github/workflows/functional-test-cloud.yaml
+++ b/.github/workflows/functional-test-cloud.yaml
@@ -451,7 +451,7 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest-m]
- name: [corerp-cloud, ucp-cloud, datastoresrp-cloud]
+ name: [corerp-cloud, ucp-cloud]
runs-on: ${{ matrix.os }}
env:
UNIQUE_ID: ${{ needs.build.outputs.UNIQUE_ID }}
diff --git a/pkg/datastoresrp/processors/sqldatabases/processor_test.go b/pkg/datastoresrp/processors/sqldatabases/processor_test.go
index 0337ee4ec72..a085ddae1fc 100644
--- a/pkg/datastoresrp/processors/sqldatabases/processor_test.go
+++ b/pkg/datastoresrp/processors/sqldatabases/processor_test.go
@@ -20,7 +20,7 @@ import (
func Test_Process(t *testing.T) {
processor := Processor{}
- const azureSqlResourceID = "/subscriptions/85716382-7362-45c3-ae03-2126e459a123/resourceGroups/RadiusFunctionalTest/providers/Microsoft.Sql/servers/mssql-radiustest/databases/database-radiustest"
+ const azureSqlResourceID = "/subscriptions/0000/resourceGroups/test-group/providers/Microsoft.Sql/servers/sql.server/databases/database-radiustest"
const server = "sql.server"
const database = "database-radiustest"
const port = 1433
diff --git a/test/createAzureTestResources.bicep b/test/createAzureTestResources.bicep
index 1fac4a77750..2bb507fa2fd 100644
--- a/test/createAzureTestResources.bicep
+++ b/test/createAzureTestResources.bicep
@@ -1,11 +1,5 @@
param location string = resourceGroup().location
-@description('Specifies the SQL username.')
-param adminUsername string
-
-@secure()
-param adminPassword string
-
resource account 'Microsoft.DocumentDB/databaseAccounts@2020-04-01' = {
name: 'account-radiustest'
location: location
@@ -28,30 +22,4 @@ resource account 'Microsoft.DocumentDB/databaseAccounts@2020-04-01' = {
}
}
-resource server 'Microsoft.Sql/servers@2021-02-01-preview' = {
- name: 'mssql-radiustest'
- location: location
- tags: {
- radiustest: 'corerp-resources-microsoft-sql'
- }
- properties: {
- administratorLogin: adminUsername
- administratorLoginPassword: adminPassword
- }
-
- resource db 'databases' = {
- name: 'database-radiustest'
- location: location
- }
-
- resource firewall 'firewallRules' = {
- name: 'allow'
- properties: {
- startIpAddress: '0.0.0.0'
- endIpAddress: '0.0.0.0'
- }
- }
-}
-
-output sqlServerId string = server::db.id
output cosmosMongoAccountID string = account.id
diff --git a/test/executeFunctionalTest.sh b/test/executeFunctionalTest.sh
index 5ad27ec5c87..e2e1a5880a6 100755
--- a/test/executeFunctionalTest.sh
+++ b/test/executeFunctionalTest.sh
@@ -26,14 +26,10 @@ fi
resourcegroup=$1
echo $resourcegroup
-# set the username and password for msqlDB to be passed as parameters to the bicep template
-adminUser='coolUser'
-adminPassword=$(uuidgen)
-resp=$(az deployment group create --resource-group $resourcegroup --template-file createAzureTestResources.bicep --parameters 'adminUsername=$adminUser' --parameters 'adminPassword=$adminPassword')
+
+resp=$(az deployment group create --resource-group $resourcegroup --template-file createAzureTestResources.bicep)
cat resp
-export AZURE_MSSQL_RESOURCE_ID=$(jq -r '.properties.outputs.sqlServerId.value' <<<"${resp}")
-export AZURE_MSSQL_USERNAME=$adminUser
-export AZURE_MSSQL_PASSWORD=$adminPassword
+
export AZURE_COSMOS_MONGODB_ACCOUNT_ID=$(jq -r '.properties.outputs.cosmosMongoAccountID.value' <<<"${resp}")
make test-functional-corerp
make test-functional-msgrp
diff --git a/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go b/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go
index 57ad918316f..b97c373989c 100644
--- a/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go
+++ b/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go
@@ -16,66 +16,4 @@ limitations under the License.
package resource_test
-import (
- "os"
- "testing"
-
- "github.com/radius-project/radius/test/rp"
- "github.com/radius-project/radius/test/step"
- "github.com/radius-project/radius/test/testutil"
- "github.com/radius-project/radius/test/validation"
-)
-
-func Test_MicrosoftSQL_Manual(t *testing.T) {
- template := "testdata/datastoresrp-resources-microsoft-sql.bicep"
- name := "dsrp-resources-microsoft-sql"
-
- var adminUsername, adminPassword string
-
- if os.Getenv("AZURE_MSSQL_RESOURCE_ID") == "" {
- t.Error("AZURE_MSSQL_RESOURCE_ID environment variable must be set to run this test.")
- }
- if os.Getenv("AZURE_MSSQL_DATABASE") == "" || os.Getenv("AZURE_MSSQL_SERVER") == "" {
- t.Error("AZURE_MSSQL_DATABASE and AZURE_MSSQL_SERVER environment variable must be set to run this test.")
- }
- if os.Getenv("AZURE_MSSQL_USERNAME") != "" && os.Getenv("AZURE_MSSQL_PASSWORD") != "" {
- adminUsername = "adminUsername=" + os.Getenv("AZURE_MSSQL_USERNAME")
- adminPassword = "adminPassword=" + os.Getenv("AZURE_MSSQL_PASSWORD")
- } else {
- t.Error("AZURE_MSSQL_USERNAME and AZURE_MSSQL_PASSWORD environment variable must be set to run this test.")
- }
-
- mssqlresourceid := "mssqlresourceid=" + os.Getenv("AZURE_MSSQL_RESOURCE_ID")
- sqlDatabse := "database=" + os.Getenv("AZURE_MSSQL_DATABASE")
- sqlServer := "server=" + os.Getenv("AZURE_MSSQL_SERVER")
- appNamespace := "default-dsrp-resources-microsoft-sql"
-
- test := rp.NewRPTest(t, name, []rp.TestStep{
- {
- Executor: step.NewDeployExecutor(template, testutil.GetMagpieImage(), mssqlresourceid, adminUsername, adminPassword, sqlDatabse, sqlServer),
- RPResources: &validation.RPResourceSet{
- Resources: []validation.RPResource{
- {
- Name: name,
- Type: validation.ApplicationsResource,
- },
- {
- Name: "mssql-app-ctnr",
- Type: validation.ContainersResource,
- App: name,
- },
- },
- },
- K8sObjects: &validation.K8sObjectSet{
- Namespaces: map[string][]validation.K8sObject{
- appNamespace: {
- validation.NewK8sPodForResource(name, "mssql-app-ctnr"),
- },
- },
- },
- },
- })
-
- test.RequiredFeatures = []rp.RequiredFeature{rp.FeatureAzure}
- test.Test(t)
-}
+// TODO: This test will be deleted in a followup PR
diff --git a/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep b/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep
deleted file mode 100644
index 7cc28e82333..00000000000
--- a/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep
+++ /dev/null
@@ -1,82 +0,0 @@
-extension radius
-
-@description('Specifies the location for resources.')
-param location string = 'East US'
-
-@description('Specifies the image for the container resource.')
-param magpieImage string
-
-@description('Specifies the port for the container resource.')
-param magpiePort int = 3000
-
-@description('Specifies the environment for resources.')
-param environment string = 'test'
-
-@description('Specifies the SQL username.')
-param adminUsername string
-
-@description('Specifies the SQL password.')
-@secure()
-param adminPassword string
-
-param mssqlresourceid string
-
-param database string
-
-param server string
-
-resource app 'Applications.Core/applications@2023-10-01-preview' = {
- name: 'dsrp-resources-microsoft-sql'
- location: location
- properties: {
- environment: environment
- }
-}
-
-resource sqlapp 'Applications.Core/containers@2023-10-01-preview' = {
- name: 'mssql-app-ctnr'
- location: location
- properties: {
- application: app.id
- connections: {
- sql: {
- source: db.id
- }
- }
- container: {
- image: magpieImage
- env: {
- CONNECTION_SQL_CONNECTIONSTRING: {
- value: db.listSecrets().connectionString
- }
- }
- readinessProbe: {
- kind: 'httpGet'
- containerPort: magpiePort
- path: '/healthz'
- }
- }
- }
-}
-
-resource db 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = {
- name: 'mssql-db'
- location: location
- properties: {
- application: app.id
- environment: environment
- resourceProvisioning: 'manual'
- resources: [
- {
- id: mssqlresourceid
- }
- ]
- database: database
- server: server
- port: 1433
- username: adminUsername
- secrets: {
- password: adminPassword
- }
- }
-}
From ef1196fa17dccf1e4677edc3387e1c12bb5b46e6 Mon Sep 17 00:00:00 2001
From: Shruthi Kumar
Date: Wed, 16 Oct 2024 14:34:03 -0700
Subject: [PATCH 12/27] Remove datastoresrp-cloud tests (#8000)
# Description
This removes the datastoresrp-cloud tests and cleans up test setup
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #issue_number
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: sk593
---
build/test.mk | 7 ++-----
.../cloud/resources/microsoftsql_test.go | 19 -------------------
2 files changed, 2 insertions(+), 24 deletions(-)
delete mode 100644 test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go
diff --git a/build/test.mk b/build/test.mk
index 7db7d8e82c6..be17f6f6ccc 100644
--- a/build/test.mk
+++ b/build/test.mk
@@ -64,7 +64,7 @@ test-functional-all: test-functional-ucp test-functional-kubernetes test-functio
test-functional-all-noncloud: test-functional-ucp-noncloud test-functional-kubernetes-noncloud test-functional-corerp-noncloud test-functional-cli-noncloud test-functional-msgrp-noncloud test-functional-daprrp-noncloud test-functional-datastoresrp-noncloud test-functional-samples-noncloud ## Runs all functional tests that do not require cloud resources
# Run all functional tests that require cloud resources
-test-functional-all-cloud: test-functional-ucp-cloud test-functional-corerp-cloud test-functional-datastoresrp-cloud
+test-functional-all-cloud: test-functional-ucp-cloud test-functional-corerp-cloud
test-functional-ucp: test-functional-ucp-noncloud test-functional-ucp-cloud ## Runs all UCP functional tests (both cloud and non-cloud)
@@ -103,14 +103,11 @@ test-functional-daprrp: test-functional-daprrp-noncloud ## Runs all Dapr RP func
test-functional-daprrp-noncloud: ## Runs Dapr RP functional tests that do not require cloud resources
CGO_ENABLED=1 $(GOTEST_TOOL) ./test/functional-portable/daprrp/noncloud/... -timeout ${TEST_TIMEOUT} -v -parallel 3 $(GOTEST_OPTS)
-test-functional-datastoresrp: test-functional-datastoresrp-noncloud test-functional-datastoresrp-cloud ## Runs all Datastores RP functional tests (non-cloud and cloud)
+test-functional-datastoresrp: test-functional-datastoresrp-noncloud ## Runs all Datastores RP functional tests (non-cloud)
test-functional-datastoresrp-noncloud: ## Runs Datastores RP functional tests that do not require cloud resources
CGO_ENABLED=1 $(GOTEST_TOOL) ./test/functional-portable/datastoresrp/noncloud/... -timeout ${TEST_TIMEOUT} -v -parallel 3 $(GOTEST_OPTS)
-test-functional-datastoresrp-cloud: ## Runs Datastores RP functional tests that require cloud resources
- CGO_ENABLED=1 $(GOTEST_TOOL) ./test/functional-portable/datastoresrp/cloud/... -timeout ${TEST_TIMEOUT} -v -parallel 3 $(GOTEST_OPTS)
-
test-functional-samples: test-functional-samples-noncloud ## Runs all Samples functional tests
test-functional-samples-noncloud: ## Runs Samples functional tests that do not require cloud resources
diff --git a/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go b/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go
deleted file mode 100644
index b97c373989c..00000000000
--- a/test/functional-portable/datastoresrp/cloud/resources/microsoftsql_test.go
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2023 The Radius Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package resource_test
-
-// TODO: This test will be deleted in a followup PR
From 1c73038430c51cdf179a534aa4160832616385dd Mon Sep 17 00:00:00 2001
From: ckansara16 <41126429+ckansara16@users.noreply.github.com>
Date: Thu, 17 Oct 2024 21:50:06 +0200
Subject: [PATCH 13/27] Updated command instructions with examples for
rad_install_kubernetes.md page (#7988)
# Description
Enhanced examples with different arguments for 'rad install kubernetes'
command requested in
https://github.com/radius-project/radius/issues/7968
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #7968
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [X] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
---------
Signed-off-by: Chintan Anilkumar Kansara
Signed-off-by: ckansara16 <41126429+ckansara16@users.noreply.github.com>
Co-authored-by: Reshma Abdul Rahim <61033581+Reshrahim@users.noreply.github.com>
---
pkg/cli/cmd/install/kubernetes/kubernetes.go | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/pkg/cli/cmd/install/kubernetes/kubernetes.go b/pkg/cli/cmd/install/kubernetes/kubernetes.go
index 9a03dbe7821..ed9628b678d 100644
--- a/pkg/cli/cmd/install/kubernetes/kubernetes.go
+++ b/pkg/cli/cmd/install/kubernetes/kubernetes.go
@@ -56,6 +56,18 @@ rad install kubernetes --set key=value
# Install Radius with the intermediate root CA certificate in the current Kubernetes context
rad install kubernetes --set-file global.rootCA.cert=/path/to/rootCA.crt
+
+# Install Radius with zipkin server for distributed tracing
+rad install kubernetes --set global.zipkin.url=http://localhost:9411/api/v2/spans
+
+# Install Radius with central prometheus monitoring service
+rad install kubernetes --set global.prometheus.path=/customdomain.com/metrics,global.prometheus.port=443,global.rootCA.cert=/path/to/rootCA.crt
+
+# Install Radius using a helmchart from specified file path
+rad install kubernetes --chart /root/radius/deploy/Chart
+
+# Force re-install Radius with latest version
+rad install kubernetes --reinstall
`,
Args: cobra.ExactArgs(0),
RunE: framework.RunCommand(runner),
From a879fccc1e898c28ba9ed6de9ac8a36b5082e087 Mon Sep 17 00:00:00 2001
From: Yetkin Timocin
Date: Thu, 17 Oct 2024 17:49:36 -0700
Subject: [PATCH 14/27] Adding prettier command and running it for the first
time (#7893)
# Description
Adding prettier command and running it for the first time.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #issue_number
Signed-off-by: ytimocin
---
.devcontainer/contributor/devcontainer.json | 94 +-
.github/scripts/radius-bot.js | 87 +-
.github/workflows/lint.yaml | 22 +-
.prettierignore | 8 +
CONTRIBUTING.md | 6 +-
Makefile | 2 +-
build/prettier.mk | 29 +
.../src/radcli/devcontainer-feature.json | 35 +-
.../test/radcli/scenarios.json | 32 +-
.../contributing-code-building/README.md | 8 +-
.../contributing-code-prerequisites/README.md | 29 +-
.../README.md | 19 +-
.../contributing-pull-requests/README.md | 11 +-
grafana/radius-overview-dashboard.json | 10 +-
.../src/autorest.bicep/.eslintrc.js | 27 +-
.../src/autorest.bicep/jest.config.ts | 15 +-
.../src/autorest.bicep/package.json | 2 +-
.../src/autorest.bicep/src/main.ts | 49 +-
.../src/autorest.bicep/src/resources.ts | 329 +++--
.../src/autorest.bicep/src/type-generator.ts | 520 +++++--
.../src/autorest.bicep/src/utils.ts | 16 +-
.../src/writers/markdown-table.ts | 205 ++-
.../basic/test.rp1/2021-10-31/types.json | 2 +-
.../test/integration/integration.test.ts | 86 +-
.../Test.Rp1/stable/2021-10-31/spec.json | 23 +-
.../resource-management/v3/types.json | 110 +-
.../autorest.bicep/test/integration/utils.ts | 67 +-
.../src/generator/.eslintrc.js | 9 +-
.../src/generator/package.json | 2 +-
.../Bicep.TypeGen.Autorest/packages.lock.json | 2 +-
.../src/generator/src/cmd/generate.ts | 214 ++-
.../src/generator/src/config.ts | 18 +-
.../src/generator/src/utils.ts | 77 +-
.../src/generator/tsconfig.json | 2 +-
pkg/armrpc/api/v1/testdata/armrpcheaders.json | 124 +-
.../testdata/armsubscriptionheaders.json | 124 +-
.../operationresult_requestheaders.json | 124 +-
.../operationresult_responseheaders.json | 6 +-
.../testdata/operationstatus_datamodel.json | 30 +-
.../testdata/operationstatus_output.json | 28 +-
.../operationstatus_requestheaders.json | 124 +-
.../registeredsubscriptiontestdata.json | 62 +-
.../testdata/resource-datamodel.json | 2 +-
.../testdata/resource-request-invalidapp.json | 16 +-
.../testdata/resource-request.json | 16 +-
.../testdata/resource-response.json | 2 +-
.../testdata/resource-sync-datamodel.json | 32 +-
.../resource-sync-request-invalid.json | 13 +-
.../testdata/resource-sync-request.json | 16 +-
.../resource_planescope_requestheaders.json | 124 +-
.../testdata/resource_requestheaders.json | 124 +-
.../unregisteredsubscriptiontestdata.json | 62 +-
.../testdata/test-extractparameters.json | 40 +-
pkg/cli/bicep/testdata/test-injectappid.json | 65 +-
pkg/cli/bicep/testdata/test-injectenvid.json | 114 +-
pkg/cli/bicep/testdata/test-noenv.json | 104 +-
pkg/cli/bicep/testdata/test-parameters.json | 18 +-
.../recipe/register/testdata/recipeparam.json | 14 +-
.../GenericResources_CreateOrUpdate.json | 2 +-
.../examples/GenericResources_Delete.json | 2 +-
.../examples/GenericResources_Get.json | 2 +-
.../GenericResources_ListByRootScope.json | 2 +-
.../GenericResources_ListSecrets.json | 2 +-
pkg/cli/swagger/genericResource.json | 96 +-
.../testdata/applicationresource.json | 2 +-
.../applicationresourcedatamodel.json | 2 +-
.../applicationresourcedatamodelemptyext.json | 46 +-
.../testdata/applicationresourceemptyext.json | 24 +-
.../applicationresourceemptyext2.json | 28 +-
.../testdata/containerresource-manual.json | 2 +-
.../containerresource-nil-env-variables.json | 17 +-
.../testdata/containerresource-runtimes.json | 15 +-
.../testdata/containerresource.json | 15 +-
.../containerresourcedatamodel-manual.json | 2 +-
.../containerresourcedatamodel-runtime.json | 15 +-
.../testdata/containerresourcedatamodel.json | 15 +-
.../containerresourcedatamodelemptyext.json | 15 +-
.../testdata/containerresourceemptyext.json | 15 +-
.../testdata/containerresourceemptyext2.json | 15 +-
.../containerresourcenegativetest.json | 6 +-
...propertiesdatamodel-insecure-registry.json | 26 +-
...opertiesdatamodel-missingtemplatekind.json | 6 +-
...ntrecipepropertiesdatamodel-terraform.json | 26 +-
.../environmentrecipepropertiesdatamodel.json | 6 +-
...entresource-invalid-missing-namespace.json | 18 +-
...environmentresource-invalid-namespace.json | 20 +-
...ironmentresource-invalid-resourcetype.json | 46 +-
...ironmentresource-invalid-templatekind.json | 42 +-
...ironmentresource-missing-templatekind.json | 40 +-
...entresource-terraformrecipe-localpath.json | 42 +-
...onmentresource-with-simulated-enabled.json | 24 +-
...onmentresource-with-workload-identity.json | 70 +-
.../testdata/environmentresource.json | 2 +-
...ourcedatamodel-with-workload-identity.json | 92 +-
.../environmentresourcedatamodel.json | 2 +-
.../environmentresourcedatamodelemptyext.json | 94 +-
...entresourcedatamodelemptytemplatekind.json | 62 +-
.../testdata/environmentresourceemptyext.json | 60 +-
.../environmentresourceemptyext2.json | 56 +-
.../testdata/extender_manual.json | 2 +-
.../testdata/extender_manual_nosecrets.json | 20 +-
.../testdata/extender_recipe.json | 2 +-
.../testdata/extenderdatamodel_manual.json | 2 +-
.../extenderdatamodel_manual_nosecrets.json | 42 +-
.../testdata/extenderdatamodel_recipe.json | 2 +-
.../testdata/extenderresource-invalid.json | 12 +-
.../extenderresponseresourcedatamodel.json | 2 +-
.../gatewayresource-with-sslpassthrough.json | 2 +-
...h-tlstermination-nominprotocolversion.json | 2 +-
.../gatewayresource-with-tlstermination.json | 2 +-
.../testdata/gatewayresource.json | 2 +-
...sourcedatamodel-with-enablewebsockets.json | 2 +-
...resourcedatamodel-with-sslpassthrough.json | 2 +-
...h-tlstermination-nominprotocolversion.json | 2 +-
...resourcedatamodel-with-tlstermination.json | 2 +-
.../testdata/gatewayresourcedatamodel.json | 2 +-
.../testdata/reciperesource.json | 6 +-
.../secretstore-datamodel-resource.json | 2 +-
.../testdata/secretstore-datamodel.json | 2 +-
.../secretstore-versioned-resource.json | 2 +-
.../testdata/secretstore-versioned.json | 2 +-
.../testdata/volume-az-kv-datamodel.json | 2 +-
.../testdata/volume-az-kv.json | 124 +-
.../testdata/containerresourcedatamodel.json | 6 +-
.../containerresourcedatamodellowercase.json | 6 +-
.../containerresourcedatamodeluppercase.json | 6 +-
.../application20231001preview_datamodel.json | 76 +-
.../application20231001preview_input.json | 24 +-
...ication20231001preview_input_diff_env.json | 12 +-
.../application20231001preview_output.json | 60 +-
.../testdata/graph-app-directroute-in.json | 84 +-
.../testdata/graph-app-directroute-out.json | 52 +-
.../testdata/graph-app-gw-in.json | 142 +-
.../testdata/graph-app-gw-out.json | 104 +-
.../container20231001preview_datamodel.json | 6 +-
.../container20231001preview_input.json | 90 +-
.../container20231001preview_input_appid.json | 90 +-
.../container20231001preview_output.json | 6 +-
.../requestheaders20231001preview.json | 124 +-
.../environment20231001preview_datamodel.json | 82 +-
.../environment20231001preview_input.json | 46 +-
.../environment20231001preview_output.json | 74 +-
...onexistingrecipe20231001preview_input.json | 6 +-
...cipemetadata20231001preview_datamodel.json | 96 +-
...etrecipemetadata20231001preview_input.json | 6 +-
...tadata20231001preview_input_terraform.json | 6 +-
...trecipemetadata20231001preview_output.json | 12 +-
...adata20231001preview_output_terraform.json | 30 +-
...cipedatawithmalformedparameterdetails.json | 72 +-
.../recipedatawithmalformedparameters.json | 50 +-
.../testdata/recipedatawithoutparameters.json | 30 +-
.../testdata/recipedatawithparameters.json | 84 +-
.../requestheaders20231001preview.json | 124 +-
...adersgetrecipemetadata20231001preview.json | 124 +-
...ipemetadatanotexisting20231001preview.json | 124 +-
.../testdata/20231001preview_datamodel.json | 20 +-
.../testdata/20231001preview_input.json | 24 +-
.../20231001preview_input_diff_env.json | 24 +-
.../testdata/20231001preview_output.json | 2 +-
.../20231001preview_requestheaders.json | 124 +-
.../20231001previewgetandlist_output.json | 2 +-
.../gateway20231001preview_datamodel.json | 2 +-
.../gateway20231001preview_input.json | 42 +-
.../gateway20231001preview_input_appid.json | 42 +-
.../gateway20231001preview_output.json | 2 +-
.../secretstores/testdata/app_datamodel.json | 76 +-
.../secretstores/testdata/env_datamodel.json | 40 +-
.../testdata/env_nonk8s_datamodel.json | 32 +-
.../secretstores_datamodel_awsirsa.json | 2 +-
.../testdata/secretstores_datamodel_azwi.json | 2 +-
.../secretstores_datamodel_basicauth.json | 2 +-
...retstores_datamodel_basicauth_invalid.json | 2 +-
.../secretstores_datamodel_cert_value.json | 2 +-
...secretstores_datamodel_cert_valuefrom.json | 2 +-
.../secretstores_datamodel_generic.json | 2 +-
.../secretstores_datamodel_global_scope.json | 70 +-
...datamodel_global_scope_empty_resource.json | 68 +-
...tamodel_global_scope_invalid_resource.json | 70 +-
pkg/corerp/renderers/container/render_test.go | 4 +
.../basemanifest-output-addcontainer.json | 2 +-
.../testdata/basemanifest-output-merge.json | 2 +-
.../testdata/volume-az-kv-systemassigned.json | 2 +-
...igurationstore_invalidmanual_resource.json | 2 +-
...igurationstore_invalidrecipe_resource.json | 2 +-
.../configurationstore_manual_datamodel.json | 2 +-
...urationstore_manual_generic_datamodel.json | 2 +-
.../configurationstore_manual_resource.json | 48 +-
.../configurationstore_recipe_datamodel.json | 2 +-
.../configurationstore_recipe_resource.json | 30 +-
.../pubsubbroker_invalidmanual_resource.json | 2 +-
.../pubsubbroker_invalidrecipe_resource.json | 2 +-
.../pubsubbroker_manual_datamodel.json | 2 +-
...pubsubbroker_manual_generic_datamodel.json | 2 +-
.../pubsubbroker_manual_resource.json | 48 +-
.../pubsubbroker_recipe_datamodel.json | 2 +-
.../pubsubbroker_recipe_resource.json | 30 +-
.../secretstore_invalidrecipe_resource.json | 34 +-
.../secretstore_invalidvalues_resource.json | 30 +-
.../testdata/secretstore_manual_resource.json | 38 +-
.../secretstore_manual_resourcedatamodel.json | 2 +-
.../testdata/secretstore_recipe_resource.json | 2 +-
.../secretstore_recipe_resourcedatamodel.json | 2 +-
.../statestore_invalidrecipe_resource.json | 2 +-
.../statestore_invalidvalues_resource.json | 2 +-
.../testdata/statestore_recipe_resource.json | 2 +-
.../statestore_recipe_resourcedatamodel.json | 2 +-
.../testdata/statestore_values_resource.json | 2 +-
.../statestore_values_resourcedatamodel.json | 2 +-
.../mongodatabaseresource-invalid.json | 14 +-
...tabaseresource-invalidresprovisioning.json | 14 +-
.../mongodatabaseresource-missinginputs.json | 14 +-
.../testdata/mongodatabaseresource.json | 2 +-
.../testdata/mongodatabaseresource2.json | 34 +-
.../mongodatabaseresource_recipe.json | 32 +-
.../mongodatabaseresource_recipe2.json | 18 +-
.../mongodatabaseresourcedatamodel.json | 2 +-
.../mongodatabaseresourcedatamodel2.json | 50 +-
...mongodatabaseresourcedatamodel_recipe.json | 60 +-
.../testdata/mongodatabasesecrets.json | 4 +-
.../mongodatabasesecretsdatamodel.json | 4 +-
.../testdata/rediscacheresource-invalid.json | 14 +-
.../testdata/rediscacheresource-invalid2.json | 18 +-
.../rediscacheresource-invalidinput.json | 14 +-
.../rediscacheresource_defaultrecipe.json | 16 +-
.../testdata/rediscacheresource_manual.json | 2 +-
...rediscacheresource_manual_noresources.json | 22 +-
.../rediscacheresource_recipe_named.json | 20 +-
...iscacheresource_recipe_overridevalues.json | 32 +-
.../rediscacheresourcedatamodel_manual.json | 2 +-
...cheresourcedatamodel_manual_resources.json | 58 +-
...cacheresourcedatamodel_recipe_default.json | 2 +-
...scacheresourcedatamodel_recipe_params.json | 2 +-
.../testdata/rediscachesecrets.json | 8 +-
.../testdata/rediscachesecretsdatamodel.json | 8 +-
...ldatabase_invalid_properties_resource.json | 14 +-
...invalid_resourceprovisioning_resource.json | 14 +-
.../testdata/sqldatabase_manual_resource.json | 2 +-
.../sqldatabase_manual_resourcedatamodel.json | 2 +-
.../testdata/sqldatabase_recipe_resource.json | 34 +-
.../sqldatabase_recipe_resourcedatamodel.json | 2 +-
.../sqldatabase_secrets_datamodel.json | 6 +-
.../testdata/sqldatabaseresource-invalid.json | 14 +-
.../testdata/20231001preview_datamodel.json | 2 +-
.../20231001preview_requestheaders.json | 124 +-
.../testdata/20231001preview_datamodel.json | 2 +-
.../20231001preview_requestheaders.json | 124 +-
.../testdata/20231001preview_datamodel.json | 2 +-
.../testdata/20231001preview_input.json | 32 +-
.../testdata/20231001preview_output.json | 2 +-
.../20231001preview_requestheaders.json | 124 +-
.../rabbitmq_invalid_properties_resource.json | 14 +-
...invalid_resourceprovisioning_resource.json | 14 +-
.../testdata/rabbitmq_manual_datamodel.json | 2 +-
.../testdata/rabbitmq_manual_resource.json | 44 +-
.../testdata/rabbitmq_recipe_datamodel.json | 2 +-
.../testdata/rabbitmq_recipe_resource.json | 2 +-
.../testdata/rabbitmqresource-invalid.json | 12 +-
.../testdata/rabbitmqsecrets.json | 6 +-
.../testdata/rabbitmqsecretsdatamodel.json | 6 +-
.../testdata/20231001preview_datamodel.json | 2 +-
.../20231001preview_requestheaders.json | 124 +-
pkg/recipes/terraform/config/config.go | 6 +-
pkg/recipes/terraform/config/config_test.go | 7 +
.../terraform/config/providers/types_test.go | 2 +-
.../testdata/module-emptyparams.tf.json | 2 +-
.../module-emptyresourceparam.tf.json | 2 +-
.../module-emptytemplateversion.tf.json | 2 +-
.../testdata/module-private-git-repo.tf.json | 2 +-
.../terraform/config/testdata/module.tf.json | 2 +-
.../terraform/config/testdata/outputs.tf.json | 2 +-
.../config/testdata/providers-empty.tf.json | 2 +-
.../providers-emptyazureconfig.tf.json | 2 +-
...roviders-emptywithrequiredprovider.tf.json | 2 +-
.../providers-envrecipedefaultconfig.tf.json | 2 +-
.../providers-envrecipeproviders.tf.json | 2 +-
.../providers-modules-aliases.tf.json | 2 +-
.../providers-modules-noaliases.tf.json | 2 +-
.../providers-modules-subsetaliases.tf.json | 2 +-
...providers-modules-unmatchedaliases.tf.json | 2 +-
...roviders-overrideucpproviderconfig.tf.json | 2 +-
.../config/testdata/providers-valid.tf.json | 2 +-
.../recipecontext-emptyrecipeparams.tf.json | 2 +-
.../config/testdata/recipecontext.tf.json | 2 +-
.../testdata/apiversion_datamodel.json | 2 +-
.../testdata/apiversion_resource.json | 2 +-
.../testdata/awsplane-datamodel-empty.json | 2 +-
.../testdata/azureplane-resource-empty.json | 2 +-
.../credentialresource-aws-accesskey.json | 30 +-
.../testdata/credentialresource-aws-irsa.json | 28 +-
...entialresource-azure-serviceprincipal.json | 32 +-
...entialresource-azure-workloadidentity.json | 30 +-
.../credentialresource-empty-properties.json | 10 +-
.../credentialresource-empty-storage-aws.json | 22 +-
...redentialresource-empty-storage-azure.json | 20 +-
...entialresource-empty-storage-kind-aws.json | 25 +-
...tialresource-empty-storage-kind-azure.json | 24 +-
...ntialresource-invalid-storagekind-aws.json | 26 +-
...ialresource-invalid-storagekind-azure.json | 26 +-
.../testdata/credentialresource-other.json | 24 +-
...entialresourcedatamodel-aws-accesskey.json | 62 +-
.../credentialresourcedatamodel-aws-irsa.json | 60 +-
...ourcedatamodel-azure-serviceprincipal.json | 64 +-
...ourcedatamodel-azure-workloadidentity.json | 62 +-
.../credentialresourcedatamodel-default.json | 50 +-
.../genericplane-datamodel-empty.json | 5 +-
.../testdata/genericresource_datamodel.json | 42 +-
.../testdata/location_datamodel.json | 2 +-
.../testdata/location_resource.json | 2 +-
...planeresource-empty-resourceproviders.json | 15 +-
.../planeresource-invalid-missing-kind.json | 14 +-
.../planeresource-invalid-missing-url.json | 16 +-
...laneresource-invalid-unsupported-kind.json | 16 +-
.../testdata/planeresource.json | 16 +-
.../testdata/planeresourcedatamodel.json | 38 +-
.../testdata/radiusplane-datamodel-empty.json | 2 +-
.../testdata/resourcegroup.json | 14 +-
.../resourcegroupresourcedatamodel.json | 30 +-
.../testdata/resourceprovider_datamodel.json | 2 +-
.../testdata/resourceprovider_resource.json | 2 +-
.../resourceprovidersummary_datamodel.json | 2 +-
.../testdata/resourcetype_datamodel.json | 2 +-
.../testdata/resourcetype_resource.json | 2 +-
.../testdata/armrpcheaders.json | 124 +-
.../aws/testdata/aws-credential.json | 28 +-
.../invalid-request-aws-credential.json | 8 +-
.../requestheaders20231001preview.json | 14 +-
...theaders20231001preview_badapiversion.json | 14 +-
...ders20231001preview_invalidcredential.json | 14 +-
.../azure/testdata/azure-credential.json | 32 +-
.../invalid-request-azure-credential.json | 8 +-
.../requestheaders20231001preview.json | 14 +-
...theaders20231001preview_badapiversion.json | 14 +-
...ders20231001preview_invalidcredential.json | 14 +-
.../planes/testdata/createazureplane.json | 16 +-
.../planes/testdata/createucpnativeplane.json | 24 +-
.../createucpnativeplanenoproviders.json | 16 +-
.../requestheaders20231001preview.json | 14 +-
.../requestheaders20231001preview_azure.json | 14 +-
...aders20231001preview_nonexistentplane.json | 14 +-
..._updated_v20231001preview_requestbody.json | 5 +-
...updated_v20231001preview_responsebody.json | 2 +-
...ne_v20231001preview_list_responsebody.json | 2 +-
...awsplane_v20231001preview_requestbody.json | 5 +-
...wsplane_v20231001preview_responsebody.json | 2 +-
..._updated_v20231001preview_requestbody.json | 2 +-
...updated_v20231001preview_responsebody.json | 2 +-
...ne_v20231001preview_list_responsebody.json | 2 +-
...ureplane_v20231001preview_requestbody.json | 2 +-
...replane_v20231001preview_responsebody.json | 2 +-
...ne_v20231001preview_list_responsebody.json | 2 +-
..._updated_v20231001preview_requestbody.json | 2 +-
...updated_v20231001preview_responsebody.json | 2 +-
...ne_v20231001preview_list_responsebody.json | 2 +-
...iusplane_v20231001preview_requestbody.json | 2 +-
...usplane_v20231001preview_responsebody.json | 2 +-
..._invalid_v20231001preview_requestbody.json | 9 +-
...invalid_v20231001preview_responsebody.json | 24 +-
..._updated_v20231001preview_requestbody.json | 9 +-
...updated_v20231001preview_responsebody.json | 12 +-
...up_v20231001preview_list_responsebody.json | 20 +-
...rcegroup_v20231001preview_requestbody.json | 9 +-
...cegroup_v20231001preview_responsebody.json | 12 +-
...0231001preview_emptylist_responsebody.json | 2 +-
...on_v20231001preview_list_responsebody.json | 2 +-
...iversion_v20231001preview_requestbody.json | 2 +-
...version_v20231001preview_responsebody.json | 2 +-
...0231001preview_emptylist_responsebody.json | 2 +-
...on_v20231001preview_list_responsebody.json | 2 +-
...location_v20231001preview_requestbody.json | 2 +-
...ocation_v20231001preview_responsebody.json | 2 +-
...0231001preview_emptylist_responsebody.json | 2 +-
...er_v20231001preview_list_responsebody.json | 2 +-
...provider_v20231001preview_requestbody.json | 2 +-
...rovider_v20231001preview_responsebody.json | 2 +-
...0231001preview_emptylist_responsebody.json | 2 +-
...pe_v20231001preview_list_responsebody.json | 2 +-
...urcetype_v20231001preview_requestbody.json | 2 +-
...rcetype_v20231001preview_responsebody.json | 2 +-
.../downstream-request.json | 16 +-
.../downstream-response.json | 16 +-
.../upstream-request.json | 14 +-
.../upstream-response.json | 18 +-
.../downstream-request.json | 16 +-
.../downstream-response.json | 16 +-
.../upstream-request.json | 14 +-
.../upstream-response.json | 16 +-
.../basic-roundtrip/downstream-request.json | 12 +-
.../basic-roundtrip/downstream-response.json | 12 +-
.../arm/basic-roundtrip/upstream-request.json | 18 +-
.../basic-roundtrip/upstream-response.json | 12 +-
...put-environments-invalid-missing-kind.json | 14 +-
...environments-invalid-missing-location.json | 14 +-
...ments-invalid-missing-locationandkind.json | 12 +-
.../put-environments-valid-selfhost.json | 14 +-
.../testdata/put-environments-valid.json | 16 +-
.../examples/Containers_CreateOrUpdate.json | 20 +-
...ontainers_CreateOrUpdate_BaseManifest.json | 20 +-
.../examples/Containers_Delete.json | 2 +-
.../examples/Containers_Get.json | 11 +-
.../examples/Containers_List.json | 20 +-
.../examples/Containers_ListByScope.json | 20 +-
.../examples/Environments_CreateOrUpdate.json | 2 +-
.../examples/Environments_GetEnv0.json | 2 +-
.../Environments_GetRecipeMetadata.json | 8 +-
.../examples/Environments_List.json | 2 +-
.../examples/Environments_PatchEnv0.json | 2 +-
.../examples/Extenders_CreateOrUpdate.json | 89 +-
.../Extenders_CreateOrUpdateWithRecipe.json | 71 +-
.../examples/Extenders_Delete.json | 2 +-
.../examples/Extenders_Get.json | 2 +-
.../examples/Extenders_List.json | 2 +-
.../examples/Extenders_ListByRootScope.json | 2 +-
.../examples/Extenders_ListSecrets.json | 2 +-
.../examples/Extenders_Update.json | 2 +-
.../examples/Gateways_CreateOrUpdate.json | 12 +-
.../examples/Gateways_Get.json | 6 +-
.../examples/Gateways_List.json | 6 +-
.../examples/Gateways_ListByScope.json | 16 +-
...cretStores_CreateOrUpdate_GlobalScope.json | 70 +-
.../examples/SecretStores_Get.json | 6 +-
.../examples/SecretStores_List.json | 6 +-
.../examples/Volumes_Get.json | 2 +-
.../examples/Volumes_List.json | 5 +-
.../ConfigurationStores_CreateOrUpdate.json | 2 +-
...rationStores_CreateOrUpdateWithRecipe.json | 2 +-
.../examples/ConfigurationStores_Delete.json | 2 +-
.../examples/ConfigurationStores_Get.json | 2 +-
.../examples/ConfigurationStores_List.json | 2 +-
.../ConfigurationStores_ListByRootScope.json | 2 +-
.../examples/ConfigurationStores_Update.json | 2 +-
.../PubSubBrokers_CreateOrUpdate.json | 2 +-
...ubSubBrokers_CreateOrUpdateWithRecipe.json | 2 +-
.../examples/PubSubBrokers_Delete.json | 2 +-
.../examples/PubSubBrokers_Get.json | 2 +-
.../examples/PubSubBrokers_List.json | 2 +-
.../PubSubBrokers_ListByRootScope.json | 2 +-
.../examples/PubSubBrokers_Update.json | 2 +-
.../examples/SecretStores_CreateOrUpdate.json | 2 +-
.../examples/SecretStores_Delete.json | 2 +-
.../examples/SecretStores_Get.json | 2 +-
.../examples/SecretStores_List.json | 2 +-
.../SecretStores_ListByRootScope.json | 2 +-
.../examples/SecretStores_Update.json | 2 +-
.../examples/StateStores_CreateOrUpdate.json | 2 +-
.../StateStores_CreateOrUpdateWithRecipe.json | 2 +-
.../examples/StateStores_Delete.json | 2 +-
.../examples/StateStores_Get.json | 2 +-
.../examples/StateStores_List.json | 2 +-
.../examples/StateStores_ListByRootScope.json | 2 +-
.../examples/StateStores_Update.json | 2 +-
.../MongoDatabases_CreateOrUpdateRecipe.json | 2 +-
.../MongoDatabases_CreateOrUpdateValues.json | 2 +-
.../examples/MongoDatabases_Delete.json | 2 +-
.../examples/MongoDatabases_Get.json | 2 +-
.../examples/MongoDatabases_List.json | 2 +-
.../MongoDatabases_ListByRootScope.json | 2 +-
.../examples/MongoDatabases_Update.json | 2 +-
.../examples/RedisCaches_CreateOrUpdate.json | 2 +-
.../RedisCaches_CreateOrUpdateRecipe.json | 2 +-
.../RedisCaches_CreateOrUpdateValues.json | 2 +-
.../examples/RedisCaches_Delete.json | 2 +-
.../examples/RedisCaches_Get.json | 2 +-
.../examples/RedisCaches_List.json | 2 +-
.../examples/RedisCaches_ListByRootScope.json | 2 +-
.../examples/RedisCaches_ListSecrets.json | 2 +-
.../examples/RedisCaches_Update.json | 2 +-
.../examples/SQLDatabases_CreateOrUpdate.json | 2 +-
.../examples/SQLDatabases_Delete.json | 2 +-
.../examples/SQLDatabases_Get.json | 2 +-
.../examples/SQLDatabases_List.json | 2 +-
.../SQLDatabases_ListByRootScope.json | 2 +-
.../examples/SQLDatabases_Update.json | 2 +-
.../RabbitMQQueues_CreateOrUpdate.json | 2 +-
.../examples/RabbitMQQueues_Delete.json | 2 +-
.../examples/RabbitMQQueues_Get.json | 2 +-
.../examples/RabbitMQQueues_List.json | 2 +-
.../RabbitMQQueues_ListByRootScope.json | 2 +-
.../examples/RabbitMQQueues_ListSecrets.json | 2 +-
.../examples/RabbitMQQueues_Update.json | 2 +-
.../preview/2022-08-19-preview/openapi.json | 86 +-
.../stable/2023-08-19/openapi.json | 110 +-
.../resource-management/v2/privatelinks.json | 17 +-
.../resource-management/v2/types.json | 119 +-
.../v3/managedidentity.json | 201 ++-
.../resource-management/v3/privatelinks.json | 313 +++--
.../resource-management/v3/types.json | 1190 ++++++++---------
...WSCredential_AccessKey_CreateOrUpdate.json | 96 +-
.../AWSCredential_AccessKey_Delete.json | 26 +-
.../examples/AWSCredential_AccessKey_Get.json | 48 +-
.../AWSCredential_AccessKey_List.json | 54 +-
.../AWSCredential_AccessKey_Update.json | 96 +-
.../AWSCredential_IRSA_CreateOrUpdate.json | 98 +-
.../examples/AWSCredential_IRSA_Delete.json | 26 +-
.../examples/AWSCredential_IRSA_Get.json | 50 +-
.../examples/AWSCredential_IRSA_List.json | 56 +-
.../examples/AWSCredential_IRSA_Update.json | 2 +-
.../examples/AWSCredential_List.json | 54 +-
.../examples/AWSCredential_Update.json | 96 +-
.../examples/ApiVersions_CreateOrUpdate.json | 2 +-
.../examples/ApiVersions_Delete.json | 2 +-
.../examples/ApiVersions_Get.json | 2 +-
.../examples/ApiVersions_List.json | 2 +-
.../examples/AwsCredentials_Update.json | 96 +-
.../examples/AwsPlanes_CreateOrUpdate.json | 2 +-
.../examples/AwsPlanes_Delete.json | 2 +-
.../examples/AwsPlanes_Get.json | 2 +-
.../examples/AwsPlanes_List.json | 2 +-
.../examples/AwsPlanes_Update.json | 2 +-
.../AzureCredential_CreateOrUpdate.json | 8 +-
.../examples/AzureCredential_Delete.json | 2 +-
.../examples/AzureCredential_Get.json | 6 +-
.../examples/AzureCredential_List.json | 6 +-
...ntial_ServicePrincipal_CreateOrUpdate.json | 8 +-
...ureCredential_ServicePrincipal_Delete.json | 2 +-
.../AzureCredential_ServicePrincipal_Get.json | 6 +-
...AzureCredential_ServicePrincipal_List.json | 6 +-
...ureCredential_ServicePrincipal_Update.json | 8 +-
.../examples/AzureCredential_Update.json | 8 +-
...ntial_WorkloadIdentity_CreateOrUpdate.json | 8 +-
...ureCredential_WorkloadIdentity_Delete.json | 2 +-
.../AzureCredential_WorkloadIdentity_Get.json | 6 +-
...AzureCredential_WorkloadIdentity_List.json | 6 +-
...ureCredential_WorkloadIdentity_Update.json | 8 +-
.../AzureCredentials_CreateOrUpdate.json | 8 +-
.../examples/AzureCredentials_Delete.json | 2 +-
.../examples/AzureCredentials_Get.json | 6 +-
.../examples/AzureCredentials_List.json | 6 +-
.../examples/AzureCredentials_Update.json | 8 +-
.../examples/AzurePlanes_CreateOrUpdate.json | 2 +-
.../examples/AzurePlanes_Delete.json | 2 +-
.../examples/AzurePlanes_Get.json | 2 +-
.../examples/AzurePlanes_List.json | 2 +-
.../examples/AzurePlanes_Update.json | 2 +-
.../examples/Locations_CreateOrUpdate.json | 2 +-
.../examples/Locations_Delete.json | 2 +-
.../examples/Locations_Get.json | 2 +-
.../examples/Locations_List.json | 2 +-
.../examples/Planes_List.json | 2 +-
.../examples/RadiusPlanes_CreateOrUpdate.json | 2 +-
.../examples/RadiusPlanes_Delete.json | 2 +-
.../examples/RadiusPlanes_Get.json | 2 +-
.../examples/RadiusPlanes_List.json | 2 +-
.../examples/RadiusPlanes_Update.json | 2 +-
.../ResourceGroups_CreateOrUpdate.json | 2 +-
.../examples/ResourceGroups_Delete.json | 2 +-
.../examples/ResourceGroups_Get.json | 2 +-
.../examples/ResourceGroups_List.json | 2 +-
.../examples/ResourceGroups_Update.json | 2 +-
.../ResourceProviders_CreateOrUpdate.json | 4 +-
.../examples/ResourceProviders_Delete.json | 2 +-
.../examples/ResourceProviders_Get.json | 2 +-
.../ResourceProviders_GetProviderSummary.json | 2 +-
.../examples/ResourceProviders_List.json | 2 +-
...sourceProviders_ListProviderSummaries.json | 2 +-
.../ResourceTypes_CreateOrUpdate.json | 2 +-
.../examples/ResourceTypes_Delete.json | 2 +-
.../examples/ResourceTypes_Get.json | 2 +-
.../examples/ResourceTypes_List.json | 2 +-
.../examples/Resources_List.json | 50 +-
.../testdata/corerp-kubernetes-cli.json | 10 +-
...orerp-resources-application-graph-out.json | 2 +-
.../parameters/test-tls-cert.parameters.json | 18 +-
.../Containers_CreateOrUpdate.json | 20 +-
...ontainers_CreateOrUpdate_BaseManifest.json | 20 +-
.../2023-10-01-preview/Containers_Delete.json | 2 +-
.../2023-10-01-preview/Containers_Get.json | 11 +-
.../2023-10-01-preview/Containers_List.json | 20 +-
.../Containers_ListByScope.json | 20 +-
.../2023-10-01-preview/Containers_Update.json | 20 +-
.../Environments_CreateOrUpdate.json | 2 +-
.../Environments_GetEnv0.json | 2 +-
.../Environments_GetRecipeMetadata.json | 8 +-
.../2023-10-01-preview/Environments_List.json | 2 +-
.../Environments_PatchEnv0.json | 2 +-
.../Extenders_CreateOrUpdate.json | 89 +-
.../Extenders_CreateOrUpdateWithRecipe.json | 71 +-
.../2023-10-01-preview/Extenders_Delete.json | 2 +-
.../2023-10-01-preview/Extenders_Get.json | 2 +-
.../2023-10-01-preview/Extenders_List.json | 2 +-
.../Extenders_ListByRootScope.json | 2 +-
.../Extenders_ListSecrets.json | 2 +-
.../2023-10-01-preview/Extenders_Update.json | 2 +-
.../Gateways_CreateOrUpdate.json | 12 +-
.../2023-10-01-preview/Gateways_Get.json | 6 +-
.../2023-10-01-preview/Gateways_List.json | 6 +-
.../Gateways_ListByScope.json | 16 +-
.../2023-10-01-preview/Gateways_Update.json | 12 +-
...cretStores_CreateOrUpdate_GlobalScope.json | 70 +-
.../2023-10-01-preview/SecretStores_Get.json | 6 +-
.../2023-10-01-preview/SecretStores_List.json | 6 +-
.../2023-10-01-preview/Volumes_Get.json | 2 +-
.../2023-10-01-preview/Volumes_List.json | 5 +-
.../ConfigurationStores_CreateOrUpdate.json | 2 +-
...rationStores_CreateOrUpdateWithRecipe.json | 2 +-
.../ConfigurationStores_Delete.json | 2 +-
.../ConfigurationStores_Get.json | 2 +-
.../ConfigurationStores_List.json | 2 +-
.../ConfigurationStores_ListByRootScope.json | 2 +-
.../ConfigurationStores_Update.json | 2 +-
.../PubSubBrokers_CreateOrUpdate.json | 2 +-
...ubSubBrokers_CreateOrUpdateWithRecipe.json | 2 +-
.../PubSubBrokers_Delete.json | 2 +-
.../2023-10-01-preview/PubSubBrokers_Get.json | 2 +-
.../PubSubBrokers_List.json | 2 +-
.../PubSubBrokers_ListByRootScope.json | 2 +-
.../PubSubBrokers_Update.json | 2 +-
.../SecretStores_CreateOrUpdate.json | 2 +-
.../SecretStores_Delete.json | 2 +-
.../2023-10-01-preview/SecretStores_Get.json | 2 +-
.../2023-10-01-preview/SecretStores_List.json | 2 +-
.../SecretStores_ListByRootScope.json | 2 +-
.../SecretStores_Update.json | 2 +-
.../StateStores_CreateOrUpdate.json | 2 +-
.../StateStores_CreateOrUpdateWithRecipe.json | 2 +-
.../StateStores_Delete.json | 2 +-
.../2023-10-01-preview/StateStores_Get.json | 2 +-
.../2023-10-01-preview/StateStores_List.json | 2 +-
.../StateStores_ListByRootScope.json | 2 +-
.../StateStores_Update.json | 2 +-
.../MongoDatabases_CreateOrUpdateRecipe.json | 2 +-
.../MongoDatabases_CreateOrUpdateValues.json | 2 +-
.../MongoDatabases_Delete.json | 2 +-
.../MongoDatabases_Get.json | 2 +-
.../MongoDatabases_List.json | 2 +-
.../MongoDatabases_ListByRootScope.json | 2 +-
.../RedisCaches_CreateOrUpdate.json | 2 +-
.../RedisCaches_CreateOrUpdateRecipe.json | 2 +-
.../RedisCaches_CreateOrUpdateValues.json | 2 +-
.../RedisCaches_Delete.json | 2 +-
.../2023-10-01-preview/RedisCaches_Get.json | 2 +-
.../2023-10-01-preview/RedisCaches_List.json | 2 +-
.../RedisCaches_ListByRootScope.json | 2 +-
.../RedisCaches_ListSecrets.json | 2 +-
.../RedisCaches_Update.json | 2 +-
.../SQLDatabases_CreateOrUpdate.json | 2 +-
.../SQLDatabases_Delete.json | 2 +-
.../2023-10-01-preview/SQLDatabases_Get.json | 2 +-
.../2023-10-01-preview/SQLDatabases_List.json | 2 +-
.../SQLDatabases_ListByRootScope.json | 2 +-
.../SQLDatabases_ListSecrets.json | 2 +-
.../SQLDatabases_Update.json | 2 +-
.../RabbitMQQueues_CreateOrUpdate.json | 2 +-
.../RabbitMQQueues_Delete.json | 2 +-
.../RabbitMQQueues_Get.json | 2 +-
.../RabbitMQQueues_List.json | 2 +-
.../RabbitMQQueues_ListByRootScope.json | 2 +-
.../RabbitMQQueues_ListSecrets.json | 2 +-
.../RabbitMQQueues_Update.json | 2 +-
...WSCredential_AccessKey_CreateOrUpdate.json | 96 +-
.../AWSCredential_AccessKey_Delete.json | 26 +-
.../AWSCredential_AccessKey_Get.json | 48 +-
.../AWSCredential_AccessKey_List.json | 54 +-
.../AWSCredential_AccessKey_Update.json | 96 +-
.../AWSCredential_IRSA_CreateOrUpdate.json | 98 +-
.../AWSCredential_IRSA_Delete.json | 26 +-
.../AWSCredential_IRSA_Get.json | 50 +-
.../AWSCredential_IRSA_List.json | 56 +-
.../AWSCredential_IRSA_Update.json | 2 +-
.../ApiVersions_CreateOrUpdate.json | 2 +-
.../ApiVersions_Delete.json | 2 +-
.../2023-10-01-preview/ApiVersions_Get.json | 2 +-
.../2023-10-01-preview/ApiVersions_List.json | 2 +-
...ntial_ServicePrincipal_CreateOrUpdate.json | 8 +-
...ureCredential_ServicePrincipal_Delete.json | 2 +-
.../AzureCredential_ServicePrincipal_Get.json | 6 +-
...AzureCredential_ServicePrincipal_List.json | 6 +-
...ureCredential_ServicePrincipal_Update.json | 8 +-
...ntial_WorkloadIdentity_CreateOrUpdate.json | 8 +-
...ureCredential_WorkloadIdentity_Delete.json | 2 +-
.../AzureCredential_WorkloadIdentity_Get.json | 6 +-
...AzureCredential_WorkloadIdentity_List.json | 6 +-
...ureCredential_WorkloadIdentity_Update.json | 8 +-
.../Locations_CreateOrUpdate.json | 2 +-
.../2023-10-01-preview/Locations_Delete.json | 2 +-
.../2023-10-01-preview/Locations_Get.json | 2 +-
.../2023-10-01-preview/Locations_List.json | 2 +-
.../Planes_CreateOrUpdate.json | 2 +-
.../2023-10-01-preview/Planes_Delete.json | 2 +-
.../Planes_GetPlaneLocal.json | 2 +-
.../2023-10-01-preview/Planes_List.json | 2 +-
.../Planes_ListPlanesByType.json | 2 +-
.../2023-10-01-preview/Planes_Update.json | 2 +-
.../ResourceGroups_CreateOrUpdate.json | 2 +-
.../ResourceGroups_Delete.json | 2 +-
.../ResourceGroups_Get.json | 2 +-
.../ResourceGroups_List.json | 2 +-
.../ResourceGroups_Update.json | 2 +-
.../ResourceProviders_CreateOrUpdate.json | 4 +-
.../ResourceProviders_Delete.json | 2 +-
.../ResourceProviders_Get.json | 2 +-
.../ResourceProviders_GetProviderSummary.json | 2 +-
.../ResourceProviders_List.json | 2 +-
...sourceProviders_ListProviderSummaries.json | 2 +-
.../ResourceTypes_CreateOrUpdate.json | 2 +-
.../ResourceTypes_Delete.json | 2 +-
.../2023-10-01-preview/ResourceTypes_Get.json | 2 +-
.../ResourceTypes_List.json | 2 +-
.../2023-10-01-preview/Resources_List.json | 50 +-
typespec/package.json | 2 +-
699 files changed, 7813 insertions(+), 7651 deletions(-)
create mode 100644 .prettierignore
create mode 100644 build/prettier.mk
diff --git a/.devcontainer/contributor/devcontainer.json b/.devcontainer/contributor/devcontainer.json
index e61f5b8ece5..5f6f19eb27f 100644
--- a/.devcontainer/contributor/devcontainer.json
+++ b/.devcontainer/contributor/devcontainer.json
@@ -1,50 +1,50 @@
{
- "name": "Radius - Contributor",
- // For details see https://github.com/radius-project/radius/tree/main/docs/contributing/contributing-code/contributing-code-prerequisites
- "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
- "features": {
- //Git and GitHub Setup
- "ghcr.io/devcontainers/features/git:1": {},
- "ghcr.io/devcontainers/features/github-cli:1": {},
- //Programming languages
- "ghcr.io/devcontainers/features/go:1": {},
- "ghcr.io/guiyomh/features/gotestsum:0.1.1": {},
- "ghcr.io/devcontainers/features/node:1": {},
- "ghcr.io/devcontainers-contrib/features/typescript:2": {},
- "ghcr.io/devcontainers/features/python:1": {},
- //Container and K8s
- "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
- "minikube": "none"
- },
- "ghcr.io/devcontainers/features/docker-in-docker:2": {
- "version": "latest",
- "moby": true
- },
- //Tools
- "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {},
- "ghcr.io/mpriscella/features/kind:1": {},
- "ghcr.io/dhoeric/features/stern:1": {},
- //Dapr
- "ghcr.io/dapr/cli/dapr-cli:0": {}
+ "name": "Radius - Contributor",
+ // For details see https://github.com/radius-project/radius/tree/main/docs/contributing/contributing-code/contributing-code-prerequisites
+ "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
+ "features": {
+ //Git and GitHub Setup
+ "ghcr.io/devcontainers/features/git:1": {},
+ "ghcr.io/devcontainers/features/github-cli:1": {},
+ //Programming languages
+ "ghcr.io/devcontainers/features/go:1": {},
+ "ghcr.io/guiyomh/features/gotestsum:0.1.1": {},
+ "ghcr.io/devcontainers/features/node:1": {},
+ "ghcr.io/devcontainers-contrib/features/typescript:2": {},
+ "ghcr.io/devcontainers/features/python:1": {},
+ //Container and K8s
+ "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
+ "minikube": "none"
},
- "customizations": {
- "vscode": {
- "extensions": [
- "redhat.vscode-yaml",
- "golang.go",
- "ms-python.python",
- "ms-python.vscode-pylance",
- "ms-azuretools.vscode-bicep",
- "ms-kubernetes-tools.vscode-kubernetes-tools",
- "ms-azuretools.vscode-dapr",
- "ms-vscode.makefile-tools"
- ]
- }
+ "ghcr.io/devcontainers/features/docker-in-docker:2": {
+ "version": "latest",
+ "moby": true
},
- // Prerequisite for Code Generation, see https://github.com/radius-project/radius/tree/main/docs/contributing/contributing-code/contributing-code-prerequisites#code-generation
- // Adding workspace as safe directory to avoid permission issues
- "postCreateCommand": "git config --global --add safe.directory /workspaces/radius && cd typespec && npm ci && npm install -g autorest && npm install -g oav && go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0 && go install go.uber.org/mock/mockgen@v0.4.0",
- "hostRequirements": {
- "memory": "8gb"
- },
-}
\ No newline at end of file
+ //Tools
+ "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {},
+ "ghcr.io/mpriscella/features/kind:1": {},
+ "ghcr.io/dhoeric/features/stern:1": {},
+ //Dapr
+ "ghcr.io/dapr/cli/dapr-cli:0": {}
+ },
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "redhat.vscode-yaml",
+ "golang.go",
+ "ms-python.python",
+ "ms-python.vscode-pylance",
+ "ms-azuretools.vscode-bicep",
+ "ms-kubernetes-tools.vscode-kubernetes-tools",
+ "ms-azuretools.vscode-dapr",
+ "ms-vscode.makefile-tools"
+ ]
+ }
+ },
+ // Prerequisite for Code Generation, see https://github.com/radius-project/radius/tree/main/docs/contributing/contributing-code/contributing-code-prerequisites#code-generation
+ // Adding workspace as safe directory to avoid permission issues
+ "postCreateCommand": "git config --global --add safe.directory /workspaces/radius && cd typespec && npm ci && npm install -g autorest && npm install -g oav && go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.0 && go install go.uber.org/mock/mockgen@v0.4.0",
+ "hostRequirements": {
+ "memory": "8gb"
+ }
+}
diff --git a/.github/scripts/radius-bot.js b/.github/scripts/radius-bot.js
index 72c6a55e9a9..70a0e5ac8ce 100644
--- a/.github/scripts/radius-bot.js
+++ b/.github/scripts/radius-bot.js
@@ -15,39 +15,44 @@ limitations under the License.
*/
module.exports = async ({ github, context }) => {
- if (context.eventName === 'issue_comment' && context.payload.action === 'created') {
- try {
- await handleIssueCommentCreate({ github, context });
- } catch (error) {
- console.log(`[handleIssueCommentCreate] unexpected error: ${error}`);
- }
+ if (
+ context.eventName === "issue_comment" &&
+ context.payload.action === "created"
+ ) {
+ try {
+ await handleIssueCommentCreate({ github, context });
+ } catch (error) {
+ console.log(`[handleIssueCommentCreate] unexpected error: ${error}`);
}
-}
+ }
+};
// Handle issue comment create event.
async function handleIssueCommentCreate({ github, context }) {
- const payload = context.payload;
- const issue = context.issue;
- const isFromPulls = !!payload.issue.pull_request;
- const commentBody = payload.comment.body;
- const username = context.actor;
+ const payload = context.payload;
+ const issue = context.issue;
+ const isFromPulls = !!payload.issue.pull_request;
+ const commentBody = payload.comment.body;
+ const username = context.actor;
- if (!commentBody) {
- console.log('[handleIssueCommentCreate] comment body not found, exiting.');
- return;
- }
+ if (!commentBody) {
+ console.log("[handleIssueCommentCreate] comment body not found, exiting.");
+ return;
+ }
- const commandParts = commentBody.split(/\s+/);
- const command = commandParts.shift();
+ const commandParts = commentBody.split(/\s+/);
+ const command = commandParts.shift();
- switch (command) {
- case '/assign':
- await cmdAssign(github, issue, isFromPulls, username);
- break;
- default:
- console.log(`[handleIssueCommentCreate] command ${command} not found, exiting.`);
- break;
- }
+ switch (command) {
+ case "/assign":
+ await cmdAssign(github, issue, isFromPulls, username);
+ break;
+ default:
+ console.log(
+ `[handleIssueCommentCreate] command ${command} not found, exiting.`,
+ );
+ break;
+ }
}
/**
@@ -58,18 +63,22 @@ async function handleIssueCommentCreate({ github, context }) {
* @param {*} username is the user who trigger the command
*/
async function cmdAssign(github, issue, isFromPulls, username) {
- if (isFromPulls) {
- console.log('[cmdAssign] pull requests not supported, skipping command execution.');
- return;
- } else if (issue.assignees && issue.assignees.length !== 0) {
- console.log('[cmdAssign] issue already has assignees, skipping command execution.');
- return;
- }
+ if (isFromPulls) {
+ console.log(
+ "[cmdAssign] pull requests not supported, skipping command execution.",
+ );
+ return;
+ } else if (issue.assignees && issue.assignees.length !== 0) {
+ console.log(
+ "[cmdAssign] issue already has assignees, skipping command execution.",
+ );
+ return;
+ }
- await github.rest.issues.addAssignees({
- owner: issue.owner,
- repo: issue.repo,
- issue_number: issue.number,
- assignees: [username],
- });
+ await github.rest.issues.addAssignees({
+ owner: issue.owner,
+ repo: issue.repo,
+ issue_number: issue.number,
+ assignees: [username],
+ });
}
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 017b50f0450..93cc92fcdd8 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -46,7 +46,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
- node-version: "18"
+ node-version: "22"
- name: Install TypeSpec compiler
run: |
pushd typespec
@@ -91,3 +91,23 @@ jobs:
run: |
echo "Generated code is not up to date, run 'make generate' to update generated code."
exit 1
+ format-check:
+ name: Format check with Prettier
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ steps:
+ - name: Check out repo
+ uses: actions/checkout@v4
+ - name: Setup NodeJS
+ uses: actions/setup-node@v4
+ with:
+ node-version: "22"
+ - name: Run `make format-check`
+ id: format-check
+ run: |
+ make format-check
+ - name: Check for formatting failures
+ if: steps.format-check.outcome == 'failure'
+ run: |
+ echo "Format check failed. Please fix the formatting issues. You can run 'make format-write' to update the code."
+ exit 1
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 00000000000..b7804f75e5c
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,8 @@
+# .prettierignore
+pkg/validator/testdata/put-environments-invalid-json.json
+
+hack/bicep-types-radius/generated/*
+
+bicep-types/*
+
+swagger/*
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 504127e64ba..9a8fcc59954 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,13 +1,13 @@
# Contributing
-Radius is in an early phase of development right now. We welcome feedback in the form of issues that comes from usage and is aligned with the current scope and goals of the project.
+Radius is in an early phase of development right now. We welcome feedback in the form of issues that comes from usage and is aligned with the current scope and goals of the project.
## Table of contents
You can find our full **contributor documentation** including instructions at the following links:
- [How to contribute](./docs/contributing/how-to.md)
-- [See "good first issues"](https://github.com/radius-project/radius/issues?q=is:issue+is:open+label:%22good+first+issue%22)
+- [See "good first issues"](https://github.com/radius-project/radius/issues?q=is:issue+is:open+label:%22good+first+issue%22)
- [Install prerequisites](./docs/contributing/contributing-code/contributing-code-prerequisites/)
- [Create your first commit (full walkthrough)](./docs/contributing/contributing-code/contributing-code-first-commit/)
- [Building the repo](./docs/contributing/contributing-code/contributing-code-building/)
@@ -21,7 +21,7 @@ You can find our full **contributor documentation** including instructions at th
We welcome small pull request contributions from anyone (docs improvements, bug fixes, minor features.) as long as they follow a few guidelines:
-- For very minor changes like correcting a typo feel free to send a pull request. Otherwise ...
+- For very minor changes like correcting a typo feel free to send a pull request. Otherwise ...
- Please start by [choosing an existing issue](https://github.com/radius-project/radius/issues), or [opening an issue](https://github.com/radius-project/radius/issues/new/choose) to work on.
- The maintainers will respond to your issue, please work with the maintainers to ensure that what you're doing is in scope for the project before writing any code.
- If you have any doubt whether a contribution would be valuable, feel free to ask.
diff --git a/Makefile b/Makefile
index 9a69757f0f3..8046daedfb0 100644
--- a/Makefile
+++ b/Makefile
@@ -17,4 +17,4 @@
ARROW := \033[34;1m=>\033[0m
# order matters for these
-include build/help.mk build/version.mk build/build.mk build/util.mk build/generate.mk build/test.mk build/docker.mk build/recipes.mk build/install.mk build/db.mk build/debug.mk
+include build/help.mk build/version.mk build/build.mk build/util.mk build/generate.mk build/test.mk build/docker.mk build/recipes.mk build/install.mk build/db.mk build/prettier.mk build/debug.mk
\ No newline at end of file
diff --git a/build/prettier.mk b/build/prettier.mk
new file mode 100644
index 00000000000..5425a4508ba
--- /dev/null
+++ b/build/prettier.mk
@@ -0,0 +1,29 @@
+# ------------------------------------------------------------
+# Copyright 2023 The Radius Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ------------------------------------------------------------
+
+.PHONY: prettier-check prettier-format me prettier
+
+PRETTIER_VERSION := 3.3.3
+
+format-check:
+ @echo "$(ARROW) Checking for formatting issues using prettier..."
+ @echo ""
+ @npx prettier@$(PRETTIER_VERSION) --check "*/**/*.{ts,js,mjs,json}"
+
+format-write:
+ @echo "$(ARROW) Reformatting files using prettier..."
+ @echo ""
+ @npx prettier@$(PRETTIER_VERSION) --write "*/**/*.{ts,js,mjs,json}"
diff --git a/deploy/devcontainer-feature/src/radcli/devcontainer-feature.json b/deploy/devcontainer-feature/src/radcli/devcontainer-feature.json
index 8d9be59d8a1..264decb49c0 100644
--- a/deploy/devcontainer-feature/src/radcli/devcontainer-feature.json
+++ b/deploy/devcontainer-feature/src/radcli/devcontainer-feature.json
@@ -1,21 +1,18 @@
{
- "name": "Radius CLI",
- "id": "radcli",
- "version": "0.1.0",
- "dependsOn": {
- "ghcr.io/dhoeric/features/oras:1": {}
- },
- "description": "Installs the Radius CLI along with needed dependencies.",
- "documentationURL": "https://docs.radapp.io/installation/",
- "options": {
- "version": {
- "type": "string",
- "proposals": [
- "latest",
- "edge"
- ],
- "default": "latest",
- "description": "Select or enter an Radius CLI version. Use 'latest' for the latest stable version, 'edge' for the latest development version, or a specific version number (e.g. 0.28.0)."
- }
+ "name": "Radius CLI",
+ "id": "radcli",
+ "version": "0.1.0",
+ "dependsOn": {
+ "ghcr.io/dhoeric/features/oras:1": {}
+ },
+ "description": "Installs the Radius CLI along with needed dependencies.",
+ "documentationURL": "https://docs.radapp.io/installation/",
+ "options": {
+ "version": {
+ "type": "string",
+ "proposals": ["latest", "edge"],
+ "default": "latest",
+ "description": "Select or enter an Radius CLI version. Use 'latest' for the latest stable version, 'edge' for the latest development version, or a specific version number (e.g. 0.28.0)."
}
-}
\ No newline at end of file
+ }
+}
diff --git a/deploy/devcontainer-feature/test/radcli/scenarios.json b/deploy/devcontainer-feature/test/radcli/scenarios.json
index c87df54b0eb..a64d46e8948 100644
--- a/deploy/devcontainer-feature/test/radcli/scenarios.json
+++ b/deploy/devcontainer-feature/test/radcli/scenarios.json
@@ -1,18 +1,18 @@
{
- "edge": {
- "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
- "features": {
- "radcli": {
- "version": "edge"
- }
- }
- },
- "version": {
- "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
- "features": {
- "radcli": {
- "version": "0.27.0"
- }
- }
+ "edge": {
+ "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
+ "features": {
+ "radcli": {
+ "version": "edge"
+ }
}
-}
\ No newline at end of file
+ },
+ "version": {
+ "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
+ "features": {
+ "radcli": {
+ "version": "0.27.0"
+ }
+ }
+ }
+}
diff --git a/docs/contributing/contributing-code/contributing-code-building/README.md b/docs/contributing/contributing-code/contributing-code-building/README.md
index 69868dbaa32..488badf246a 100644
--- a/docs/contributing/contributing-code/contributing-code-building/README.md
+++ b/docs/contributing/contributing-code/contributing-code-building/README.md
@@ -11,7 +11,13 @@ You can build the repository with `make build`. This will build all of the packa
The following command will build, run unit tests, and run linters. This command is handy for verifying that your local changes are working correctly.
```sh
-make build test lint
+make build test lint format-check
+```
+
+You should also run `make format-write` if you have errors in the `format-check` command that you ran above or have added new or changed existing TS, JS, MJS, and/or JSON files.
+
+```sh
+make format-write
```
- See further information about tests [here](../contributing-code-tests/).
diff --git a/docs/contributing/contributing-code/contributing-code-prerequisites/README.md b/docs/contributing/contributing-code/contributing-code-prerequisites/README.md
index ccf9677e4a0..f592e98bdca 100644
--- a/docs/contributing/contributing-code/contributing-code-prerequisites/README.md
+++ b/docs/contributing/contributing-code/contributing-code-prerequisites/README.md
@@ -22,7 +22,7 @@ If you get stuck with any development setup option, please ask for help in our [
## Development environment - setup options
-The following sections describe the aforementioned alternatives of development setups in more detail. We recommend to use of *GitHub Codespaces* or *dev containers* in VS Code as they are the most convenient way to get started.
+The following sections describe the aforementioned alternatives of development setups in more detail. We recommend to use of _GitHub Codespaces_ or _dev containers_ in VS Code as they are the most convenient way to get started.
### GitHub Codespaces
@@ -30,9 +30,10 @@ The easiest way to get started is using our pre-built GitHub Codespace.
The steps to execute are:
-1. Press this button
-
- [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=340522752&skip_quickstart=true&machine=basicLinux32gb&devcontainer_path=.devcontainer%2Fcontributor%2Fdevcontainer.json&geo=UsWest)
+1. Press this button
+
+ [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=340522752&skip_quickstart=true&machine=basicLinux32gb&devcontainer_path=.devcontainer%2Fcontributor%2Fdevcontainer.json&geo=UsWest)
+
1. There is no second step - you are ready to contribute 😎
> **Note** - When using GitHub Codespaces cost can occur on your side after you have used up the monthly included storage and core hours for your account. You find more details [here](https://docs.github.com/en/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces).
@@ -45,19 +46,19 @@ To use the dev container you must have the following tools installed and running
- [Dev Container Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
- [Docker](https://docs.docker.com/engine/install/)
-> 📝 **Tip** - If you are new to *dev containers* you find more information about developing inside a container [here](https://code.visualstudio.com/docs/devcontainers/containers) and a comprehensive tutorial [here](https://code.visualstudio.com/docs/devcontainers/tutorial).
+> 📝 **Tip** - If you are new to _dev containers_ you find more information about developing inside a container [here](https://code.visualstudio.com/docs/devcontainers/containers) and a comprehensive tutorial [here](https://code.visualstudio.com/docs/devcontainers/tutorial).
To get the dev container up and running
-1. If not already done, clone your fork of the Project Radius repository to your local file system and open the folder with VS Code. The best way to do so is either to launch VS Code and open the folder via the *File* -> *Open Folder* menu or to start VS Code from the command shell with `code .`, which opens the current directory as a folder in VS Code.
+1. If not already done, clone your fork of the Project Radius repository to your local file system and open the folder with VS Code. The best way to do so is either to launch VS Code and open the folder via the _File_ -> _Open Folder_ menu or to start VS Code from the command shell with `code .`, which opens the current directory as a folder in VS Code.
1. Click the "X"-like button in VS Code to open a remote window
- ![Button for opening remote window command palette](img/vscode-devcontainer-open-remote-button.png)
+ ![Button for opening remote window command palette](img/vscode-devcontainer-open-remote-button.png)
1. Select the option "Reopen in Container" in the command palette
- ![Remote window command palette](img/vscode-cmd-palette-container.png)
+ ![Remote window command palette](img/vscode-cmd-palette-container.png)
The dev container will be started automatically.
@@ -86,7 +87,7 @@ Alternatively, you can choose whichever editor you are most comfortable for work
- [Visual Studio Code](https://code.visualstudio.com/)
- [Go extension](https://marketplace.visualstudio.com/items?itemName=golang.go)
-Install both of these and then follow the steps in the *Quick Start* for the Go extension.
+Install both of these and then follow the steps in the _Quick Start_ for the Go extension.
The extension will walk you through an automated install of some additional tools that match your installed version of Go.
@@ -99,11 +100,11 @@ This is the list of core dependencies to install for the most common tasks. In g
- [Node.js](https://nodejs.org/en/)
- [Python](https://www.python.org/downloads/)
- [Golangci-lint](https://golangci-lint.run/usage/install/#local-installation)
-- [jq](https://jqlang.github.io/jq/download/)
+- [jq](https://jqlang.github.io/jq/download/)
- Make
For `make` we advice the following installation steps depending on you OS.
-
+
#### Linux
Install the `build-essential` package:
@@ -116,17 +117,17 @@ sudo apt-get install build-essential
Using Xcode:
-```bash
+```bash
xcode-select --install
```
Using Homebrew:
-```bash
+```bash
brew install make
```
-To build our containers, you also need [Docker](https://docs.docker.com/engine/install/).
+To build our containers, you also need [Docker](https://docs.docker.com/engine/install/).
### Additional tools
diff --git a/docs/contributing/contributing-code/contributing-code-schema-changes/README.md b/docs/contributing/contributing-code/contributing-code-schema-changes/README.md
index 8863be32b7e..be192f2146a 100644
--- a/docs/contributing/contributing-code/contributing-code-schema-changes/README.md
+++ b/docs/contributing/contributing-code/contributing-code-schema-changes/README.md
@@ -35,7 +35,7 @@ In order to update or create a new schema follow these steps:
1. Add any necessary changes to the Radius resource provider to support the newly added types.
1. Add any necessary tests, as needed.
-1. Open a pull request in the Radius repo.
+1. Open a pull request in the Radius repo.
## Step 2: Update docs and samples
@@ -51,19 +51,20 @@ Visit the [docs](https://github.com/radius-project/docs/) and [samples](https://
# Testing schema changes locally
-If you would like to test that your schema changes are compilable in a Bicep template, you can do so by publishing them to a file system using the [Bicep CLI](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/).
+If you would like to test that your schema changes are compilable in a Bicep template, you can do so by publishing them to a file system using the [Bicep CLI](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/).
## Step 1: Download the Bicep CLI
-1. Follow the steps in the Bicep [documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install) to download Bicep.
+1. Follow the steps in the Bicep [documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install) to download Bicep.
Note: Alternatively, if you already have the Radius CLI installed, you can choose to use the Bicep binary that is installed as part of Radius. The Bicep binary gets downloaded to `./.rad/bin/rad-bicep`. You can use this file path instead.
## Step 2: Create a file directory
-1. Create a file directory in your location of choice. Keep the directory path handy for the next steps.
+1. Create a file directory in your location of choice. Keep the directory path handy for the next steps.
## Step 3: Upload the new schema types to the file directory
+
1. Run `make generate` to generate the OpenAPI spec and API clients:
```bash
@@ -71,7 +72,7 @@ Note: Alternatively, if you already have the Radius CLI installed, you can choos
```
1. `cd` into the `hack/bicep-types-radius/generated` folder
-1. Run `bicep publish-provider --target [` to upload the schema changes to your file system. The file uploaded will be the `index.json` file as it contains all references to the types schema. The `` can be named as desired, but we recommend using an archive (i.e. `.zip`, `.tgz`, etc). This will make it easier to view the files that get uploaded if needed.
+1. Run `bicep publish-provider --target ][` to upload the schema changes to your file system. The file uploaded will be the `index.json` file as it contains all references to the types schema. The `` can be named as desired, but we recommend using an archive (i.e. `.zip`, `.tgz`, etc). This will make it easier to view the files that get uploaded if needed.
```bash
bicep publish-extension index.json --target /
@@ -79,7 +80,8 @@ Note: Alternatively, if you already have the Radius CLI installed, you can choos
## Step 4: Update the `bicepconfig.json` to use your newly published types
-1. Update the `bicepconfig.json` file in the root folder to reference your new published types.
+1. Update the `bicepconfig.json` file in the root folder to reference your new published types.
+
```json
{
"experimentalFeaturesEnabled": {
@@ -93,6 +95,7 @@ Note: Alternatively, if you already have the Radius CLI installed, you can choos
}
}
```
-1. Once Bicep restores the new extensions, you should be able to use the new schema changes in your Bicep templates.
-Note: You can also choose to publish the types to an OCI registry. The `--target` field will be your OCI registry endpoint when running the `bicep publish-extension` command. Make sure to update the `radius` extension field with your OCI registry endpoint in the `bicepconfig.json`.
\ No newline at end of file
+1. Once Bicep restores the new extensions, you should be able to use the new schema changes in your Bicep templates.
+
+Note: You can also choose to publish the types to an OCI registry. The `--target` field will be your OCI registry endpoint when running the `bicep publish-extension` command. Make sure to update the `radius` extension field with your OCI registry endpoint in the `bicepconfig.json`.
diff --git a/docs/contributing/contributing-pull-requests/README.md b/docs/contributing/contributing-pull-requests/README.md
index 5558b36a041..4439a2a2db3 100644
--- a/docs/contributing/contributing-pull-requests/README.md
+++ b/docs/contributing/contributing-pull-requests/README.md
@@ -4,7 +4,7 @@
We welcome small pull request contributions from anyone (docs improvements, bug fixes, minor features.) as long as they follow a few guidelines:
-- For very minor changes like correcting a typo feel free to just send a pull request without any ceremony. Otherwise ...
+- For very minor changes like correcting a typo feel free to just send a pull request without any ceremony. Otherwise ...
- Please start by [choosing an existing issue](https://github.com/radius-project/radius/issues), or [opening an issue](https://github.com/radius-project/radius/issues/new/choose) to work on.
- The maintainers will respond to your issue, please work with the maintainers to ensure that what you're doing is in scope for the project before writing any code.
- If you have any doubt whether a contribution would be valuable, feel free to ask.
@@ -46,8 +46,8 @@ Keep reading for some tips about how to get your pull requests accepted!
## How to get help with a pull request
-* Notify the Radius Core team by commenting with `@radius-project/radius-core-team ` on your pull-request.
-* Post on Discord in the [#Forum channel](https://discord.gg/GJHN7kQrMh) to start a conversation.
+- Notify the Radius Core team by commenting with `@radius-project/radius-core-team` on your pull-request.
+- Post on Discord in the [#Forum channel](https://discord.gg/GJHN7kQrMh) to start a conversation.
## Writing a good commit message
@@ -84,12 +84,11 @@ We run [CodeQL](https://codeql.github.com/) as part of the pull-request process
If CodeQL fails due to your changes, please work with the maintainers to resolve the issue.
-
## Code review
The maintainers or other contributors will add comments to your pull request giving feedback, asking questions, and making suggestions. Please respond to these comments to either continue the discussion or explain whether or not you plan to address the feedback. Ultimately, accepting a pull request is at the maintainer's discretion.
-### Being proactive
+### Being proactive
It can be helpful for you to comment on your own PR to point out relevant locations, decisions, opportunities for feedback, and tricky parts. This will help reviewers focus their attention as well as save them time.
@@ -107,4 +106,4 @@ See the [code reviewing documentation](../contributing-code/contributing-code-re
## Inactive Pull Requests
-Pull requests that have been inactive for 90 days will be marked with a stale label. They will automatically be closed after a subsequent 7 days of inactivity. This timeframe may be adjusted in the future based on project needs.
\ No newline at end of file
+Pull requests that have been inactive for 90 days will be marked with a stale label. They will automatically be closed after a subsequent 7 days of inactivity. This timeframe may be adjusted in the future based on project needs.
diff --git a/grafana/radius-overview-dashboard.json b/grafana/radius-overview-dashboard.json
index bc0f4934550..a1d7ce6f53a 100644
--- a/grafana/radius-overview-dashboard.json
+++ b/grafana/radius-overview-dashboard.json
@@ -82,9 +82,7 @@
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
- "calcs": [
- "last"
- ],
+ "calcs": ["last"],
"fields": "",
"values": false
},
@@ -626,9 +624,7 @@
"options": {
"orientation": "vertical",
"reduceOptions": {
- "calcs": [
- "min"
- ],
+ "calcs": ["min"],
"fields": "",
"values": false
},
@@ -1511,4 +1507,4 @@
"uid": "Wh5JpyxVz",
"version": 5,
"weekStart": ""
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/.eslintrc.js b/hack/bicep-types-radius/src/autorest.bicep/.eslintrc.js
index db51460f094..0d0f072e523 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/.eslintrc.js
+++ b/hack/bicep-types-radius/src/autorest.bicep/.eslintrc.js
@@ -18,7 +18,7 @@ module.exports = {
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 2020,
- sourceType: "module",
+ sourceType: "module"
},
plugins: ["header"],
extends: ["eslint:recommended"],
@@ -29,31 +29,28 @@ module.exports = {
"line",
[
" Copyright 2023 The Radius Authors.",
- " # ------------------------------------------------------------
- ],
- ],
+ " # ------------------------------------------------------------"
+ ]
+ ]
},
overrides: [
{
files: ["*.ts"],
- extends: [
- "plugin:@typescript-eslint/recommended",
- "plugin:jest/all",
- ],
+ extends: ["plugin:@typescript-eslint/recommended", "plugin:jest/all"],
rules: {
"jest/no-hooks": "off",
"jest/prefer-expect-assertions": "off",
"jest/expect-expect": [
"error",
{
- assertFunctionNames: ["expect*"],
- },
- ],
- },
+ assertFunctionNames: ["expect*"]
+ }
+ ]
+ }
},
{
files: ["*.js"],
- env: { node: true },
- },
- ],
+ env: { node: true }
+ }
+ ]
};
diff --git a/hack/bicep-types-radius/src/autorest.bicep/jest.config.ts b/hack/bicep-types-radius/src/autorest.bicep/jest.config.ts
index 83522790011..67806186fa6 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/jest.config.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/jest.config.ts
@@ -15,15 +15,10 @@
// ------------------------------------------------------------.
module.exports = {
verbose: true,
- moduleFileExtensions: [
- "ts",
- "js"
- ],
+ moduleFileExtensions: ["ts", "js"],
transform: {
- '^.+\\.(ts|tsx)$': 'ts-jest'
+ "^.+\\.(ts|tsx)$": "ts-jest"
},
- testMatch: [
- '**/test/**/*.test.(ts)'
- ],
- testEnvironment: 'node',
-};
\ No newline at end of file
+ testMatch: ["**/test/**/*.test.(ts)"],
+ testEnvironment: "node"
+};
diff --git a/hack/bicep-types-radius/src/autorest.bicep/package.json b/hack/bicep-types-radius/src/autorest.bicep/package.json
index d4289f6e607..fe42fc5dc87 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/package.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/package.json
@@ -32,4 +32,4 @@
"typescript": "^5.6.3",
"bicep-types": "file:../../../../bicep-types/src/bicep-types"
}
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/main.ts b/hack/bicep-types-radius/src/autorest.bicep/src/main.ts
index c1c3053fe1e..17273b22606 100755
--- a/hack/bicep-types-radius/src/autorest.bicep/src/main.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/src/main.ts
@@ -14,13 +14,22 @@
// limitations under the License.
// ------------------------------------------------------------.
-import { AutoRestExtension, AutorestExtensionHost, startSession } from "@autorest/extension-base";
+import {
+ AutoRestExtension,
+ AutorestExtensionHost,
+ startSession
+} from "@autorest/extension-base";
import { generateTypes } from "./type-generator";
import { CodeModel, codeModelSchema } from "@autorest/codemodel";
-import { orderBy } from 'lodash';
+import { orderBy } from "lodash";
import { getProviderDefinitions } from "./resources";
-import { writeTypesJson, writeMarkdown, TypeBaseKind, ResourceType } from "bicep-types";
-import { writeTableMarkdown } from "./writers/markdown-table";
+import {
+ writeTypesJson,
+ writeMarkdown,
+ TypeBaseKind,
+ ResourceType
+} from "bicep-types";
+import { writeTableMarkdown } from "./writers/markdown-table";
export async function processRequest(host: AutorestExtensionHost) {
try {
@@ -38,16 +47,38 @@ export async function processRequest(host: AutorestExtensionHost) {
const outFolder = `${namespace}/${apiVersion}`.toLowerCase();
// write types.json
- host.writeFile({ filename: `${outFolder}/types.json`, content: writeTypesJson(types) });
+ host.writeFile({
+ filename: `${outFolder}/types.json`,
+ content: writeTypesJson(types)
+ });
// writer types.md
- host.writeFile({ filename: `${outFolder}/types.md`, content: writeMarkdown(types, `${namespace} @ ${apiVersion}`) });
+ host.writeFile({
+ filename: `${outFolder}/types.md`,
+ content: writeMarkdown(types, `${namespace} @ ${apiVersion}`)
+ });
// writer resource types
- const resourceTypes = orderBy(types.filter(t => t.type == TypeBaseKind.ResourceType) as ResourceType[], x => x.name.split('@')[0].toLowerCase());
+ const resourceTypes = orderBy(
+ types.filter(
+ (t) => t.type == TypeBaseKind.ResourceType
+ ) as ResourceType[],
+ (x) => x.name.split("@")[0].toLowerCase()
+ );
for (const resourceType of resourceTypes) {
- const filename = resourceType.name.split('/')[1].split('@')[0].toLowerCase();
- host.writeFile({ filename: `${outFolder}/docs/${filename}.md`, content: writeTableMarkdown(namespace, apiVersion, [resourceType], types) });
+ const filename = resourceType.name
+ .split("/")[1]
+ .split("@")[0]
+ .toLowerCase();
+ host.writeFile({
+ filename: `${outFolder}/docs/${filename}.md`,
+ content: writeTableMarkdown(
+ namespace,
+ apiVersion,
+ [resourceType],
+ types
+ )
+ });
}
}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts b/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts
index f3aee82852a..4b3093f97fa 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts
@@ -14,11 +14,29 @@
// limitations under the License.
// ------------------------------------------------------------.
-import { ChoiceSchema, CodeModel, HttpMethod, HttpParameter, HttpRequest, HttpResponse, ImplementationLocation, ObjectSchema, Operation, Parameter, ParameterLocation, Request, Response, Schema, SchemaResponse, SealedChoiceSchema, Metadata } from "@autorest/codemodel";
+import {
+ ChoiceSchema,
+ CodeModel,
+ HttpMethod,
+ HttpParameter,
+ HttpRequest,
+ HttpResponse,
+ ImplementationLocation,
+ ObjectSchema,
+ Operation,
+ Parameter,
+ ParameterLocation,
+ Request,
+ Response,
+ Schema,
+ SchemaResponse,
+ SealedChoiceSchema,
+ Metadata
+} from "@autorest/codemodel";
import { Channel, AutorestExtensionHost } from "@autorest/extension-base";
-import { keys, Dictionary, values, groupBy } from 'lodash';
-import { success, failure, Result } from './utils';
-import { ScopeType } from 'bicep-types';
+import { keys, Dictionary, values, groupBy } from "lodash";
+import { success, failure, Result } from "./utils";
+import { ScopeType } from "bicep-types";
export interface ResourceDescriptor {
scopeType: ScopeType;
@@ -51,19 +69,21 @@ export interface ResourceListActionDefinition {
responseSchema?: Schema;
}
-const parentScopePrefix = /^.*\/providers\//ig;
-const managementGroupPrefix = /^\/providers\/Microsoft.Management\/managementGroups\/{\w+}\/$/i;
+const parentScopePrefix = /^.*\/providers\//gi;
+const managementGroupPrefix =
+ /^\/providers\/Microsoft.Management\/managementGroups\/{\w+}\/$/i;
const tenantPrefix = /^\/$/i;
const subscriptionPrefix = /^\/subscriptions\/{\w+}\/$/i;
-const resourceGroupPrefix = /^\/subscriptions\/{\w+}\/resourceGroups\/{\w+}\/$/i;
+const resourceGroupPrefix =
+ /^\/subscriptions\/{\w+}\/resourceGroups\/{\w+}\/$/i;
const resourceGroupMethod = /^\/subscriptions\/{\w+}\/resourceGroups\/{\w+}$/i;
function trimScope(scope: string) {
- return scope.replace(/\/*$/, '').replace(/^\/*/, '');
+ return scope.replace(/\/*$/, "").replace(/^\/*/, "");
}
function isPathVariable(pathSegment: string) {
- return pathSegment.startsWith('{') && pathSegment.endsWith('}');
+ return pathSegment.startsWith("{") && pathSegment.endsWith("}");
}
function trimParamBraces(pathSegment: string) {
@@ -71,7 +91,7 @@ function trimParamBraces(pathSegment: string) {
}
function normalizeListActionName(actionName: string) {
- if (actionName.toLowerCase().startsWith('list')) {
+ if (actionName.toLowerCase().startsWith("list")) {
// force lower-case on the 'list' prefix for consistency
return `list${actionName.substr(4)}`;
}
@@ -80,11 +100,13 @@ function normalizeListActionName(actionName: string) {
}
export function getFullyQualifiedType(descriptor: ResourceDescriptor) {
- return [descriptor.namespace, ...descriptor.typeSegments].join('/');
+ return [descriptor.namespace, ...descriptor.typeSegments].join("/");
}
function groupByType(items: T[]) {
- return groupBy(items, x => getFullyQualifiedType(x.descriptor).toLowerCase());
+ return groupBy(items, (x) =>
+ getFullyQualifiedType(x.descriptor).toLowerCase()
+ );
}
export function isRootType(descriptor: ResourceDescriptor) {
@@ -92,7 +114,10 @@ export function isRootType(descriptor: ResourceDescriptor) {
}
function getHttpRequests(requests: Request[] | undefined) {
- return requests?.map(x => x.protocol.http as HttpRequest).filter(x => !!x) ?? [];
+ return (
+ requests?.map((x) => x.protocol.http as HttpRequest).filter((x) => !!x) ??
+ []
+ );
}
function hasStatusCode(response: Response, statusCode: string) {
@@ -113,11 +138,18 @@ function getNormalizedMethodPath(path: string) {
return path;
}
-export function getSerializedName(metadata: Metadata) {
- return metadata.language.default.serializedName ?? metadata.language.default.name;
+export function getSerializedName(metadata: Metadata) {
+ return (
+ metadata.language.default.serializedName ?? metadata.language.default.name
+ );
}
-export function parseNameSchema(request: HttpRequest, parameters: Parameter[], parseType: (schema: Schema) => T, createConstantName: (name: string) => T): Result {
+export function parseNameSchema(
+ request: HttpRequest,
+ parameters: Parameter[],
+ parseType: (schema: Schema) => T,
+ createConstantName: (name: string) => T
+): Result {
const path = getNormalizedMethodPath(request.path);
const finalProvidersMatch = path.match(parentScopePrefix)?.slice(-1)[0];
@@ -128,13 +160,15 @@ export function parseNameSchema(request: HttpRequest, parameters: Parameter[]
const routingScope = trimScope(path.substr(finalProvidersMatch.length));
// get the resource name parameter, e.g. {fooName}
- let resNameParam = routingScope.substr(routingScope.lastIndexOf('/') + 1);
+ let resNameParam = routingScope.substr(routingScope.lastIndexOf("/") + 1);
if (isPathVariable(resNameParam)) {
// strip the enclosing braces
resNameParam = trimParamBraces(resNameParam);
- const param = parameters.filter(p => getSerializedName(p) === resNameParam)[0];
+ const param = parameters.filter(
+ (p) => getSerializedName(p) === resNameParam
+ )[0];
if (!param) {
return failure(`Unable to locate parameter with name '${resNameParam}'`);
}
@@ -149,26 +183,32 @@ export function parseNameSchema(request: HttpRequest, parameters: Parameter[]
return success(createConstantName(resNameParam));
}
-export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExtensionHost): ProviderDefinition[] {
+export function getProviderDefinitions(
+ codeModel: CodeModel,
+ host: AutorestExtensionHost
+): ProviderDefinition[] {
function logWarning(message: string) {
host.Message({
Channel: Channel.Warning,
- Text: message,
- })
+ Text: message
+ });
}
function getProviderDefinitions() {
const apiVersions = codeModel.operationGroups
- .flatMap(group => group.operations
- .flatMap(op => (op.apiVersions ?? []).map(v => v.version)))
+ .flatMap((group) =>
+ group.operations.flatMap((op) =>
+ (op.apiVersions ?? []).map((v) => v.version)
+ )
+ )
.filter((x, i, a) => a.indexOf(x) === i);
- return apiVersions.flatMap(v => getProviderDefinitionsForApiVersion(v));
+ return apiVersions.flatMap((v) => getProviderDefinitionsForApiVersion(v));
}
function getProviderDefinitionsForApiVersion(apiVersion: string) {
const providerDefinitions: Dictionary = {};
- const operations = codeModel.operationGroups.flatMap(x => x.operations);
+ const operations = codeModel.operationGroups.flatMap((x) => x.operations);
const getOperationsByPath: Dictionary = {};
const putOperationsByPath: Dictionary = {};
@@ -186,17 +226,17 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
}
}
- operations.forEach(operation => {
+ operations.forEach((operation) => {
const requests = getHttpRequests(operation.requests);
- const getRequest = requests.filter(r => r.method === HttpMethod.Get)[0];
+ const getRequest = requests.filter((r) => r.method === HttpMethod.Get)[0];
if (getRequest) {
getOperationsByPath[getRequest.path.toLowerCase()] = operation;
}
- const putRequest = requests.filter(r => r.method === HttpMethod.Put)[0];
+ const putRequest = requests.filter((r) => r.method === HttpMethod.Put)[0];
if (putRequest) {
putOperationsByPath[putRequest.path.toLowerCase()] = operation;
}
- const postListRequest = requests.filter(r => {
+ const postListRequest = requests.filter((r) => {
if (r.method !== HttpMethod.Post) {
return false;
}
@@ -207,11 +247,14 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
}
const { routingScope: actionRoutingScope } = parseResult.value;
- const actionName = actionRoutingScope.substr(actionRoutingScope.lastIndexOf('/') + 1);
- return actionName.toLowerCase().startsWith('list');
+ const actionName = actionRoutingScope.substr(
+ actionRoutingScope.lastIndexOf("/") + 1
+ );
+ return actionName.toLowerCase().startsWith("list");
})[0];
if (postListRequest) {
- postListOperationsByPath[postListRequest.path.toLowerCase()] = operation;
+ postListOperationsByPath[postListRequest.path.toLowerCase()] =
+ operation;
}
});
@@ -226,9 +269,15 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
continue;
}
- const parseResult = parseResourceMethod(putData.request.path, putData.parameters, apiVersion);
+ const parseResult = parseResourceMethod(
+ putData.request.path,
+ putData.parameters,
+ apiVersion
+ );
if (!parseResult.success) {
- logWarning(`Skipping path '${putData.request.path}': ${parseResult.error}`);
+ logWarning(
+ `Skipping path '${putData.request.path}': ${parseResult.error}`
+ );
continue;
}
@@ -239,8 +288,10 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
descriptor,
putRequest: putData.request,
putParameters: putData.parameters,
- putSchema: (putData.schema instanceof ObjectSchema) ? putData.schema : undefined,
- getSchema: (getData.schema instanceof ObjectSchema) ? getData.schema : undefined,
+ putSchema:
+ putData.schema instanceof ObjectSchema ? putData.schema : undefined,
+ getSchema:
+ getData.schema instanceof ObjectSchema ? getData.schema : undefined
};
const lcNamespace = descriptor.namespace.toLowerCase();
@@ -260,9 +311,15 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
continue;
}
- const parseResult = parseResourceActionMethod(listData.request.path, listData.parameters, apiVersion);
+ const parseResult = parseResourceActionMethod(
+ listData.request.path,
+ listData.parameters,
+ apiVersion
+ );
if (!parseResult.success) {
- logWarning(`Skipping resource POST action path '${listData.request.path}': ${parseResult.error}`);
+ logWarning(
+ `Skipping resource POST action path '${listData.request.path}': ${parseResult.error}`
+ );
continue;
}
@@ -276,7 +333,7 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
descriptor,
postRequest: listData.request,
requestSchema: listData.requestSchema,
- responseSchema: listData.responseSchema,
+ responseSchema: listData.responseSchema
};
const lcNamespace = descriptor.namespace.toLowerCase();
@@ -288,14 +345,21 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
}
for (const namespace of keys(providerDefinitions)) {
- providerDefinitions[namespace].resourcesByType = collapseDefinitions(resourcesByProvider[namespace]);
- providerDefinitions[namespace].resourceFunctions = groupByType(actionsByProvider[namespace]);
+ providerDefinitions[namespace].resourcesByType = collapseDefinitions(
+ resourcesByProvider[namespace]
+ );
+ providerDefinitions[namespace].resourceFunctions = groupByType(
+ actionsByProvider[namespace]
+ );
}
return values(providerDefinitions);
}
-
- function getRequestSchema(operation: Operation | undefined, requests: Request[]) {
+
+ function getRequestSchema(
+ operation: Operation | undefined,
+ requests: Request[]
+ ) {
if (!operation || requests.length === 0) {
return;
}
@@ -303,20 +367,26 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
for (const request of requests) {
const parameters = combineParameters(operation, request);
- const bodyParameter = parameters.filter(p => (p.protocol.http as HttpParameter)?.in === ParameterLocation.Body)[0];
+ const bodyParameter = parameters.filter(
+ (p) => (p.protocol.http as HttpParameter)?.in === ParameterLocation.Body
+ )[0];
- if (request.protocol.http instanceof HttpRequest && bodyParameter instanceof Parameter && bodyParameter.schema) {
+ if (
+ request.protocol.http instanceof HttpRequest &&
+ bodyParameter instanceof Parameter &&
+ bodyParameter.schema
+ ) {
return {
request: request.protocol.http,
parameters,
- schema: bodyParameter.schema,
+ schema: bodyParameter.schema
};
}
}
return {
- request: (requests[0].protocol.http as HttpRequest),
- parameters: combineParameters(operation, requests[0]),
+ request: requests[0].protocol.http as HttpRequest,
+ parameters: combineParameters(operation, requests[0])
};
}
@@ -324,8 +394,8 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
const responses = operation?.responses ?? [];
const validResponses = [
// order 200 responses before default
- ...responses.filter(r => hasStatusCode(r, "200")),
- ...responses.filter(r => hasStatusCode(r, "default")),
+ ...responses.filter((r) => hasStatusCode(r, "200")),
+ ...responses.filter((r) => hasStatusCode(r, "default"))
];
if (!operation || validResponses.length === 0) {
@@ -333,16 +403,20 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
}
for (const response of validResponses) {
- if (response.protocol.http instanceof HttpResponse && response instanceof SchemaResponse && response.schema) {
+ if (
+ response.protocol.http instanceof HttpResponse &&
+ response instanceof SchemaResponse &&
+ response.schema
+ ) {
return {
response: response.protocol.http,
- schema: response.schema,
+ schema: response.schema
};
}
}
return {
- response: (validResponses[0].protocol.http as HttpResponse),
+ response: validResponses[0].protocol.http as HttpResponse
};
}
@@ -356,14 +430,18 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
function getPutSchema(operation?: Operation) {
const requests = operation?.requests ?? [];
- const validRequests = requests.filter(r => (r.protocol.http as HttpRequest)?.method === HttpMethod.Put);
+ const validRequests = requests.filter(
+ (r) => (r.protocol.http as HttpRequest)?.method === HttpMethod.Put
+ );
return getRequestSchema(operation, validRequests);
}
function getPostSchema(operation?: Operation) {
const requests = operation?.requests ?? [];
- const validRequests = requests.filter(r => (r.protocol.http as HttpRequest)?.method === HttpMethod.Post);
+ const validRequests = requests.filter(
+ (r) => (r.protocol.http as HttpRequest)?.method === HttpMethod.Post
+ );
const response = getResponseSchema(operation);
const request = getRequestSchema(operation, validRequests);
@@ -376,11 +454,13 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
request: request.request,
parameters: request.parameters,
requestSchema: request.schema,
- responseSchema: response.schema,
+ responseSchema: response.schema
};
}
- function parseResourceScopes(path: string): Result<{scopeType: ScopeType, routingScope: string}, string> {
+ function parseResourceScopes(
+ path: string
+ ): Result<{ scopeType: ScopeType; routingScope: string }, string> {
path = getNormalizedMethodPath(path);
const finalProvidersMatch = path.match(parentScopePrefix)?.slice(-1)[0];
@@ -388,7 +468,10 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
return failure(`Unable to locate "/providers/" segment`);
}
- const parentScope = path.substr(0, finalProvidersMatch.length - "providers/".length);
+ const parentScope = path.substr(
+ 0,
+ finalProvidersMatch.length - "providers/".length
+ );
const routingScope = trimScope(path.substr(finalProvidersMatch.length));
const scopeType = getScopeTypeFromParentScope(parentScope);
@@ -396,10 +479,17 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
return success({ scopeType, routingScope });
}
- function parseResourceDescriptors(parameters: Parameter[], apiVersion: string, scopeType: ScopeType, routingScope: string): Result {
- const namespace = routingScope.substr(0, routingScope.indexOf('/'));
+ function parseResourceDescriptors(
+ parameters: Parameter[],
+ apiVersion: string,
+ scopeType: ScopeType,
+ routingScope: string
+ ): Result {
+ const namespace = routingScope.substr(0, routingScope.indexOf("/"));
if (isPathVariable(namespace)) {
- return failure(`Unable to process parameterized provider namespace "${namespace}"`);
+ return failure(
+ `Unable to process parameterized provider namespace "${namespace}"`
+ );
}
const parseResult = parseResourceTypes(parameters, routingScope);
@@ -407,21 +497,27 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
return parseResult;
}
- const resNameParam = routingScope.substr(routingScope.lastIndexOf('/') + 1);
- const constantName = isPathVariable(resNameParam) ? undefined : resNameParam;
+ const resNameParam = routingScope.substr(routingScope.lastIndexOf("/") + 1);
+ const constantName = isPathVariable(resNameParam)
+ ? undefined
+ : resNameParam;
- const descriptors: ResourceDescriptor[] = parseResult.value.map(type => ({
+ const descriptors: ResourceDescriptor[] = parseResult.value.map((type) => ({
scopeType,
namespace,
typeSegments: type,
apiVersion,
- constantName,
+ constantName
}));
return success(descriptors);
}
- function parseResourceMethod(path: string, parameters: Parameter[], apiVersion: string) {
+ function parseResourceMethod(
+ path: string,
+ parameters: Parameter[],
+ apiVersion: string
+ ) {
const resourceScopeResult = parseResourceScopes(path);
if (!resourceScopeResult.success) {
@@ -430,68 +526,112 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
const { scopeType, routingScope } = resourceScopeResult.value;
- return parseResourceDescriptors(parameters, apiVersion, scopeType, routingScope);
+ return parseResourceDescriptors(
+ parameters,
+ apiVersion,
+ scopeType,
+ routingScope
+ );
}
- function parseResourceActionMethod(path: string, parameters: Parameter[], apiVersion: string) {
+ function parseResourceActionMethod(
+ path: string,
+ parameters: Parameter[],
+ apiVersion: string
+ ) {
const resourceScopeResult = parseResourceScopes(path);
if (!resourceScopeResult.success) {
return failure(resourceScopeResult.error);
}
- const { routingScope: actionRoutingScope, scopeType } = resourceScopeResult.value;
+ const { routingScope: actionRoutingScope, scopeType } =
+ resourceScopeResult.value;
- const routingScope = actionRoutingScope.substr(0, actionRoutingScope.lastIndexOf('/'));
- const actionName = actionRoutingScope.substr(actionRoutingScope.lastIndexOf('/') + 1);
+ const routingScope = actionRoutingScope.substr(
+ 0,
+ actionRoutingScope.lastIndexOf("/")
+ );
+ const actionName = actionRoutingScope.substr(
+ actionRoutingScope.lastIndexOf("/") + 1
+ );
- const resourceDescriptorsResult = parseResourceDescriptors(parameters, apiVersion, scopeType, routingScope);
+ const resourceDescriptorsResult = parseResourceDescriptors(
+ parameters,
+ apiVersion,
+ scopeType,
+ routingScope
+ );
if (!resourceDescriptorsResult.success) {
return failure(resourceDescriptorsResult.error);
}
- return success({
+ return success({
descriptors: resourceDescriptorsResult.value,
- actionName: actionName,
+ actionName: actionName
});
}
- function parseResourceTypes(parameters: Parameter[], routingScope: string): Result {
- const typeSegments = routingScope.split('/').slice(1).filter((_, i) => i % 2 === 0);
- const nameSegments = routingScope.split('/').slice(1).filter((_, i) => i % 2 === 1);
+ function parseResourceTypes(
+ parameters: Parameter[],
+ routingScope: string
+ ): Result {
+ const typeSegments = routingScope
+ .split("/")
+ .slice(1)
+ .filter((_, i) => i % 2 === 0);
+ const nameSegments = routingScope
+ .split("/")
+ .slice(1)
+ .filter((_, i) => i % 2 === 1);
if (typeSegments.length === 0) {
return failure(`Unable to find type segments`);
}
if (typeSegments.length !== nameSegments.length) {
- return failure(`Found mismatch between type segments (${typeSegments.length}) and name segments (${nameSegments.length})`);
+ return failure(
+ `Found mismatch between type segments (${typeSegments.length}) and name segments (${nameSegments.length})`
+ );
}
let resourceTypes: string[][] = [[]];
for (const typeSegment of typeSegments) {
if (isPathVariable(typeSegment)) {
const parameterName = trimParamBraces(typeSegment);
- const parameter = parameters.filter(p =>
- p.implementation === ImplementationLocation.Method &&
- getSerializedName(p) === parameterName)[0];
+ const parameter = parameters.filter(
+ (p) =>
+ p.implementation === ImplementationLocation.Method &&
+ getSerializedName(p) === parameterName
+ )[0];
if (!parameter) {
return failure(`Found undefined parameter reference ${typeSegment}`);
}
const choiceSchema = parameter.schema;
- if (!(choiceSchema instanceof ChoiceSchema || choiceSchema instanceof SealedChoiceSchema)) {
- return failure(`Parameter reference ${typeSegment} is not defined as an enum`);
- }
+ if (
+ !(
+ choiceSchema instanceof ChoiceSchema ||
+ choiceSchema instanceof SealedChoiceSchema
+ )
+ ) {
+ return failure(
+ `Parameter reference ${typeSegment} is not defined as an enum`
+ );
+ }
if (choiceSchema.choices.length === 0) {
- return failure(`Parameter reference ${typeSegment} is defined as an enum, but doesn't have any specified values`);
+ return failure(
+ `Parameter reference ${typeSegment} is defined as an enum, but doesn't have any specified values`
+ );
}
- resourceTypes = resourceTypes.flatMap(type => choiceSchema.choices.map(v => [...type, v.value.toString()]));
+ resourceTypes = resourceTypes.flatMap((type) =>
+ choiceSchema.choices.map((v) => [...type, v.value.toString()])
+ );
} else {
- resourceTypes = resourceTypes.map(type => [...type, typeSegment]);
+ resourceTypes = resourceTypes.map((type) => [...type, typeSegment]);
}
}
@@ -536,7 +676,7 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
function collapseDefinitionScopes(resources: ResourceDefinition[]) {
const definitionsByName: Dictionary = {};
for (const resource of resources) {
- const name = resource.descriptor.constantName ?? '';
+ const name = resource.descriptor.constantName ?? "";
if (definitionsByName[name]) {
const curDescriptor = definitionsByName[name].descriptor;
const newDescriptor = resource.descriptor;
@@ -545,8 +685,11 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
...definitionsByName[name],
descriptor: {
...curDescriptor,
- scopeType: mergeScopes(curDescriptor.scopeType, newDescriptor.scopeType),
- },
+ scopeType: mergeScopes(
+ curDescriptor.scopeType,
+ newDescriptor.scopeType
+ )
+ }
};
} else {
definitionsByName[name] = resource;
@@ -558,10 +701,12 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten
function collapseDefinitions(resources: ResourceDefinition[]) {
const resourcesByType = groupByType(resources);
- const collapsedResources = Object.values(resourcesByType).flatMap(collapseDefinitionScopes);
+ const collapsedResources = Object.values(resourcesByType).flatMap(
+ collapseDefinitionScopes
+ );
return groupByType(collapsedResources);
}
return getProviderDefinitions();
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts b/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts
index 2f436d69b2e..233341b3c59 100755
--- a/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts
@@ -14,67 +14,140 @@
// limitations under the License.
// ------------------------------------------------------------.
-import { AnySchema, ArraySchema, ChoiceSchema, ConstantSchema, DictionarySchema, ObjectSchema, PrimitiveSchema, Property, Schema, SchemaType, SealedChoiceSchema, StringSchema } from "@autorest/codemodel";
+import {
+ AnySchema,
+ ArraySchema,
+ ChoiceSchema,
+ ConstantSchema,
+ DictionarySchema,
+ ObjectSchema,
+ PrimitiveSchema,
+ Property,
+ Schema,
+ SchemaType,
+ SealedChoiceSchema,
+ StringSchema
+} from "@autorest/codemodel";
import { Channel, AutorestExtensionHost } from "@autorest/extension-base";
-import { DiscriminatedObjectType, ObjectType, ObjectTypeProperty, ObjectTypePropertyFlags, TypeBaseKind, TypeFactory, TypeReference, ResourceFlags, ResourceTypeFunction, FunctionParameter } from "bicep-types";
-import { uniq, keys, keyBy, Dictionary, flatMap } from 'lodash';
-import { getFullyQualifiedType, getSerializedName, parseNameSchema, ProviderDefinition, ResourceDefinition, ResourceDescriptor } from "./resources";
-
-export function generateTypes(host: AutorestExtensionHost, definition: ProviderDefinition) {
+import {
+ DiscriminatedObjectType,
+ ObjectType,
+ ObjectTypeProperty,
+ ObjectTypePropertyFlags,
+ TypeBaseKind,
+ TypeFactory,
+ TypeReference,
+ ResourceFlags,
+ ResourceTypeFunction,
+ FunctionParameter
+} from "bicep-types";
+import { uniq, keys, keyBy, Dictionary, flatMap } from "lodash";
+import {
+ getFullyQualifiedType,
+ getSerializedName,
+ parseNameSchema,
+ ProviderDefinition,
+ ResourceDefinition,
+ ResourceDescriptor
+} from "./resources";
+
+export function generateTypes(
+ host: AutorestExtensionHost,
+ definition: ProviderDefinition
+) {
const factory = new TypeFactory();
const namedDefinitions: Dictionary = {};
function logWarning(message: string) {
- host.message({ Channel: Channel.Warning, Text: message, });
+ host.message({ Channel: Channel.Warning, Text: message });
}
function logInfo(message: string) {
- host.message({ Channel: Channel.Information, Text: message, });
+ host.message({ Channel: Channel.Information, Text: message });
}
- function processResourceBody(fullyQualifiedType: string, definition: ResourceDefinition) {
- const { descriptor, putRequest, putParameters, putSchema, getSchema, } = definition;
+ function processResourceBody(
+ fullyQualifiedType: string,
+ definition: ResourceDefinition
+ ) {
+ const { descriptor, putRequest, putParameters, putSchema, getSchema } =
+ definition;
const nameSchemaResult = parseNameSchema(
putRequest,
putParameters,
- schema => parseType(schema, schema),
- (name) => factory.addStringLiteralType(name));
+ (schema) => parseType(schema, schema),
+ (name) => factory.addStringLiteralType(name)
+ );
if (!nameSchemaResult.success) {
- logWarning(`Skipping resource type ${fullyQualifiedType} under path '${putRequest.path}': ${nameSchemaResult.error}`);
- return
+ logWarning(
+ `Skipping resource type ${fullyQualifiedType} under path '${putRequest.path}': ${nameSchemaResult.error}`
+ );
+ return;
}
if (!nameSchemaResult.value) {
- logWarning(`Skipping resource type ${fullyQualifiedType} under path '${putRequest.path}': failed to obtain a name value`);
- return
+ logWarning(
+ `Skipping resource type ${fullyQualifiedType} under path '${putRequest.path}': failed to obtain a name value`
+ );
+ return;
}
- const resourceProperties = getStandardizedResourceProperties(descriptor, nameSchemaResult.value);
+ const resourceProperties = getStandardizedResourceProperties(
+ descriptor,
+ nameSchemaResult.value
+ );
let resourceDefinition: TypeReference;
if (putSchema) {
- resourceDefinition = createObject(getFullyQualifiedType(descriptor), putSchema, resourceProperties);
+ resourceDefinition = createObject(
+ getFullyQualifiedType(descriptor),
+ putSchema,
+ resourceProperties
+ );
} else {
- logInfo(`Resource type ${fullyQualifiedType} under path '${putRequest.path}' has no body defined.`);
- resourceDefinition = factory.addObjectType(getFullyQualifiedType(descriptor), resourceProperties);
- }
-
- for (const { propertyName, putProperty, getProperty } of getObjectTypeProperties(putSchema, getSchema, true)) {
+ logInfo(
+ `Resource type ${fullyQualifiedType} under path '${putRequest.path}' has no body defined.`
+ );
+ resourceDefinition = factory.addObjectType(
+ getFullyQualifiedType(descriptor),
+ resourceProperties
+ );
+ }
+
+ for (const {
+ propertyName,
+ putProperty,
+ getProperty
+ } of getObjectTypeProperties(putSchema, getSchema, true)) {
if (resourceProperties[propertyName]) {
continue;
}
- const propertyDefinition = parseType(putProperty?.schema, getProperty?.schema);
+ const propertyDefinition = parseType(
+ putProperty?.schema,
+ getProperty?.schema
+ );
if (propertyDefinition) {
- const description = (putProperty?.schema ?? getProperty?.schema)?.language.default?.description;
- const flags = parsePropertyFlags(putProperty, getProperty, propertyName);
- resourceProperties[propertyName] = createObjectProperty(propertyDefinition, flags, description);
+ const description = (putProperty?.schema ?? getProperty?.schema)
+ ?.language.default?.description;
+ const flags = parsePropertyFlags(
+ putProperty,
+ getProperty,
+ propertyName
+ );
+ resourceProperties[propertyName] = createObjectProperty(
+ propertyDefinition,
+ flags,
+ description
+ );
}
}
if (putSchema?.discriminator || getSchema?.discriminator) {
- const discriminatedObjectType = factory.lookupType(resourceDefinition) as DiscriminatedObjectType;
+ const discriminatedObjectType = factory.lookupType(
+ resourceDefinition
+ ) as DiscriminatedObjectType;
handlePolymorphicType(discriminatedObjectType, putSchema, getSchema);
}
@@ -82,30 +155,40 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return resourceDefinition;
}
- function processResource(fullyQualifiedType: string, definitions: ResourceDefinition[]) {
+ function processResource(
+ fullyQualifiedType: string,
+ definitions: ResourceDefinition[]
+ ) {
if (definitions.length > 1) {
for (const definition of definitions) {
if (!definition.descriptor.constantName) {
- logWarning(`Skipping resource type ${fullyQualifiedType} under path '${definitions[0].putRequest.path}': Found multiple definitions for the same type`);
+ logWarning(
+ `Skipping resource type ${fullyQualifiedType} under path '${definitions[0].putRequest.path}': Found multiple definitions for the same type`
+ );
return null;
}
}
-
+
const polymorphicBodies: Dictionary = {};
for (const definition of definitions) {
const bodyType = processResourceBody(fullyQualifiedType, definition);
if (!bodyType || !definition.descriptor.constantName) {
return null;
}
-
+
polymorphicBodies[definition.descriptor.constantName] = bodyType;
}
- const discriminatedBodyType = factory.addDiscriminatedObjectType(fullyQualifiedType, 'name', {}, polymorphicBodies);
+ const discriminatedBodyType = factory.addDiscriminatedObjectType(
+ fullyQualifiedType,
+ "name",
+ {},
+ polymorphicBodies
+ );
const descriptor = {
...definitions[0].descriptor,
- constantName: undefined,
+ constantName: undefined
};
return {
@@ -121,13 +204,14 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return {
descriptor: definition.descriptor,
- bodyType: bodyType,
+ bodyType: bodyType
};
}
}
function generateTypes() {
- const { resourcesByType, resourceFunctions: resourceFunctionType } = definition;
+ const { resourcesByType, resourceFunctions: resourceFunctionType } =
+ definition;
for (const fullyQualifiedType in resourcesByType) {
const definitions = resourcesByType[fullyQualifiedType];
@@ -139,7 +223,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
const { descriptor, bodyType } = output;
let resourceTypeFunctions: Record = {};
-
+
let actions = resourceFunctionType[fullyQualifiedType];
for (const key in actions) {
let action = actions[key];
@@ -152,72 +236,129 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
}
if (!action.responseSchema) {
- logWarning(`Skipping resource action ${action.actionName} under path '${action.postRequest.path}': failed to find a response schema`);
+ logWarning(
+ `Skipping resource action ${action.actionName} under path '${action.postRequest.path}': failed to find a response schema`
+ );
continue;
}
-
+
const response = parseType(undefined, action.responseSchema);
if (!response) {
continue;
}
- let reference : TypeReference
+ let reference: TypeReference;
if (request === undefined) {
- reference = factory.addFunctionType([], response);
- }
- else {
+ reference = factory.addFunctionType([], response);
+ } else {
// Only add properties if they exist on the request
const reqObj = factory.lookupType(request) as ObjectType;
- let parameters : FunctionParameter[] = [];
+ let parameters: FunctionParameter[] = [];
if (reqObj && reqObj.properties) {
Object.entries(reqObj.properties).forEach(([key, value]) => {
- parameters.push({name: key, type: value.type, description: value.description} as FunctionParameter)
- })
+ parameters.push({
+ name: key,
+ type: value.type,
+ description: value.description
+ } as FunctionParameter);
+ });
}
- reference = factory.addFunctionType(parameters, response)
+ reference = factory.addFunctionType(parameters, response);
}
- resourceTypeFunctions[action.actionName] = {type: reference, description: action.actionName};
+ resourceTypeFunctions[action.actionName] = {
+ type: reference,
+ description: action.actionName
+ };
}
- factory.addResourceType(`${getFullyQualifiedType(descriptor)}@${descriptor.apiVersion}`, descriptor.scopeType, undefined, bodyType, ResourceFlags.None, resourceTypeFunctions);
+ factory.addResourceType(
+ `${getFullyQualifiedType(descriptor)}@${descriptor.apiVersion}`,
+ descriptor.scopeType,
+ undefined,
+ bodyType,
+ ResourceFlags.None,
+ resourceTypeFunctions
+ );
}
return factory.types;
}
- function getStandardizedResourceProperties(descriptor: ResourceDescriptor, resourceName: TypeReference): Dictionary {
- const type = factory.addStringLiteralType(getFullyQualifiedType(descriptor));
+ function getStandardizedResourceProperties(
+ descriptor: ResourceDescriptor,
+ resourceName: TypeReference
+ ): Dictionary {
+ const type = factory.addStringLiteralType(
+ getFullyQualifiedType(descriptor)
+ );
return {
- id: createObjectProperty(factory.addStringType(), ObjectTypePropertyFlags.ReadOnly | ObjectTypePropertyFlags.DeployTimeConstant, 'The resource id'),
- name: createObjectProperty(resourceName, ObjectTypePropertyFlags.Required | ObjectTypePropertyFlags.DeployTimeConstant | ObjectTypePropertyFlags.Identifier, 'The resource name'),
- type: createObjectProperty(type, ObjectTypePropertyFlags.ReadOnly | ObjectTypePropertyFlags.DeployTimeConstant, 'The resource type'),
- apiVersion: createObjectProperty(factory.addStringLiteralType(descriptor.apiVersion), ObjectTypePropertyFlags.ReadOnly | ObjectTypePropertyFlags.DeployTimeConstant, 'The resource api version'),
+ id: createObjectProperty(
+ factory.addStringType(),
+ ObjectTypePropertyFlags.ReadOnly |
+ ObjectTypePropertyFlags.DeployTimeConstant,
+ "The resource id"
+ ),
+ name: createObjectProperty(
+ resourceName,
+ ObjectTypePropertyFlags.Required |
+ ObjectTypePropertyFlags.DeployTimeConstant |
+ ObjectTypePropertyFlags.Identifier,
+ "The resource name"
+ ),
+ type: createObjectProperty(
+ type,
+ ObjectTypePropertyFlags.ReadOnly |
+ ObjectTypePropertyFlags.DeployTimeConstant,
+ "The resource type"
+ ),
+ apiVersion: createObjectProperty(
+ factory.addStringLiteralType(descriptor.apiVersion),
+ ObjectTypePropertyFlags.ReadOnly |
+ ObjectTypePropertyFlags.DeployTimeConstant,
+ "The resource api version"
+ )
};
}
- function createObject(definitionName: string, schema: ObjectSchema, properties: Dictionary, additionalProperties?: TypeReference) {
+ function createObject(
+ definitionName: string,
+ schema: ObjectSchema,
+ properties: Dictionary,
+ additionalProperties?: TypeReference
+ ) {
if (schema.discriminator) {
return factory.addDiscriminatedObjectType(
definitionName,
schema.discriminator.property.serializedName,
properties,
- {});
+ {}
+ );
}
- return factory.addObjectType(definitionName, properties, additionalProperties);
+ return factory.addObjectType(
+ definitionName,
+ properties,
+ additionalProperties
+ );
}
- function combineAndThrowIfNull(putSchema: TSchema | undefined, getSchema: TSchema | undefined) {
+ function combineAndThrowIfNull(
+ putSchema: TSchema | undefined,
+ getSchema: TSchema | undefined
+ ) {
const output = putSchema ?? getSchema;
if (!output) {
- throw 'Unable to find PUT or GET type';
+ throw "Unable to find PUT or GET type";
}
return output;
}
- function getSchemaProperties(schema: ObjectSchema, includeBaseProperties: boolean): Dictionary {
+ function getSchemaProperties(
+ schema: ObjectSchema,
+ includeBaseProperties: boolean
+ ): Dictionary {
const objects = [schema];
if (includeBaseProperties) {
for (const parent of schema.parents?.all || []) {
@@ -227,21 +368,39 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
}
}
- return keyBy(flatMap(objects, o => o.properties || []), p => p.serializedName);
+ return keyBy(
+ flatMap(objects, (o) => o.properties || []),
+ (p) => p.serializedName
+ );
}
- function* getObjectTypeProperties(putSchema: ObjectSchema | undefined, getSchema: ObjectSchema | undefined, includeBaseProperties: boolean) {
- const putProperties = putSchema ? getSchemaProperties(putSchema, includeBaseProperties) : {};
- const getProperties = getSchema ? getSchemaProperties(getSchema, includeBaseProperties) : {};
-
- for (const propertyName of uniq([...keys(putProperties), ...keys(getProperties)])) {
- if ((putSchema?.discriminator?.property && putSchema.discriminator.property === putProperties[propertyName]) ||
- (getSchema?.discriminator?.property && getSchema.discriminator.property === getProperties[propertyName])) {
+ function* getObjectTypeProperties(
+ putSchema: ObjectSchema | undefined,
+ getSchema: ObjectSchema | undefined,
+ includeBaseProperties: boolean
+ ) {
+ const putProperties = putSchema
+ ? getSchemaProperties(putSchema, includeBaseProperties)
+ : {};
+ const getProperties = getSchema
+ ? getSchemaProperties(getSchema, includeBaseProperties)
+ : {};
+
+ for (const propertyName of uniq([
+ ...keys(putProperties),
+ ...keys(getProperties)
+ ])) {
+ if (
+ (putSchema?.discriminator?.property &&
+ putSchema.discriminator.property === putProperties[propertyName]) ||
+ (getSchema?.discriminator?.property &&
+ getSchema.discriminator.property === getProperties[propertyName])
+ ) {
continue;
}
- const putProperty = putProperties[propertyName] as Property | undefined
- const getProperty = getProperties[propertyName] as Property | undefined
+ const putProperty = putProperties[propertyName] as Property | undefined;
+ const getProperty = getProperties[propertyName] as Property | undefined;
yield { propertyName, putProperty, getProperty };
}
@@ -265,7 +424,10 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
continue;
}
- if (schema.discriminator.property.serializedName !== value.discriminator.property.serializedName) {
+ if (
+ schema.discriminator.property.serializedName !==
+ value.discriminator.property.serializedName
+ ) {
throw `Unable to flatten discriminated properties - schemas '${getSerializedName(schema)}' and '${getSerializedName(value)}' have conflicting discriminators '${schema.discriminator.property.serializedName}' and '${value.discriminator.property.serializedName}'`;
}
@@ -278,44 +440,69 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return output;
}
- function* getDiscriminatedSubTypes(putSchema: ObjectSchema | undefined, getSchema: ObjectSchema | undefined) {
+ function* getDiscriminatedSubTypes(
+ putSchema: ObjectSchema | undefined,
+ getSchema: ObjectSchema | undefined
+ ) {
const putSubTypes = flattenDiscriminatorSubTypes(putSchema);
const getSubTypes = flattenDiscriminatorSubTypes(getSchema);
- for (const subTypeName of uniq([...keys(putSubTypes), ...keys(getSubTypes)])) {
- yield {
+ for (const subTypeName of uniq([
+ ...keys(putSubTypes),
+ ...keys(getSubTypes)
+ ])) {
+ yield {
subTypeName,
putSubType: putSubTypes[subTypeName],
- getSubType: getSubTypes[subTypeName],
+ getSubType: getSubTypes[subTypeName]
};
}
}
- function parseType(putSchema: Schema | undefined, getSchema: Schema | undefined): TypeReference | undefined {
+ function parseType(
+ putSchema: Schema | undefined,
+ getSchema: Schema | undefined
+ ): TypeReference | undefined {
const combinedSchema = combineAndThrowIfNull(putSchema, getSchema);
// A schema that matches a JSON object with specific properties, such as
// { "name": { "type": "string" }, "age": { "type": "number" } }
if (combinedSchema instanceof ObjectSchema) {
- return parseObjectType(putSchema as ObjectSchema, getSchema as ObjectSchema, true);
+ return parseObjectType(
+ putSchema as ObjectSchema,
+ getSchema as ObjectSchema,
+ true
+ );
}
// A schema that matches a "dictionary" JSON object, such as
// { "additionalProperties": { "type": "string" } }
if (combinedSchema instanceof DictionarySchema) {
- return parseDictionaryType(putSchema as DictionarySchema, getSchema as DictionarySchema);
+ return parseDictionaryType(
+ putSchema as DictionarySchema,
+ getSchema as DictionarySchema
+ );
}
// A schema that matches a single value from a given set of values, such as
// { "enum": [ "a", "b" ] }
if (combinedSchema instanceof ChoiceSchema) {
- return parseEnumType(putSchema as ChoiceSchema, getSchema as ChoiceSchema);
+ return parseEnumType(
+ putSchema as ChoiceSchema,
+ getSchema as ChoiceSchema
+ );
}
if (combinedSchema instanceof SealedChoiceSchema) {
- return parseEnumType(putSchema as SealedChoiceSchema, getSchema as SealedChoiceSchema);
+ return parseEnumType(
+ putSchema as SealedChoiceSchema,
+ getSchema as SealedChoiceSchema
+ );
}
if (combinedSchema instanceof ConstantSchema) {
- return parseConstant(putSchema as ConstantSchema, getSchema as ConstantSchema);
+ return parseConstant(
+ putSchema as ConstantSchema,
+ getSchema as ConstantSchema
+ );
}
// A schema that matches an array of values, such as
@@ -326,7 +513,10 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
// A schema that matches simple values, such as { "type": "number" }
if (combinedSchema instanceof PrimitiveSchema) {
- return parsePrimaryType(putSchema as PrimitiveSchema, getSchema as PrimitiveSchema);
+ return parsePrimaryType(
+ putSchema as PrimitiveSchema,
+ getSchema as PrimitiveSchema
+ );
}
// The 'any' type
@@ -334,7 +524,9 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return factory.addAnyType();
}
- logWarning(`Unrecognized property type: ${combinedSchema.type}. Returning 'any'.`);
+ logWarning(
+ `Unrecognized property type: ${combinedSchema.type}. Returning 'any'.`
+ );
return factory.addAnyType();
}
@@ -344,8 +536,9 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return ObjectTypePropertyFlags.None;
}
- const writable = mutability.includes('create') || mutability.includes('update');
- const readable = mutability.includes('read');
+ const writable =
+ mutability.includes("create") || mutability.includes("update");
+ const readable = mutability.includes("read");
if (writable && !readable) {
return ObjectTypePropertyFlags.WriteOnly;
@@ -358,15 +551,19 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return ObjectTypePropertyFlags.None;
}
- function parsePropertyFlags(putProperty: Property | undefined, getProperty: Property | undefined, propertyName?: string) {
+ function parsePropertyFlags(
+ putProperty: Property | undefined,
+ getProperty: Property | undefined,
+ propertyName?: string
+ ) {
let flags = ObjectTypePropertyFlags.None;
if (putProperty && putProperty.required) {
// 'location' is not a required property on resources but can be a required property on other nested types
// We need to update the property flag to not be required if we're processing a top-level 'location' property
// If propertyName is provided, then we are processing a top-level property and need to check if the property name is 'location'
- // If propertyName is not provided, then we are not processing a top-level property and can proceed with no changes
- if (!propertyName || propertyName !== 'location') {
+ // If propertyName is not provided, then we are not processing a top-level property and can proceed with no changes
+ if (!propertyName || propertyName !== "location") {
flags |= ObjectTypePropertyFlags.Required;
}
}
@@ -386,7 +583,10 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return flags;
}
- function parsePrimaryType(putSchema: PrimitiveSchema | undefined, getSchema: PrimitiveSchema | undefined) {
+ function parsePrimaryType(
+ putSchema: PrimitiveSchema | undefined,
+ getSchema: PrimitiveSchema | undefined
+ ) {
const combinedSchema = combineAndThrowIfNull(putSchema, getSchema);
switch (combinedSchema.type) {
@@ -399,7 +599,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
case SchemaType.Object:
return factory.addAnyType();
case SchemaType.ByteArray:
- return factory.addArrayType(factory.addAnyType());
+ return factory.addArrayType(factory.addAnyType());
case SchemaType.Uri:
case SchemaType.Date:
case SchemaType.DateTime:
@@ -410,13 +610,22 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
case SchemaType.Credential:
return factory.addStringType();
default:
- logWarning(`Unrecognized known property type: "${combinedSchema.type}"`);
+ logWarning(
+ `Unrecognized known property type: "${combinedSchema.type}"`
+ );
return factory.addAnyType();
}
}
- function handlePolymorphicType(discriminatedObjectType: DiscriminatedObjectType, putSchema?: ObjectSchema, getSchema?: ObjectSchema) {
- for (const { putSubType, getSubType } of getDiscriminatedSubTypes(putSchema, getSchema)) {
+ function handlePolymorphicType(
+ discriminatedObjectType: DiscriminatedObjectType,
+ putSchema?: ObjectSchema,
+ getSchema?: ObjectSchema
+ ) {
+ for (const { putSubType, getSubType } of getDiscriminatedSubTypes(
+ putSchema,
+ getSchema
+ )) {
const combinedSubType = combineAndThrowIfNull(putSubType, getSubType);
if (!combinedSubType.discriminatorValue) {
@@ -426,21 +635,31 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
const objectTypeRef = parseObjectType(putSubType, getSubType, false);
const objectType = factory.lookupType(objectTypeRef);
if (objectType.type !== TypeBaseKind.ObjectType) {
- logWarning(`Found unexpected element of discriminated type '${discriminatedObjectType.name}'`)
+ logWarning(
+ `Found unexpected element of discriminated type '${discriminatedObjectType.name}'`
+ );
continue;
}
- discriminatedObjectType.elements[combinedSubType.discriminatorValue] = objectTypeRef;
+ discriminatedObjectType.elements[combinedSubType.discriminatorValue] =
+ objectTypeRef;
- const description = (putSchema ?? getSchema)?.discriminator?.property.language.default.description;
- objectType.properties[discriminatedObjectType.discriminator] = createObjectProperty(
- factory.addStringLiteralType(combinedSubType.discriminatorValue),
- ObjectTypePropertyFlags.Required,
- description);
+ const description = (putSchema ?? getSchema)?.discriminator?.property
+ .language.default.description;
+ objectType.properties[discriminatedObjectType.discriminator] =
+ createObjectProperty(
+ factory.addStringLiteralType(combinedSubType.discriminatorValue),
+ ObjectTypePropertyFlags.Required,
+ description
+ );
}
}
- function parseObjectType(putSchema: ObjectSchema | undefined, getSchema: ObjectSchema | undefined, includeBaseProperties: boolean) {
+ function parseObjectType(
+ putSchema: ObjectSchema | undefined,
+ getSchema: ObjectSchema | undefined,
+ includeBaseProperties: boolean
+ ) {
const combinedSchema = combineAndThrowIfNull(putSchema, getSchema);
const definitionName = getSerializedName(combinedSchema);
@@ -449,35 +668,61 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
// so construct the type on-the-fly, and don't cache it globally
return namedDefinitions[definitionName];
}
-
+
let additionalProperties: TypeReference | undefined;
if (includeBaseProperties) {
- const putParentDictionary = (putSchema?.parents?.all || []).filter(x => x instanceof DictionarySchema).map(x => x as DictionarySchema)[0];
- const getParentDictionary = (getSchema?.parents?.all || []).filter(x => x instanceof DictionarySchema).map(x => x as DictionarySchema)[0];
+ const putParentDictionary = (putSchema?.parents?.all || [])
+ .filter((x) => x instanceof DictionarySchema)
+ .map((x) => x as DictionarySchema)[0];
+ const getParentDictionary = (getSchema?.parents?.all || [])
+ .filter((x) => x instanceof DictionarySchema)
+ .map((x) => x as DictionarySchema)[0];
if (putParentDictionary || getParentDictionary) {
- additionalProperties = parseType(putParentDictionary?.elementType, getParentDictionary?.elementType);
+ additionalProperties = parseType(
+ putParentDictionary?.elementType,
+ getParentDictionary?.elementType
+ );
}
}
const definitionProperties: Dictionary = {};
- const definition = createObject(definitionName, combinedSchema, definitionProperties, additionalProperties);
+ const definition = createObject(
+ definitionName,
+ combinedSchema,
+ definitionProperties,
+ additionalProperties
+ );
if (includeBaseProperties) {
// cache the definition so that it can be re-used
namedDefinitions[definitionName] = definition;
}
- for (const { propertyName, putProperty, getProperty } of getObjectTypeProperties(putSchema, getSchema, includeBaseProperties)) {
- const propertyDefinition = parseType(putProperty?.schema, getProperty?.schema);
+ for (const {
+ propertyName,
+ putProperty,
+ getProperty
+ } of getObjectTypeProperties(putSchema, getSchema, includeBaseProperties)) {
+ const propertyDefinition = parseType(
+ putProperty?.schema,
+ getProperty?.schema
+ );
if (propertyDefinition) {
- const description = (putProperty?.schema ?? getProperty?.schema)?.language.default?.description;
+ const description = (putProperty?.schema ?? getProperty?.schema)
+ ?.language.default?.description;
const flags = parsePropertyFlags(putProperty, getProperty);
- definitionProperties[propertyName] = createObjectProperty(propertyDefinition, flags, description);
+ definitionProperties[propertyName] = createObjectProperty(
+ propertyDefinition,
+ flags,
+ description
+ );
}
}
if (combinedSchema.discriminator) {
- const discriminatedObjectType = factory.lookupType(definition) as DiscriminatedObjectType;
+ const discriminatedObjectType = factory.lookupType(
+ definition
+ ) as DiscriminatedObjectType;
handlePolymorphicType(discriminatedObjectType, putSchema, getSchema);
}
@@ -485,7 +730,10 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return definition;
}
- function parseEnumType(putSchema: ChoiceSchema | SealedChoiceSchema | undefined, getSchema: ChoiceSchema | SealedChoiceSchema | undefined) {
+ function parseEnumType(
+ putSchema: ChoiceSchema | SealedChoiceSchema | undefined,
+ getSchema: ChoiceSchema | SealedChoiceSchema | undefined
+ ) {
const combinedSchema = combineAndThrowIfNull(putSchema, getSchema);
if (!(combinedSchema.choiceType instanceof StringSchema)) {
@@ -495,7 +743,9 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
const enumTypes = [];
for (const enumValue of combinedSchema.choices) {
- const stringLiteralType = factory.addStringLiteralType(enumValue.value.toString());
+ const stringLiteralType = factory.addStringLiteralType(
+ enumValue.value.toString()
+ );
enumTypes.push(stringLiteralType);
}
@@ -506,21 +756,37 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return factory.addUnionType(enumTypes);
}
- function parseConstant(putSchema: ConstantSchema | undefined, getSchema: ConstantSchema | undefined) {
+ function parseConstant(
+ putSchema: ConstantSchema | undefined,
+ getSchema: ConstantSchema | undefined
+ ) {
const combinedSchema = combineAndThrowIfNull(putSchema, getSchema);
const constantValue = combinedSchema.value;
return factory.addStringLiteralType(constantValue.value.toString());
}
- function parseDictionaryType(putSchema: DictionarySchema | undefined, getSchema: DictionarySchema | undefined) {
+ function parseDictionaryType(
+ putSchema: DictionarySchema | undefined,
+ getSchema: DictionarySchema | undefined
+ ) {
const combinedSchema = combineAndThrowIfNull(putSchema, getSchema);
- const additionalPropertiesType = parseType(putSchema?.elementType, getSchema?.elementType);
-
- return factory.addObjectType(getSerializedName(combinedSchema), {}, additionalPropertiesType);
+ const additionalPropertiesType = parseType(
+ putSchema?.elementType,
+ getSchema?.elementType
+ );
+
+ return factory.addObjectType(
+ getSerializedName(combinedSchema),
+ {},
+ additionalPropertiesType
+ );
}
- function parseArrayType(putSchema: ArraySchema | undefined, getSchema: ArraySchema | undefined) {
+ function parseArrayType(
+ putSchema: ArraySchema | undefined,
+ getSchema: ArraySchema | undefined
+ ) {
const itemType = parseType(putSchema?.elementType, getSchema?.elementType);
if (!itemType) {
return factory.addArrayType(factory.addAnyType());
@@ -529,9 +795,17 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD
return factory.addArrayType(itemType);
}
- function createObjectProperty(type: TypeReference, flags: ObjectTypePropertyFlags, description?: string): ObjectTypeProperty {
- return {type: type, flags: flags, description: description?.trim() || undefined};
+ function createObjectProperty(
+ type: TypeReference,
+ flags: ObjectTypePropertyFlags,
+ description?: string
+ ): ObjectTypeProperty {
+ return {
+ type: type,
+ flags: flags,
+ description: description?.trim() || undefined
+ };
}
return generateTypes();
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/utils.ts b/hack/bicep-types-radius/src/autorest.bicep/src/utils.ts
index b9830f2cad1..46955caa3d8 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/src/utils.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/src/utils.ts
@@ -14,21 +14,21 @@
// limitations under the License.
// ------------------------------------------------------------.
export interface SuccessResult {
- success: true,
- value: V,
+ success: true;
+ value: V;
}
export interface FailureResult {
- success: false,
- error: E,
+ success: false;
+ error: E;
}
-export type Result = SuccessResult | FailureResult
+export type Result = SuccessResult | FailureResult;
export function success(value: V): SuccessResult {
- return { success: true, value, };
+ return { success: true, value };
}
export function failure(error: E): FailureResult {
- return { success: false, error, };
-}
\ No newline at end of file
+ return { success: false, error };
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts b/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts
index cffbe66c6a4..32d7254e04a 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts
@@ -13,21 +13,48 @@
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------.
-import { Dictionary, filter, keys, orderBy } from 'lodash';
-import { ArrayType, BuiltInType, DiscriminatedObjectType, getBuiltInTypeKindLabel, getObjectTypePropertyFlagsLabels, ObjectTypeProperty, ObjectType, ResourceFunctionType, ResourceType, StringLiteralType, BicepType, TypeBaseKind, TypeReference, UnionType, IntegerType, StringType } from 'bicep-types';
-
-export function writeTableMarkdown(provider: string, apiVersion: string, resourceTypes: ResourceType[], types: BicepType[]) {
- let output = '';
-
- function getTypeName(types: BicepType[], typeReference: TypeReference): string {
+import { Dictionary, filter, keys, orderBy } from "lodash";
+import {
+ ArrayType,
+ BuiltInType,
+ DiscriminatedObjectType,
+ getBuiltInTypeKindLabel,
+ getObjectTypePropertyFlagsLabels,
+ ObjectTypeProperty,
+ ObjectType,
+ ResourceFunctionType,
+ ResourceType,
+ StringLiteralType,
+ BicepType,
+ TypeBaseKind,
+ TypeReference,
+ UnionType,
+ IntegerType,
+ StringType
+} from "bicep-types";
+
+export function writeTableMarkdown(
+ provider: string,
+ apiVersion: string,
+ resourceTypes: ResourceType[],
+ types: BicepType[]
+) {
+ let output = "";
+
+ function getTypeName(
+ types: BicepType[],
+ typeReference: TypeReference
+ ): string {
const type = types[typeReference.index];
switch (type.type) {
case TypeBaseKind.BuiltInType:
- return getBuiltInTypeKindLabel((type as BuiltInType).kind).toLowerCase();
+ return getBuiltInTypeKindLabel(
+ (type as BuiltInType).kind
+ ).toLowerCase();
case TypeBaseKind.ObjectType:
return generateAnchorLink((type as ObjectType).name);
case TypeBaseKind.ArrayType:
- return getArrayTypeName(types, (type as ArrayType));
+ return getArrayTypeName(types, type as ArrayType);
case TypeBaseKind.ResourceType:
return (type as ResourceType).name;
case TypeBaseKind.ResourceFunctionType: {
@@ -35,19 +62,21 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
return `${functionType.name} (${functionType.resourceType}@${functionType.apiVersion})`;
}
case TypeBaseKind.UnionType: {
- const elements = (type as UnionType).elements.map(x => getTypeName(types, x));
- return elements.sort().join(' | ');
+ const elements = (type as UnionType).elements.map((x) =>
+ getTypeName(types, x)
+ );
+ return elements.sort().join(" | ");
}
case TypeBaseKind.StringLiteralType:
return `'${(type as StringLiteralType).value}'`;
case TypeBaseKind.DiscriminatedObjectType:
return generateAnchorLink((type as DiscriminatedObjectType).name);
case TypeBaseKind.AnyType:
- return 'any';
+ return "any";
case TypeBaseKind.NullType:
- return 'null';
+ return "null";
case TypeBaseKind.BooleanType:
- return 'bool';
+ return "bool";
case TypeBaseKind.IntegerType:
return `int${getIntegerModifiers(type as IntegerType)}`;
case TypeBaseKind.StringType:
@@ -57,11 +86,9 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
}
}
- function getArrayTypeName(types: BicepType[], type: ArrayType): string
- {
+ function getArrayTypeName(types: BicepType[], type: ArrayType): string {
let itemTypeName = getTypeName(types, type.itemType);
- if (itemTypeName.indexOf(' ') != -1)
- {
+ if (itemTypeName.indexOf(" ") != -1) {
itemTypeName = `(${itemTypeName})`;
}
@@ -69,27 +96,43 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
}
function generateAnchorLink(name: string) {
- return `[${name}](#${name.replace(/[^a-zA-Z0-9-]/g, '').toLowerCase()})`;
+ return `[${name}](#${name.replace(/[^a-zA-Z0-9-]/g, "").toLowerCase()})`;
}
- function writeTypeProperty(types: BicepType[], name: string, property: ObjectTypeProperty) {
- const flagsString = property.flags ? `${getObjectTypePropertyFlagsLabels(property.flags).join(', ')}` : '';
- const descriptionString = property.description ? property.description : '';
- writeTableEntry(name, getTypeName(types, property.type), flagsString, descriptionString);
+ function writeTypeProperty(
+ types: BicepType[],
+ name: string,
+ property: ObjectTypeProperty
+ ) {
+ const flagsString = property.flags
+ ? `${getObjectTypePropertyFlagsLabels(property.flags).join(", ")}`
+ : "";
+ const descriptionString = property.description ? property.description : "";
+ writeTableEntry(
+ name,
+ getTypeName(types, property.type),
+ flagsString,
+ descriptionString
+ );
}
- function writeTableHeading(){
+ function writeTableHeading() {
output += `| Property | Type | Description |\n`;
output += `|----------|------|-------------|\n`;
}
- function writeTableEntry(name: string, type: string, flags: string, description: string){
- const flagString = flags ? `]
_(${flags})_ ` : '';
+ function writeTableEntry(
+ name: string,
+ type: string,
+ flags: string,
+ description: string
+ ) {
+ const flagString = flags ? `
_(${flags})_ ` : "";
output += `| **${name}** | ${type} | ${description} ${flagString}|\n`;
}
function writeHeading(nesting: number, message: string) {
- output += `${'#'.repeat(nesting)} ${message}`;
+ output += `${"#".repeat(nesting)} ${message}`;
writeNewLine();
}
@@ -102,11 +145,18 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
}
function writeNewLine() {
- output += '\n';
+ output += "\n";
}
- function findTypesToWrite(types: BicepType[], typesToWrite: BicepType[], typeReference: TypeReference) {
- function processTypeLinks(typeReference: TypeReference, skipParent: boolean) {
+ function findTypesToWrite(
+ types: BicepType[],
+ typesToWrite: BicepType[],
+ typeReference: TypeReference
+ ) {
+ function processTypeLinks(
+ typeReference: TypeReference,
+ skipParent: boolean
+ ) {
// this is needed to avoid circular type references causing stack overflows
if (typesToWrite.indexOf(types[typeReference.index]) === -1) {
if (!skipParent) {
@@ -142,7 +192,10 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
const discriminatedObjectType = type as DiscriminatedObjectType;
for (const key of sortedKeys(discriminatedObjectType.baseProperties)) {
- processTypeLinks(discriminatedObjectType.baseProperties[key].type, false);
+ processTypeLinks(
+ discriminatedObjectType.baseProperties[key].type,
+ false
+ );
}
for (const key of sortedKeys(discriminatedObjectType.elements)) {
@@ -157,10 +210,15 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
}
function sortedKeys(dictionary: Dictionary) {
- return orderBy(keys(dictionary), k => k.toLowerCase(), 'asc');
+ return orderBy(keys(dictionary), (k) => k.toLowerCase(), "asc");
}
- function writeComplexType(types: BicepType[], type: BicepType, nesting: number, includeHeader: boolean) {
+ function writeComplexType(
+ types: BicepType[],
+ type: BicepType,
+ nesting: number,
+ includeHeader: boolean
+ ) {
switch (type.type) {
case TypeBaseKind.ResourceType: {
const resourceType = type as ResourceType;
@@ -173,7 +231,10 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
}
case TypeBaseKind.ResourceFunctionType: {
const resourceFunctionType = type as ResourceFunctionType;
- writeHeading(nesting, `Function ${resourceFunctionType.name} (${resourceFunctionType.resourceType}@${resourceFunctionType.apiVersion})`);
+ writeHeading(
+ nesting,
+ `Function ${resourceFunctionType.name} (${resourceFunctionType.resourceType}@${resourceFunctionType.apiVersion})`
+ );
writeNewLine();
writeBullet("Resource", resourceFunctionType.resourceType);
writeBullet("ApiVersion", resourceFunctionType.apiVersion);
@@ -198,8 +259,7 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
if (Object.keys(objectType.properties).length === 0) {
writeBullet("none", "");
writeNewLine();
- }
- else {
+ } else {
writeTableHeading();
for (const key of sortedKeys(objectType.properties)) {
writeTypeProperty(types, key, objectType.properties[key]);
@@ -209,7 +269,10 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
if (objectType.additionalProperties) {
writeHeading(nesting + 1, "Additional Properties");
writeNewLine();
- writeBullet("Additional Properties Type", getTypeName(types, objectType.additionalProperties));
+ writeBullet(
+ "Additional Properties Type",
+ getTypeName(types, objectType.additionalProperties)
+ );
}
writeNewLine();
@@ -230,16 +293,21 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
if (Object.keys(discriminatedObjectType.baseProperties).length === 0) {
writeBullet("none", "");
writeNewLine();
- }
- else {
+ } else {
writeTableHeading();
- for (const propertyName of sortedKeys(discriminatedObjectType.baseProperties)) {
- writeTypeProperty(types, propertyName, discriminatedObjectType.baseProperties[propertyName]);
+ for (const propertyName of sortedKeys(
+ discriminatedObjectType.baseProperties
+ )) {
+ writeTypeProperty(
+ types,
+ propertyName,
+ discriminatedObjectType.baseProperties[propertyName]
+ );
}
}
writeNewLine();
-
+
for (const key of sortedKeys(discriminatedObjectType.elements)) {
const element = discriminatedObjectType.elements[key];
writeComplexType(types, types[element.index], nesting + 1, true);
@@ -251,11 +319,27 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
}
}
- function generateMarkdown(provider: string, apiVersion: string, types: BicepType[]) {
-
- const resourceFunctionTypes = orderBy(types.filter(t => t.type == TypeBaseKind.ResourceFunctionType) as ResourceFunctionType[], x => x.name.split('@')[0].toLowerCase());
- const filteredFunctionTypes = resourceFunctionTypes.filter(x => resourceTypes.some(y => x.resourceType.toLowerCase() === y.name.split('@')[0].toLowerCase()));
- const typesToWrite: BicepType[] = [...resourceTypes, ...filteredFunctionTypes];
+ function generateMarkdown(
+ provider: string,
+ apiVersion: string,
+ types: BicepType[]
+ ) {
+ const resourceFunctionTypes = orderBy(
+ types.filter(
+ (t) => t.type == TypeBaseKind.ResourceFunctionType
+ ) as ResourceFunctionType[],
+ (x) => x.name.split("@")[0].toLowerCase()
+ );
+ const filteredFunctionTypes = resourceFunctionTypes.filter((x) =>
+ resourceTypes.some(
+ (y) =>
+ x.resourceType.toLowerCase() === y.name.split("@")[0].toLowerCase()
+ )
+ );
+ const typesToWrite: BicepType[] = [
+ ...resourceTypes,
+ ...filteredFunctionTypes
+ ];
for (const resourceType of resourceTypes) {
findTypesToWrite(types, typesToWrite, resourceType.body);
@@ -280,22 +364,25 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc
return generateMarkdown(provider, apiVersion, types);
}
-function getIntegerModifiers(type: IntegerType): string
-{
- return formatModifiers(type.minValue !== undefined ? `minValue: ${type.minValue}` : undefined,
- type.maxValue !== undefined ? `maxValue: ${type.maxValue}` : undefined);
+function getIntegerModifiers(type: IntegerType): string {
+ return formatModifiers(
+ type.minValue !== undefined ? `minValue: ${type.minValue}` : undefined,
+ type.maxValue !== undefined ? `maxValue: ${type.maxValue}` : undefined
+ );
}
-function getStringModifiers(type: StringType): string
-{
- return formatModifiers(type.sensitive ? 'sensitive' : undefined,
+function getStringModifiers(type: StringType): string {
+ return formatModifiers(
+ type.sensitive ? "sensitive" : undefined,
type.minLength !== undefined ? `minLength: ${type.minLength}` : undefined,
type.maxLength !== undefined ? `maxLength: ${type.maxLength}` : undefined,
- type.pattern !== undefined ? `pattern: "${type.pattern.replace('"', '\\"')}"` : undefined);
+ type.pattern !== undefined
+ ? `pattern: "${type.pattern.replace('"', '\\"')}"`
+ : undefined
+ );
}
-function formatModifiers(...modifiers: Array): string
-{
- const modifierString = modifiers.filter(modifier => !!modifier).join(', ');
+function formatModifiers(...modifiers: Array): string {
+ const modifierString = modifiers.filter((modifier) => !!modifier).join(", ");
return modifierString.length > 0 ? ` {${modifierString}}` : modifierString;
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json
index 9ce01f9846e..362adb02d82 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json
@@ -309,4 +309,4 @@
}
}
}
-]
\ No newline at end of file
+]
diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/integration.test.ts b/hack/bicep-types-radius/src/autorest.bicep/test/integration/integration.test.ts
index 4c0b322c14f..29f7298e428 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/integration.test.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/integration.test.ts
@@ -13,52 +13,57 @@
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------.
-import os from 'os';
-import path from 'path';
-import { rm, mkdir } from 'fs/promises';
-import { compare } from 'dir-compare';
-import { defaultLogger, executeCmd, ILogger } from './utils';
+import os from "os";
+import path from "path";
+import { rm, mkdir } from "fs/promises";
+import { compare } from "dir-compare";
+import { defaultLogger, executeCmd, ILogger } from "./utils";
const extensionDir = path.resolve(`${__dirname}/../../`);
-const autorestBinary = os.platform() === 'win32' ? 'autorest.cmd' : 'autorest';
+const autorestBinary = os.platform() === "win32" ? "autorest.cmd" : "autorest";
const outputBaseDir = `${__dirname}/generated`;
-async function generateSchema(logger: ILogger, readme: string, outputBaseDir: string, verbose: boolean, waitForDebugger: boolean) {
+async function generateSchema(
+ logger: ILogger,
+ readme: string,
+ outputBaseDir: string,
+ verbose: boolean,
+ waitForDebugger: boolean
+) {
let autoRestParams = [
`--use=@autorest/modelerfour`,
`--use=${extensionDir}`,
- '--bicep',
+ "--bicep",
`--output-folder=${outputBaseDir}`,
`--multiapi`,
- '--title=none',
+ "--title=none",
// This is necessary to avoid failures such as "ERROR: Semantic violation: Discriminator must be a required property." blocking type generation.
// In an ideal world, we'd raise issues in https://github.com/Azure/azure-rest-api-specs and force RP teams to fix them, but this isn't very practical
- // as new validations are added continuously, and there's often quite a lag before teams will fix them - we don't want to be blocked by this in generating types.
+ // as new validations are added continuously, and there's often quite a lag before teams will fix them - we don't want to be blocked by this in generating types.
`--skip-semantics-validation`,
- readme,
+ readme
];
if (verbose) {
- autoRestParams = autoRestParams.concat([
- `--debug`,
- `--verbose`,
- ]);
+ autoRestParams = autoRestParams.concat([`--debug`, `--verbose`]);
}
if (waitForDebugger) {
- autoRestParams = autoRestParams.concat([
- `--bicep.debugger`,
- ]);
+ autoRestParams = autoRestParams.concat([`--bicep.debugger`]);
}
- return await executeCmd(logger, verbose, __dirname, autorestBinary, autoRestParams);
+ return await executeCmd(
+ logger,
+ verbose,
+ __dirname,
+ autorestBinary,
+ autoRestParams
+ );
}
-describe('integration tests', () => {
+describe("integration tests", () => {
// add any new spec paths under ./specs to this list
- const specs = [
- `basic`,
- ]
+ const specs = [`basic`];
// set to true to overwrite baselines
const record = false;
@@ -68,19 +73,36 @@ describe('integration tests', () => {
for (const spec of specs) {
it(spec, async () => {
- const readmePath = path.join(__dirname, `specs/${spec}/resource-manager/README.md`);
+ const readmePath = path.join(
+ __dirname,
+ `specs/${spec}/resource-manager/README.md`
+ );
const outputDir = `${outputBaseDir}/${spec}`;
if (record) {
- await rm(outputDir, { recursive: true, force: true, });
- await generateSchema(defaultLogger, readmePath, outputDir, false, false);
+ await rm(outputDir, { recursive: true, force: true });
+ await generateSchema(
+ defaultLogger,
+ readmePath,
+ outputDir,
+ false,
+ false
+ );
} else {
const stagingOutputDir = `${__dirname}/temp/${spec}`;
- await rm(stagingOutputDir, { recursive: true, force: true, });
-
- await generateSchema(defaultLogger, readmePath, stagingOutputDir, false, false);
-
- const compareResult = await compare(stagingOutputDir, outputDir, { compareContent: true });
+ await rm(stagingOutputDir, { recursive: true, force: true });
+
+ await generateSchema(
+ defaultLogger,
+ readmePath,
+ stagingOutputDir,
+ false,
+ false
+ );
+
+ const compareResult = await compare(stagingOutputDir, outputDir, {
+ compareContent: true
+ });
// Assert that the generated files match the baseline files which have been checked in.
// Set 'record' to true to run the tests in record mode and overwrite baselines.
@@ -88,4 +110,4 @@ describe('integration tests', () => {
}
});
}
-});
\ No newline at end of file
+});
diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/basic/resource-manager/Test.Rp1/stable/2021-10-31/spec.json b/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/basic/resource-manager/Test.Rp1/stable/2021-10-31/spec.json
index bea5a33037e..9be000c53f7 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/basic/resource-manager/Test.Rp1/stable/2021-10-31/spec.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/basic/resource-manager/Test.Rp1/stable/2021-10-31/spec.json
@@ -1,7 +1,5 @@
{
- "schemes": [
- "https"
- ],
+ "schemes": ["https"],
"swagger": "2.0",
"info": {
"title": "Test.Rp1 spec",
@@ -9,12 +7,8 @@
"version": "2021-10-31"
},
"host": "management.azure.com",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
@@ -51,10 +45,7 @@
},
"stringEnum": {
"type": "string",
- "enum": [
- "Foo",
- "Bar"
- ],
+ "enum": ["Foo", "Bar"],
"x-ms-enum": {
"name": "StringEnum",
"values": [
@@ -89,9 +80,7 @@
"description": "The foo request string"
}
},
- "required": [
- "someString"
- ]
+ "required": ["someString"]
},
"ArrayOfFoosResponse": {
"type": "array",
@@ -296,4 +285,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/common-types/resource-management/v3/types.json b/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/common-types/resource-management/v3/types.json
index 6611e1a5615..fae25ed0096 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/common-types/resource-management/v3/types.json
+++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/common-types/resource-management/v3/types.json
@@ -63,25 +63,16 @@
"additionalProperties": {
"type": "string"
},
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "Resource tags."
},
"location": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "The geo-location where the resource lives"
}
},
- "required": [
- "location"
- ],
+ "required": ["location"],
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -105,9 +96,7 @@
"id": {
"readOnly": true,
"type": "string",
- "x-ms-mutability": [
- "read"
- ],
+ "x-ms-mutability": ["read"],
"description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
@@ -118,34 +107,22 @@
"type": {
"readOnly": true,
"type": "string",
- "x-ms-mutability": [
- "read"
- ],
+ "x-ms-mutability": ["read"],
"description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
},
"location": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "The geo-location where the resource lives"
},
"managedBy": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
},
"kind": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.",
"pattern": "^[-\\w\\._,\\(\\)]+$"
},
@@ -159,11 +136,7 @@
"additionalProperties": {
"type": "string"
},
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "Resource tags."
},
"identity": {
@@ -192,12 +165,7 @@
},
"SkuTier": {
"type": "string",
- "enum": [
- "Free",
- "Basic",
- "Standard",
- "Premium"
- ],
+ "enum": ["Free", "Basic", "Standard", "Premium"],
"x-ms-enum": {
"name": "SkuTier",
"modelAsString": false
@@ -229,9 +197,7 @@
"description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
}
},
- "required": [
- "name"
- ]
+ "required": ["name"]
},
"Identity": {
"description": "Identity for the resource.",
@@ -250,9 +216,7 @@
"type": {
"type": "string",
"description": "The identity type.",
- "enum": [
- "SystemAssigned"
- ],
+ "enum": ["SystemAssigned"],
"x-ms-enum": {
"name": "ResourceIdentityType",
"modelAsString": false
@@ -285,11 +249,7 @@
}
},
"description": "Plan for the resource.",
- "required": [
- "name",
- "publisher",
- "product"
- ]
+ "required": ["name", "publisher", "product"]
},
"ErrorDetail": {
"description": "The error detail.",
@@ -400,11 +360,7 @@
"description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
"type": "string",
"readOnly": true,
- "enum": [
- "user",
- "system",
- "user,system"
- ],
+ "enum": ["user", "system", "user,system"],
"x-ms-enum": {
"name": "Origin",
"modelAsString": true
@@ -414,9 +370,7 @@
"description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
"type": "string",
"readOnly": true,
- "enum": [
- "Internal"
- ],
+ "enum": ["Internal"],
"x-ms-enum": {
"name": "ActionType",
"modelAsString": true
@@ -446,9 +400,7 @@
"OperationStatusResult": {
"description": "The current status of an async operation.",
"type": "object",
- "required": [
- "status"
- ],
+ "required": ["status"],
"properties": {
"id": {
"description": "Fully qualified ID for the async operation.",
@@ -513,9 +465,7 @@
"description": "The country or region where the resource is located"
}
},
- "required": [
- "name"
- ]
+ "required": ["name"]
},
"systemData": {
"description": "Metadata pertaining to creation and last modification of the resource.",
@@ -529,12 +479,7 @@
"createdByType": {
"type": "string",
"description": "The type of identity that created the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
"x-ms-enum": {
"name": "createdByType",
"modelAsString": true
@@ -552,12 +497,7 @@
"lastModifiedByType": {
"type": "string",
"description": "The type of identity that last modified the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
"x-ms-enum": {
"name": "createdByType",
"modelAsString": true
@@ -576,10 +516,7 @@
"properties": {
"status": {
"description": "Indicates whether or not the encryption is enabled for container registry.",
- "enum": [
- "enabled",
- "disabled"
- ],
+ "enum": ["enabled", "disabled"],
"type": "string",
"x-ms-enum": {
"name": "EncryptionStatus",
@@ -630,10 +567,7 @@
"reason": {
"description": "The reason why the given name is not available.",
"type": "string",
- "enum": [
- "Invalid",
- "AlreadyExists"
- ],
+ "enum": ["Invalid", "AlreadyExists"],
"x-ms-enum": {
"name": "CheckNameAvailabilityReason",
"modelAsString": true
@@ -692,4 +626,4 @@
"x-ms-parameter-location": "method"
}
}
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/utils.ts b/hack/bicep-types-radius/src/autorest.bicep/test/integration/utils.ts
index a292c659ee2..a51762ec20a 100644
--- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/utils.ts
+++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/utils.ts
@@ -13,11 +13,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------.
-import path from 'path';
-import { createWriteStream } from 'fs';
-import { readdir, stat, mkdir, rm, copyFile } from 'fs/promises';
-import { spawn } from 'child_process';
-import colors from 'colors';
+import path from "path";
+import { createWriteStream } from "fs";
+import { readdir, stat, mkdir, rm, copyFile } from "fs/promises";
+import { spawn } from "child_process";
+import colors from "colors";
export interface ILogger {
out: (data: string) => void;
@@ -25,20 +25,29 @@ export interface ILogger {
}
export const defaultLogger: ILogger = {
- out: data => process.stdout.write(data),
- err: data => process.stderr.write(data),
-}
-
-export async function copyRecursive(sourceBasePath: string, destinationBasePath: string): Promise {
+ out: (data) => process.stdout.write(data),
+ err: (data) => process.stderr.write(data)
+};
+
+export async function copyRecursive(
+ sourceBasePath: string,
+ destinationBasePath: string
+): Promise {
for (const filePath of await findRecursive(sourceBasePath, () => true)) {
- const destinationPath = path.join(destinationBasePath, path.relative(sourceBasePath, filePath));
+ const destinationPath = path.join(
+ destinationBasePath,
+ path.relative(sourceBasePath, filePath)
+ );
await mkdir(path.dirname(destinationPath), { recursive: true });
await copyFile(filePath, destinationPath);
}
}
-export async function findRecursive(basePath: string, filter: (name: string) => boolean): Promise {
+export async function findRecursive(
+ basePath: string,
+ filter: (name: string) => boolean
+): Promise {
let results: string[] = [];
for (const subPathName of await readdir(basePath)) {
@@ -65,31 +74,41 @@ export async function findRecursive(basePath: string, filter: (name: string) =>
return results;
}
-export function executeCmd(logger: ILogger, verbose: boolean, cwd: string, cmd: string, args: string[]) : Promise {
+export function executeCmd(
+ logger: ILogger,
+ verbose: boolean,
+ cwd: string,
+ cmd: string,
+ args: string[]
+): Promise {
return new Promise((resolve, reject) => {
if (verbose) {
- logOut(logger, colors.green(`Executing: ${cmd} ${args.join(' ')}`));
+ logOut(logger, colors.green(`Executing: ${cmd} ${args.join(" ")}`));
}
const child = spawn(cmd, args, {
cwd: cwd,
windowsHide: true,
- shell: true,
+ shell: true
});
- child.stdout.on('data', data => logger.out(colors.grey(data.toString())));
- child.stderr.on('data', data => {
+ child.stdout.on("data", (data) => logger.out(colors.grey(data.toString())));
+ child.stderr.on("data", (data) => {
const message = data.toString();
logger.err(colors.red(message));
- if (message.indexOf('FATAL ERROR') > -1 && message.indexOf('Allocation failed - JavaScript heap out of memory') > -1) {
- reject('Child process has run out of memory');
+ if (
+ message.indexOf("FATAL ERROR") > -1 &&
+ message.indexOf("Allocation failed - JavaScript heap out of memory") >
+ -1
+ ) {
+ reject("Child process has run out of memory");
}
});
- child.on('error', err => {
+ child.on("error", (err) => {
reject(err);
});
- child.on('exit', code => {
+ child.on("exit", (code) => {
if (code !== 0) {
reject(`Exited with code ${code}`);
} else {
@@ -121,7 +140,7 @@ export function logErr(logger: ILogger, line: any) {
export async function getLogger(logFilePath: string): Promise {
await rm(logFilePath, { force: true });
- const logFileStream = createWriteStream(logFilePath, { flags: 'a' });
+ const logFileStream = createWriteStream(logFilePath, { flags: "a" });
return {
out: (data: string) => {
@@ -131,6 +150,6 @@ export async function getLogger(logFilePath: string): Promise {
err: (data: string) => {
process.stdout.write(data);
logFileStream.write(colors.stripColors(data));
- },
+ }
};
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/generator/.eslintrc.js b/hack/bicep-types-radius/src/generator/.eslintrc.js
index b53ea967270..3ac4a201861 100644
--- a/hack/bicep-types-radius/src/generator/.eslintrc.js
+++ b/hack/bicep-types-radius/src/generator/.eslintrc.js
@@ -29,18 +29,15 @@ module.exports = {
"line",
[
" Copyright 2023 The Radius Authors.",
- " # ------------------------------------------------------------
+ " # ------------------------------------------------------------",
],
],
},
overrides: [
{
files: ["*.ts"],
- extends: [
- "plugin:@typescript-eslint/recommended",
- ],
- rules: {
- },
+ extends: ["plugin:@typescript-eslint/recommended"],
+ rules: {},
},
{
files: ["*.js"],
diff --git a/hack/bicep-types-radius/src/generator/package.json b/hack/bicep-types-radius/src/generator/package.json
index 9ea599c1654..5aa397e1332 100644
--- a/hack/bicep-types-radius/src/generator/package.json
+++ b/hack/bicep-types-radius/src/generator/package.json
@@ -47,4 +47,4 @@
"typescript": "^5.6.3",
"yargs": "^17.7.2"
}
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/generator/src/Bicep.TypeGen.Autorest/packages.lock.json b/hack/bicep-types-radius/src/generator/src/Bicep.TypeGen.Autorest/packages.lock.json
index 47d0437d9fc..7df9bbb8111 100644
--- a/hack/bicep-types-radius/src/generator/src/Bicep.TypeGen.Autorest/packages.lock.json
+++ b/hack/bicep-types-radius/src/generator/src/Bicep.TypeGen.Autorest/packages.lock.json
@@ -540,4 +540,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/generator/src/cmd/generate.ts b/hack/bicep-types-radius/src/generator/src/cmd/generate.ts
index e3507a5368c..99d289025fd 100644
--- a/hack/bicep-types-radius/src/generator/src/cmd/generate.ts
+++ b/hack/bicep-types-radius/src/generator/src/cmd/generate.ts
@@ -13,55 +13,97 @@
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------.
-import os from 'os';
-import path from 'path';
-import { existsSync } from 'fs';
-import { mkdir, rm, writeFile, readFile } from 'fs/promises';
-import yargs from 'yargs';
-import { Dictionary } from 'lodash';
-import { TypeFile, buildIndex, readTypesJson, writeIndexJson, writeIndexMarkdown, TypeSettings } from 'bicep-types';
-import { GeneratorConfig, getConfig } from '../config';
-import * as markdown from '@ts-common/commonmark-to-markdown'
-import * as yaml from 'js-yaml'
-import { copyRecursive, executeSynchronous, getLogger, lowerCaseCompare, logErr, logOut, ILogger, defaultLogger, executeCmd, findRecursive } from '../utils';
+import os from "os";
+import path from "path";
+import { existsSync } from "fs";
+import { mkdir, rm, writeFile, readFile } from "fs/promises";
+import yargs from "yargs";
+import { Dictionary } from "lodash";
+import {
+ TypeFile,
+ buildIndex,
+ readTypesJson,
+ writeIndexJson,
+ writeIndexMarkdown,
+ TypeSettings,
+} from "bicep-types";
+import { GeneratorConfig, getConfig } from "../config";
+import * as markdown from "@ts-common/commonmark-to-markdown";
+import * as yaml from "js-yaml";
+import {
+ copyRecursive,
+ executeSynchronous,
+ getLogger,
+ lowerCaseCompare,
+ logErr,
+ logOut,
+ ILogger,
+ defaultLogger,
+ executeCmd,
+ findRecursive,
+} from "../utils";
const rootDir = `${__dirname}/../../../../`;
const extensionDir = path.resolve(`${rootDir}/src/autorest.bicep/`);
-const autorestBinary = os.platform() === 'win32' ? 'autorest.cmd' : 'autorest';
+const autorestBinary = os.platform() === "win32" ? "autorest.cmd" : "autorest";
const defaultOutDir = path.resolve(`${rootDir}/generated`);
const argsConfig = yargs
.strict()
- .option('specs-dir', { type: 'string', demandOption: true, desc: 'Path to the azure-rest-api-specs dir' })
- .option('out-dir', { type: 'string', default: defaultOutDir, desc: 'Output path for generated files' })
- .option('release-version', { type: 'string', default: 'latest', desc: 'The version of the generated types' })
- .option('single-path', { type: 'string', default: undefined, desc: 'Only regenerate under a specific file path - e.g. "compute"' })
- .option('verbose', { type: 'boolean', default: false, desc: 'Enable autorest verbose logging' })
- .option('wait-for-debugger', { type: 'boolean', default: false, desc: 'Wait for a C# debugger to be attached before running the Autorest extension' });
+ .option("specs-dir", {
+ type: "string",
+ demandOption: true,
+ desc: "Path to the azure-rest-api-specs dir",
+ })
+ .option("out-dir", {
+ type: "string",
+ default: defaultOutDir,
+ desc: "Output path for generated files",
+ })
+ .option("release-version", {
+ type: "string",
+ default: "latest",
+ desc: "The version of the generated types",
+ })
+ .option("single-path", {
+ type: "string",
+ default: undefined,
+ desc: 'Only regenerate under a specific file path - e.g. "compute"',
+ })
+ .option("verbose", {
+ type: "boolean",
+ default: false,
+ desc: "Enable autorest verbose logging",
+ })
+ .option("wait-for-debugger", {
+ type: "boolean",
+ default: false,
+ desc: "Wait for a C# debugger to be attached before running the Autorest extension",
+ });
executeSynchronous(async () => {
- const args = await argsConfig.parseAsync();
- const inputBaseDir = path.resolve(args['specs-dir']);
- const outputBaseDir = path.resolve(args['out-dir']);
- const version = args['release-version'];
- const verbose = args['verbose'];
- const waitForDebugger = args['wait-for-debugger'];
- const singlePath = args['single-path'];
+ const args = await argsConfig.parseAsync();
+ const inputBaseDir = path.resolve(args["specs-dir"]);
+ const outputBaseDir = path.resolve(args["out-dir"]);
+ const version = args["release-version"];
+ const verbose = args["verbose"];
+ const waitForDebugger = args["wait-for-debugger"];
+ const singlePath = args["single-path"];
if (!existsSync(`${extensionDir}/dist`)) {
throw `Unable to find ${extensionDir}/dist. Did you forget to run 'npm run build'?`;
}
// find all readme paths in the azure-rest-api-specs repo
- const specsPath = path.join(inputBaseDir, 'specification');
+ const specsPath = path.join(inputBaseDir, "specification");
const readmePaths = await findReadmePaths(specsPath);
if (readmePaths.length === 0) {
throw `Unable to find rest-api-specs in folder ${inputBaseDir}`;
}
const tmpOutputPath = `${os.tmpdir()}/_bcp_${new Date().getTime()}`;
- await rm(tmpOutputPath, { recursive: true, force: true, });
+ await rm(tmpOutputPath, { recursive: true, force: true });
// this file is deliberately gitignored as it'll be overwritten when using --single-path
// it's used to generate the git commit message
@@ -71,7 +113,10 @@ executeSynchronous(async () => {
// use consistent sorting to make log changes easier to review
for (const readmePath of readmePaths.sort(lowerCaseCompare)) {
const bicepReadmePath = `${path.dirname(readmePath)}/readme.bicep.md`;
- const basePath = path.relative(specsPath, readmePath).split(path.sep)[0].toLowerCase();
+ const basePath = path
+ .relative(specsPath, readmePath)
+ .split(path.sep)[0]
+ .toLowerCase();
const tmpOutputDir = `${tmpOutputPath}/${basePath}`;
const outputDir = `${outputBaseDir}/${basePath}`;
@@ -80,7 +125,7 @@ executeSynchronous(async () => {
}
// prepare temp dir for output
- await rm(tmpOutputDir, { recursive: true, force: true, });
+ await rm(tmpOutputDir, { recursive: true, force: true });
await mkdir(tmpOutputDir, { recursive: true });
const logger = await getLogger(`${tmpOutputDir}/out.log`);
const config = getConfig(basePath);
@@ -88,29 +133,37 @@ executeSynchronous(async () => {
try {
// autorest readme.bicep.md files are not checked in, so we must generate them before invoking autorest
await generateAutorestConfig(logger, readmePath, bicepReadmePath, config);
- await generateSchema(logger, readmePath, tmpOutputDir, verbose, waitForDebugger);
+ await generateSchema(
+ logger,
+ readmePath,
+ tmpOutputDir,
+ verbose,
+ waitForDebugger,
+ );
// remove all previously-generated files and copy over results
- await rm(outputDir, { recursive: true, force: true, });
+ await rm(outputDir, { recursive: true, force: true });
await mkdir(outputDir, { recursive: true });
await copyRecursive(tmpOutputDir, outputDir);
} catch (err) {
logErr(logger, err);
-
+
// Use markdown formatting as this summary will be included in the PR description
- logOut(summaryLogger,
-`
+ logOut(
+ summaryLogger,
+ `
Failed to generate types for path '${basePath}'
\`\`\`
${err}
\`\`\`
-`);
+`,
+ );
}
// clean up temp dir
- await rm(tmpOutputDir, { recursive: true, force: true, });
+ await rm(tmpOutputDir, { recursive: true, force: true });
// clean up autorest readme.bicep.md files
await rm(bicepReadmePath, { force: true });
}
@@ -121,16 +174,22 @@ ${err}
function normalizeJsonPath(jsonPath: string) {
// eslint-disable-next-line no-useless-escape
- return path.normalize(jsonPath).replace(/[\\\/]/g, '/');
+ return path.normalize(jsonPath).replace(/[\\\/]/g, "/");
}
-async function generateAutorestConfig(logger: ILogger, readmePath: string, bicepReadmePath: string, config: GeneratorConfig) {
+async function generateAutorestConfig(
+ logger: ILogger,
+ readmePath: string,
+ bicepReadmePath: string,
+ config: GeneratorConfig,
+) {
// We expect a path format convention of /(preview|stable)/--(|-preview)/.json
// This information is used to generate individual tags in the generated autorest configuration
// eslint-disable-next-line no-useless-escape
- const pathRegex = /^(\$\(this-folder\)\/|)([^\/]+)\/[^\/]+\/(\d{4}-\d{2}-\d{2}(|-preview|-privatepreview))\/.*\.json$/i;
+ const pathRegex =
+ /^(\$\(this-folder\)\/|)([^\/]+)\/[^\/]+\/(\d{4}-\d{2}-\d{2}(|-preview|-privatepreview))\/.*\.json$/i;
- const readmeContents = await readFile(readmePath, { encoding: 'utf8' });
+ const readmeContents = await readFile(readmePath, { encoding: "utf8" });
const readmeMarkdown = markdown.parse(readmeContents);
const inputFiles = new Set(config.additionalFiles);
@@ -142,17 +201,21 @@ async function generateAutorestConfig(logger: ILogger, readmePath: string, bicep
// ```
for (const node of markdown.iterate(readmeMarkdown.markDown)) {
// We're only interested in yaml code blocks
- if (node.type !== 'code_block' || !node.info || !node.literal ||
- !node.info.trim().startsWith('yaml')) {
+ if (
+ node.type !== "code_block" ||
+ !node.info ||
+ !node.literal ||
+ !node.info.trim().startsWith("yaml")
+ ) {
continue;
}
-
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const yamlData = yaml.load(node.literal) as any;
if (yamlData) {
// input-file may be a single string or an array of strings
- const inputFile = yamlData['input-file'];
- if (typeof inputFile === 'string') {
+ const inputFile = yamlData["input-file"];
+ if (typeof inputFile === "string") {
inputFiles.add(inputFile);
} else if (inputFile instanceof Array) {
for (const i of inputFile) {
@@ -185,14 +248,14 @@ async function generateAutorestConfig(logger: ILogger, readmePath: string, bicep
### Bicep multi-api
\`\`\`yaml $(bicep) && $(multiapi)
-${yaml.dump({ 'batch': Object.keys(filesByTag).map(tag => ({ 'tag': tag })) }, { lineWidth: 1000 })}
+${yaml.dump({ batch: Object.keys(filesByTag).map((tag) => ({ tag: tag })) }, { lineWidth: 1000 })}
\`\`\`
`;
for (const tag of Object.keys(filesByTag)) {
generatedContent += `### Tag: ${tag} and bicep
\`\`\`yaml $(tag) == '${tag}' && $(bicep)
-${yaml.dump({ 'input-file': filesByTag[tag] }, { lineWidth: 1000})}
+${yaml.dump({ "input-file": filesByTag[tag] }, { lineWidth: 1000 })}
\`\`\`
`;
}
@@ -200,64 +263,79 @@ ${yaml.dump({ 'input-file': filesByTag[tag] }, { lineWidth: 1000})}
await writeFile(bicepReadmePath, generatedContent);
}
-async function generateSchema(logger: ILogger, readme: string, outputBaseDir: string, verbose: boolean, waitForDebugger: boolean) {
+async function generateSchema(
+ logger: ILogger,
+ readme: string,
+ outputBaseDir: string,
+ verbose: boolean,
+ waitForDebugger: boolean,
+) {
let autoRestParams = [
`--use=@autorest/modelerfour`,
`--use=${extensionDir}`,
- '--bicep',
+ "--bicep",
`--output-folder=${outputBaseDir}`,
`--multiapi`,
- '--title=none',
+ "--title=none",
// This is necessary to avoid failures such as "ERROR: Semantic violation: Discriminator must be a required property." blocking type generation.
// In an ideal world, we'd raise issues in https://github.com/Azure/azure-rest-api-specs and force RP teams to fix them, but this isn't very practical
- // as new validations are added continuously, and there's often quite a lag before teams will fix them - we don't want to be blocked by this in generating types.
+ // as new validations are added continuously, and there's often quite a lag before teams will fix them - we don't want to be blocked by this in generating types.
`--skip-semantics-validation`,
readme,
];
if (verbose) {
- autoRestParams = autoRestParams.concat([
- `--debug`,
- `--verbose`,
- ]);
+ autoRestParams = autoRestParams.concat([`--debug`, `--verbose`]);
}
if (waitForDebugger) {
- autoRestParams = autoRestParams.concat([
- `--bicep.debugger`,
- ]);
+ autoRestParams = autoRestParams.concat([`--bicep.debugger`]);
}
- return await executeCmd(logger, verbose, __dirname, autorestBinary, autoRestParams);
+ return await executeCmd(
+ logger,
+ verbose,
+ __dirname,
+ autorestBinary,
+ autoRestParams,
+ );
}
async function findReadmePaths(specsPath: string) {
- return await findRecursive(specsPath, filePath => {
- if (path.basename(filePath) !== 'readme.md') {
+ return await findRecursive(specsPath, (filePath) => {
+ if (path.basename(filePath) !== "readme.md") {
return false;
}
return filePath
.split(path.sep)
- .some(parent => parent == 'resource-manager');
+ .some((parent) => parent == "resource-manager");
});
}
-async function buildTypeIndex(logger: ILogger, baseDir: string, version: string) {
- const typesPaths = await findRecursive(baseDir, filePath => {
- return path.basename(filePath) === 'types.json';
+async function buildTypeIndex(
+ logger: ILogger,
+ baseDir: string,
+ version: string,
+) {
+ const typesPaths = await findRecursive(baseDir, (filePath) => {
+ return path.basename(filePath) === "types.json";
});
const typeFiles: TypeFile[] = [];
for (const typePath of typesPaths) {
- const content = await readFile(typePath, { encoding: 'utf8' });
+ const content = await readFile(typePath, { encoding: "utf8" });
typeFiles.push({
relativePath: path.relative(baseDir, typePath),
types: readTypesJson(content),
});
}
- const indexContent = await buildIndex(typeFiles, log => logOut(logger, log), {name: "Radius", version: version, isSingleton: false} as TypeSettings);
+ const indexContent = await buildIndex(
+ typeFiles,
+ (log) => logOut(logger, log),
+ { name: "Radius", version: version, isSingleton: false } as TypeSettings,
+ );
await writeFile(`${baseDir}/index.json`, writeIndexJson(indexContent));
await writeFile(`${baseDir}/index.md`, writeIndexMarkdown(indexContent));
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/generator/src/config.ts b/hack/bicep-types-radius/src/generator/src/config.ts
index a6178be12cc..0efb950b2b9 100644
--- a/hack/bicep-types-radius/src/generator/src/config.ts
+++ b/hack/bicep-types-radius/src/generator/src/config.ts
@@ -21,19 +21,19 @@ export interface GeneratorConfig {
const defaultConfig: GeneratorConfig = {
additionalFiles: [],
-}
+};
const config: Dictionary = {
- 'keyvault': {
+ keyvault: {
additionalFiles: [
- 'Microsoft.KeyVault/stable/2016-10-01/secrets.json',
- 'Microsoft.KeyVault/stable/2018-02-14/secrets.json',
- 'Microsoft.KeyVault/preview/2018-02-14-preview/secrets.json',
- 'Microsoft.KeyVault/stable/2019-09-01/secrets.json',
+ "Microsoft.KeyVault/stable/2016-10-01/secrets.json",
+ "Microsoft.KeyVault/stable/2018-02-14/secrets.json",
+ "Microsoft.KeyVault/preview/2018-02-14-preview/secrets.json",
+ "Microsoft.KeyVault/stable/2019-09-01/secrets.json",
],
- }
-}
+ },
+};
export function getConfig(basePath: string): GeneratorConfig {
return config[basePath.toLowerCase()] || defaultConfig;
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/generator/src/utils.ts b/hack/bicep-types-radius/src/generator/src/utils.ts
index 09113b17936..fa1a4bb283b 100644
--- a/hack/bicep-types-radius/src/generator/src/utils.ts
+++ b/hack/bicep-types-radius/src/generator/src/utils.ts
@@ -10,12 +10,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------.
-import path from 'path';
-import { createWriteStream } from 'fs';
-import { readdir, stat, mkdir, rm, copyFile } from 'fs/promises';
-import { series } from 'async';
-import { spawn } from 'child_process';
-import colors from 'colors';
+import path from "path";
+import { createWriteStream } from "fs";
+import { readdir, stat, mkdir, rm, copyFile } from "fs/promises";
+import { series } from "async";
+import { spawn } from "child_process";
+import colors from "colors";
export interface ILogger {
out: (data: string) => void;
@@ -23,20 +23,29 @@ export interface ILogger {
}
export const defaultLogger: ILogger = {
- out: data => process.stdout.write(data),
- err: data => process.stderr.write(data),
-}
-
-export async function copyRecursive(sourceBasePath: string, destinationBasePath: string): Promise {
+ out: (data) => process.stdout.write(data),
+ err: (data) => process.stderr.write(data),
+};
+
+export async function copyRecursive(
+ sourceBasePath: string,
+ destinationBasePath: string,
+): Promise {
for (const filePath of await findRecursive(sourceBasePath, () => true)) {
- const destinationPath = path.join(destinationBasePath, path.relative(sourceBasePath, filePath));
+ const destinationPath = path.join(
+ destinationBasePath,
+ path.relative(sourceBasePath, filePath),
+ );
await mkdir(path.dirname(destinationPath), { recursive: true });
await copyFile(filePath, destinationPath);
}
}
-export async function findRecursive(basePath: string, filter: (name: string) => boolean): Promise {
+export async function findRecursive(
+ basePath: string,
+ filter: (name: string) => boolean,
+): Promise {
let results: string[] = [];
for (const subPathName of await readdir(basePath)) {
@@ -63,10 +72,16 @@ export async function findRecursive(basePath: string, filter: (name: string) =>
return results;
}
-export function executeCmd(logger: ILogger, verbose: boolean, cwd: string, cmd: string, args: string[]) : Promise {
+export function executeCmd(
+ logger: ILogger,
+ verbose: boolean,
+ cwd: string,
+ cmd: string,
+ args: string[],
+): Promise {
return new Promise((resolve, reject) => {
if (verbose) {
- logOut(logger, colors.green(`Executing: ${cmd} ${args.join(' ')}`));
+ logOut(logger, colors.green(`Executing: ${cmd} ${args.join(" ")}`));
}
const child = spawn(cmd, args, {
@@ -75,19 +90,23 @@ export function executeCmd(logger: ILogger, verbose: boolean, cwd: string, cmd:
shell: true,
});
- child.stdout.on('data', data => logger.out(colors.grey(data.toString())));
- child.stderr.on('data', data => {
+ child.stdout.on("data", (data) => logger.out(colors.grey(data.toString())));
+ child.stderr.on("data", (data) => {
const message = data.toString();
logger.err(colors.red(message));
- if (message.indexOf('FATAL ERROR') > -1 && message.indexOf('Allocation failed - JavaScript heap out of memory') > -1) {
- reject('Child process has run out of memory');
+ if (
+ message.indexOf("FATAL ERROR") > -1 &&
+ message.indexOf("Allocation failed - JavaScript heap out of memory") >
+ -1
+ ) {
+ reject("Child process has run out of memory");
}
});
- child.on('error', err => {
+ child.on("error", (err) => {
reject(err);
});
- child.on('exit', code => {
+ child.on("exit", (code) => {
if (code !== 0) {
reject(`Exited with code ${code}`);
} else {
@@ -98,13 +117,11 @@ export function executeCmd(logger: ILogger, verbose: boolean, cwd: string, cmd:
}
export function executeSynchronous(asyncFunc: () => Promise) {
- series(
- [asyncFunc],
- (error) => {
- if (error) {
- throw error;
- }
- });
+ series([asyncFunc], (error) => {
+ if (error) {
+ throw error;
+ }
+ });
}
export function lowerCaseCompare(a: string, b: string) {
@@ -129,7 +146,7 @@ export function logErr(logger: ILogger, line: any) {
export async function getLogger(logFilePath: string): Promise {
await rm(logFilePath, { force: true });
- const logFileStream = createWriteStream(logFilePath, { flags: 'a' });
+ const logFileStream = createWriteStream(logFilePath, { flags: "a" });
return {
out: (data: string) => {
@@ -141,4 +158,4 @@ export async function getLogger(logFilePath: string): Promise {
logFileStream.write(colors.stripColors(data));
},
};
-}
\ No newline at end of file
+}
diff --git a/hack/bicep-types-radius/src/generator/tsconfig.json b/hack/bicep-types-radius/src/generator/tsconfig.json
index 17bf5887e86..2ff40cfd1e7 100644
--- a/hack/bicep-types-radius/src/generator/tsconfig.json
+++ b/hack/bicep-types-radius/src/generator/tsconfig.json
@@ -19,4 +19,4 @@
"rootDir": "."
},
"exclude": ["dist", "node_modules"]
-}
\ No newline at end of file
+}
diff --git a/pkg/armrpc/api/v1/testdata/armrpcheaders.json b/pkg/armrpc/api/v1/testdata/armrpcheaders.json
index 13b281f84b3..472741b1c08 100644
--- a/pkg/armrpc/api/v1/testdata/armrpcheaders.json
+++ b/pkg/armrpc/api/v1/testdata/armrpcheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-RG/providers/Applications.Core/environments/Env0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-RG/providers/Applications.Core/environments/Env0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:54:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-RG/providers/Applications.Core/environments/Env0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-RG/providers/Applications.Core/environments/Env0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:54:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/armsubscriptionheaders.json b/pkg/armrpc/frontend/defaultoperation/testdata/armsubscriptionheaders.json
index 5639136a10b..47263469dd8 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/armsubscriptionheaders.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/armsubscriptionheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions?api-version=2.0",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io/subscriptions?api-version=2.0",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions?api-version=2.0",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io/subscriptions?api-version=2.0",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_requestheaders.json b/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_requestheaders.json
index 96531ef91f1..18dcbbf7854 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_requestheaders.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationResults/00000000-0000-0000-0000-000000000000",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationStatuses/00000000-0000-0000-0000-000000000000",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationResults/00000000-0000-0000-0000-000000000000",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationStatuses/00000000-0000-0000-0000-000000000000",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_responseheaders.json b/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_responseheaders.json
index e047673dbe1..703de0dfefe 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_responseheaders.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/operationresult_responseheaders.json
@@ -1,4 +1,4 @@
{
- "Location": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationResults/00000000-0000-0000-0000-000000000000",
- "Retry-After": 60
-}
\ No newline at end of file
+ "Location": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationResults/00000000-0000-0000-0000-000000000000",
+ "Retry-After": 60
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_datamodel.json b/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_datamodel.json
index 83bfbf97a24..85823f30ea1 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_datamodel.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_datamodel.json
@@ -1,16 +1,16 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000",
- "name": "op0",
- "type": "Applications.Core/operationStatuses",
- "operationType": "PUT",
- "location": "West US",
- "status": "Succeeded",
- "startTime": "2022-05-16T10:24:58.000000Z",
- "endTime": "2022-05-16T17:24:58.000000Z",
- "percentComplete": "100",
- "properties": {
- "provisioningState": "Succeeded"
- },
- "error": {},
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000"
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000",
+ "name": "op0",
+ "type": "Applications.Core/operationStatuses",
+ "operationType": "PUT",
+ "location": "West US",
+ "status": "Succeeded",
+ "startTime": "2022-05-16T10:24:58.000000Z",
+ "endTime": "2022-05-16T17:24:58.000000Z",
+ "percentComplete": "100",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "error": {},
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_output.json b/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_output.json
index 42602e8d6f1..10ae94d788a 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_output.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_output.json
@@ -1,15 +1,15 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000",
- "name": "op0",
- "type": "Applications.Core/operationStatuses",
- "operationType": "PUT",
- "location": "West US",
- "status": "Succeeded",
- "startTime": "2022-05-16T10:24:58.000000Z",
- "endTime": "2022-05-16T17:24:58.000000Z",
- "percentComplete": "100",
- "properties": {
- "provisioningState": "Succeeded"
- },
- "error": {}
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000",
+ "name": "op0",
+ "type": "Applications.Core/operationStatuses",
+ "operationType": "PUT",
+ "location": "West US",
+ "status": "Succeeded",
+ "startTime": "2022-05-16T10:24:58.000000Z",
+ "endTime": "2022-05-16T17:24:58.000000Z",
+ "percentComplete": "100",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "error": {}
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_requestheaders.json b/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_requestheaders.json
index b68de65fffc..553c83b7aff 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_requestheaders.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationStatuses/00000000-0000-0000-0000-000000000000",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationStatuses/00000000-0000-0000-0000-000000000000",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationStatuses/00000000-0000-0000-0000-000000000000",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationStatuses/00000000-0000-0000-0000-000000000000",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/registeredsubscriptiontestdata.json b/pkg/armrpc/frontend/defaultoperation/testdata/registeredsubscriptiontestdata.json
index 4f87dcae0f4..934bf752810 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/registeredsubscriptiontestdata.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/registeredsubscriptiontestdata.json
@@ -1,34 +1,34 @@
{
- "state": "Registered",
- "registrationDate": "Sat, 19 Mar 2022 04:39:55 GMT",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "locationPlacementId": "Public_2014-09-01",
- "quotaId": "PayAsYouGo_2014-09-01",
- "accountOwner": {
- "puid": "",
- "email": ""
- },
- "registeredFeatures": [],
- "managedByTenants": [],
- "additionalProperties": {
- "resourceProviderProperties": "{\"resourceProviderNamespace\":\"Applications.Core\"}",
- "billingProperties": {
- "channelType": "CustomerLed",
- "paymentType": "Paid",
- "workloadType": "Production",
- "billingType": "Modern",
- "tier": "Standard",
- "billingAccount": {
- "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31"
- }
- },
- "promotions": [
- {
- "category": "freetier",
- "endDateTime": "2023-02-11T21:07:45.676671Z"
- }
- ]
+ "state": "Registered",
+ "registrationDate": "Sat, 19 Mar 2022 04:39:55 GMT",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "locationPlacementId": "Public_2014-09-01",
+ "quotaId": "PayAsYouGo_2014-09-01",
+ "accountOwner": {
+ "puid": "",
+ "email": ""
+ },
+ "registeredFeatures": [],
+ "managedByTenants": [],
+ "additionalProperties": {
+ "resourceProviderProperties": "{\"resourceProviderNamespace\":\"Applications.Core\"}",
+ "billingProperties": {
+ "channelType": "CustomerLed",
+ "paymentType": "Paid",
+ "workloadType": "Production",
+ "billingType": "Modern",
+ "tier": "Standard",
+ "billingAccount": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31"
}
+ },
+ "promotions": [
+ {
+ "category": "freetier",
+ "endDateTime": "2023-02-11T21:07:45.676671Z"
+ }
+ ]
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-datamodel.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-datamodel.json
index d66ad78e5f3..b26eb830600 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-datamodel.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-datamodel.json
@@ -30,4 +30,4 @@
"resourceGroup": "radius-test-rg",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-request-invalidapp.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-request-invalidapp.json
index 496f1cc57d9..419ac433891 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-request-invalidapp.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-request-invalidapp.json
@@ -1,9 +1,9 @@
{
- "location": "global",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/invalid",
- "propertyA": "propertyAValue",
- "propertyB": "propertyBValue"
- }
-}
\ No newline at end of file
+ "location": "global",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/invalid",
+ "propertyA": "propertyAValue",
+ "propertyB": "propertyBValue"
+ }
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-request.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-request.json
index 38403771bf9..7cc4bdd483d 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-request.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-request.json
@@ -1,9 +1,9 @@
{
- "location": "global",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "propertyA": "propertyAValue",
- "propertyB": "propertyBValue"
- }
-}
\ No newline at end of file
+ "location": "global",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
+ "propertyA": "propertyAValue",
+ "propertyB": "propertyBValue"
+ }
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-response.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-response.json
index bd3d2a8ef49..714f97e3080 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-response.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-response.json
@@ -26,4 +26,4 @@
},
"tags": {},
"type": "applications.core/resources"
-}
\ No newline at end of file
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-datamodel.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-datamodel.json
index e829b149c9e..36d651f57c2 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-datamodel.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-datamodel.json
@@ -1,17 +1,17 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "radius",
- "location": "West US",
- "provisioningState": "Succeeded",
- "properties": {
- "kind": "UCPNative",
- "resourceProviders": {
- "Applications.Connection": "http://localhost:9081/",
- "Applications.Core": "http://localhost:9080/"
- }
- },
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "radius",
+ "location": "West US",
+ "provisioningState": "Succeeded",
+ "properties": {
+ "kind": "UCPNative",
+ "resourceProviders": {
+ "Applications.Connection": "http://localhost:9081/",
+ "Applications.Core": "http://localhost:9080/"
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request-invalid.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request-invalid.json
index a46b3fd7ad5..34bdde3ed3c 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request-invalid.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request-invalid.json
@@ -1,8 +1,7 @@
{
- "location": "global",
- "properties": {
- "kind": "UCPNative",
- "resourceProviders": {
- }
- }
-}
\ No newline at end of file
+ "location": "global",
+ "properties": {
+ "kind": "UCPNative",
+ "resourceProviders": {}
+ }
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request.json
index 4bdb98751c4..f22d7e03b44 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request.json
@@ -1,10 +1,10 @@
{
- "location": "global",
- "properties": {
- "kind": "UCPNative",
- "resourceProviders": {
- "Applications.Connection": "http://localhost:9081/",
- "Applications.Core": "http://localhost:9080/"
- }
+ "location": "global",
+ "properties": {
+ "kind": "UCPNative",
+ "resourceProviders": {
+ "Applications.Connection": "http://localhost:9081/",
+ "Applications.Core": "http://localhost:9080/"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource_planescope_requestheaders.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource_planescope_requestheaders.json
index ea4466e92e0..d7128fdf6cb 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource_planescope_requestheaders.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource_planescope_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/planes/radius/local/providers/applications.core/environments/env0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/planes/radius/local/providers/Applications.Core/environments/env0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/planes/radius/local/providers/applications.core/environments/env0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/planes/radius/local/providers/Applications.Core/environments/env0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/resource_requestheaders.json b/pkg/armrpc/frontend/defaultoperation/testdata/resource_requestheaders.json
index a308ad7960a..3a7f7e2bce6 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/resource_requestheaders.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/resource_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/armrpc/frontend/defaultoperation/testdata/unregisteredsubscriptiontestdata.json b/pkg/armrpc/frontend/defaultoperation/testdata/unregisteredsubscriptiontestdata.json
index 03ae21c9683..6c648c4798e 100644
--- a/pkg/armrpc/frontend/defaultoperation/testdata/unregisteredsubscriptiontestdata.json
+++ b/pkg/armrpc/frontend/defaultoperation/testdata/unregisteredsubscriptiontestdata.json
@@ -1,34 +1,34 @@
{
- "state": "Unregistered",
- "registrationDate": "Sat, 19 Mar 2022 04:39:55 GMT",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "locationPlacementId": "Public_2014-09-01",
- "quotaId": "PayAsYouGo_2014-09-01",
- "accountOwner": {
- "puid": "",
- "email": ""
- },
- "registeredFeatures": [],
- "managedByTenants": [],
- "additionalProperties": {
- "resourceProviderProperties": "{\"resourceProviderNamespace\":\"Applications.Core\"}",
- "billingProperties": {
- "channelType": "CustomerLed",
- "paymentType": "Paid",
- "workloadType": "Production",
- "billingType": "Modern",
- "tier": "Standard",
- "billingAccount": {
- "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31"
- }
- },
- "promotions": [
- {
- "category": "freetier",
- "endDateTime": "2023-02-11T21:07:45.676671Z"
- }
- ]
+ "state": "Unregistered",
+ "registrationDate": "Sat, 19 Mar 2022 04:39:55 GMT",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "locationPlacementId": "Public_2014-09-01",
+ "quotaId": "PayAsYouGo_2014-09-01",
+ "accountOwner": {
+ "puid": "",
+ "email": ""
+ },
+ "registeredFeatures": [],
+ "managedByTenants": [],
+ "additionalProperties": {
+ "resourceProviderProperties": "{\"resourceProviderNamespace\":\"Applications.Core\"}",
+ "billingProperties": {
+ "channelType": "CustomerLed",
+ "paymentType": "Paid",
+ "workloadType": "Production",
+ "billingType": "Modern",
+ "tier": "Standard",
+ "billingAccount": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31"
}
+ },
+ "promotions": [
+ {
+ "category": "freetier",
+ "endDateTime": "2023-02-11T21:07:45.676671Z"
+ }
+ ]
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/cli/bicep/testdata/test-extractparameters.json b/pkg/cli/bicep/testdata/test-extractparameters.json
index dac1e93ea8f..5e43cb8232d 100644
--- a/pkg/cli/bicep/testdata/test-extractparameters.json
+++ b/pkg/cli/bicep/testdata/test-extractparameters.json
@@ -1,24 +1,22 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "languageVersion": "1.9-experimental",
- "contentVersion": "1.0.0.0",
- "metadata": {
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "languageVersion": "1.9-experimental",
+ "contentVersion": "1.0.0.0",
+ "metadata": {},
+ "parameters": {
+ "location": {
+ "type": "string",
+ "defaultValue": "westus2",
+ "metadata": {
+ "description": "Specifies the location for resources."
+ }
},
- "parameters": {
- "location": {
- "type": "string",
- "defaultValue": "westus2",
- "metadata": {
- "description": "Specifies the location for resources."
- }
- },
- "application": {
- "type": "string",
- "metadata": {
- "description": "Specifies the application for resources."
- }
- }
- },
- "resources": {
+ "application": {
+ "type": "string",
+ "metadata": {
+ "description": "Specifies the application for resources."
+ }
}
-}
\ No newline at end of file
+ },
+ "resources": {}
+}
diff --git a/pkg/cli/bicep/testdata/test-injectappid.json b/pkg/cli/bicep/testdata/test-injectappid.json
index 82616a15804..9be12f5fad6 100644
--- a/pkg/cli/bicep/testdata/test-injectappid.json
+++ b/pkg/cli/bicep/testdata/test-injectappid.json
@@ -1,36 +1,35 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "languageVersion": "1.9-experimental",
- "contentVersion": "1.0.0.0",
- "metadata": {
- "EXPERIMENTAL_WARNING": "Symbolic name support in ARM is experimental, and should be enabled for testing purposes only. Do not enable this setting for any production usage, or you may be unexpectedly broken at any time!",
- "_generator": {
- "name": "bicep",
- "version": "0.7.10.37724",
- "templateHash": "2346558594741670581"
- }
- },
- "parameters": {
- "location": {
- "type": "string",
- "defaultValue": "westus2",
- "metadata": {
- "description": "Specifies the location for resources."
- }
- },
- "application": {
- "type": "string",
- "metadata": {
- "description": "Specifies the application for resources."
- }
- }
- },
- "imports": {
- "radius": {
- "provider": "Radius",
- "version": "1.0"
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "languageVersion": "1.9-experimental",
+ "contentVersion": "1.0.0.0",
+ "metadata": {
+ "EXPERIMENTAL_WARNING": "Symbolic name support in ARM is experimental, and should be enabled for testing purposes only. Do not enable this setting for any production usage, or you may be unexpectedly broken at any time!",
+ "_generator": {
+ "name": "bicep",
+ "version": "0.7.10.37724",
+ "templateHash": "2346558594741670581"
+ }
+ },
+ "parameters": {
+ "location": {
+ "type": "string",
+ "defaultValue": "westus2",
+ "metadata": {
+ "description": "Specifies the location for resources."
+ }
},
- "resources": {
+ "application": {
+ "type": "string",
+ "metadata": {
+ "description": "Specifies the application for resources."
+ }
+ }
+ },
+ "imports": {
+ "radius": {
+ "provider": "Radius",
+ "version": "1.0"
}
-}
\ No newline at end of file
+ },
+ "resources": {}
+}
diff --git a/pkg/cli/bicep/testdata/test-injectenvid.json b/pkg/cli/bicep/testdata/test-injectenvid.json
index 28a4a5d865f..02d1f3fb54e 100644
--- a/pkg/cli/bicep/testdata/test-injectenvid.json
+++ b/pkg/cli/bicep/testdata/test-injectenvid.json
@@ -1,64 +1,62 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "languageVersion": "1.9-experimental",
- "contentVersion": "1.0.0.0",
- "metadata": {
- "EXPERIMENTAL_WARNING": "Symbolic name support in ARM is experimental, and should be enabled for testing purposes only. Do not enable this setting for any production usage, or you may be unexpectedly broken at any time!",
- "_generator": {
- "name": "bicep",
- "version": "0.7.10.37724",
- "templateHash": "2346558594741670581"
- }
- },
- "parameters": {
- "location": {
- "type": "string",
- "defaultValue": "westus2",
- "metadata": {
- "description": "Specifies the location for resources."
- }
- },
- "environment": {
- "type": "string",
- "metadata": {
- "description": "Specifies the environment for resources."
- }
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "languageVersion": "1.9-experimental",
+ "contentVersion": "1.0.0.0",
+ "metadata": {
+ "EXPERIMENTAL_WARNING": "Symbolic name support in ARM is experimental, and should be enabled for testing purposes only. Do not enable this setting for any production usage, or you may be unexpectedly broken at any time!",
+ "_generator": {
+ "name": "bicep",
+ "version": "0.7.10.37724",
+ "templateHash": "2346558594741670581"
+ }
+ },
+ "parameters": {
+ "location": {
+ "type": "string",
+ "defaultValue": "westus2",
+ "metadata": {
+ "description": "Specifies the location for resources."
+ }
},
- "imports": {
- "radius": {
- "provider": "Radius",
- "version": "1.0"
+ "environment": {
+ "type": "string",
+ "metadata": {
+ "description": "Specifies the environment for resources."
+ }
+ }
+ },
+ "imports": {
+ "radius": {
+ "provider": "Radius",
+ "version": "1.0"
+ }
+ },
+ "resources": {
+ "env": {
+ "import": "radius",
+ "type": "Applications.Core/environments@2023-10-01-preview",
+ "properties": {
+ "name": "corerp-resources-application-env",
+ "location": "[parameters('location')]",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "cluster"
+ }
}
+ }
},
- "resources": {
- "env": {
- "import": "radius",
- "type": "Applications.Core/environments@2023-10-01-preview",
- "properties": {
- "name": "corerp-resources-application-env",
- "location": "[parameters('location')]",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "cluster"
- }
- }
- }
- },
- "app": {
- "import": "radius",
- "type": "Applications.Core/applications@2023-10-01-preview",
- "properties": {
- "name": "corerp-resources-application-app",
- "location": "[parameters('location')]",
- "properties": {
- "environment": "[reference('env').id]"
- }
- },
- "dependsOn": [
- "env"
- ]
+ "app": {
+ "import": "radius",
+ "type": "Applications.Core/applications@2023-10-01-preview",
+ "properties": {
+ "name": "corerp-resources-application-app",
+ "location": "[parameters('location')]",
+ "properties": {
+ "environment": "[reference('env').id]"
}
+ },
+ "dependsOn": ["env"]
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/cli/bicep/testdata/test-noenv.json b/pkg/cli/bicep/testdata/test-noenv.json
index d0cce18f210..f22871c055f 100644
--- a/pkg/cli/bicep/testdata/test-noenv.json
+++ b/pkg/cli/bicep/testdata/test-noenv.json
@@ -1,58 +1,56 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "languageVersion": "1.9-experimental",
- "contentVersion": "1.0.0.0",
- "metadata": {
- "EXPERIMENTAL_WARNING": "Symbolic name support in ARM is experimental, and should be enabled for testing purposes only. Do not enable this setting for any production usage, or you may be unexpectedly broken at any time!",
- "_generator": {
- "name": "bicep",
- "version": "0.7.10.37724",
- "templateHash": "2346558594741670581"
- }
- },
- "parameters": {
- "location": {
- "type": "string",
- "defaultValue": "westus2",
- "metadata": {
- "description": "Specifies the location for resources."
- }
- }
- },
- "imports": {
- "radius": {
- "provider": "Radius",
- "version": "1.0"
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "languageVersion": "1.9-experimental",
+ "contentVersion": "1.0.0.0",
+ "metadata": {
+ "EXPERIMENTAL_WARNING": "Symbolic name support in ARM is experimental, and should be enabled for testing purposes only. Do not enable this setting for any production usage, or you may be unexpectedly broken at any time!",
+ "_generator": {
+ "name": "bicep",
+ "version": "0.7.10.37724",
+ "templateHash": "2346558594741670581"
+ }
+ },
+ "parameters": {
+ "location": {
+ "type": "string",
+ "defaultValue": "westus2",
+ "metadata": {
+ "description": "Specifies the location for resources."
+ }
+ }
+ },
+ "imports": {
+ "radius": {
+ "provider": "Radius",
+ "version": "1.0"
+ }
+ },
+ "resources": {
+ "env": {
+ "import": "radius",
+ "type": "Applications.Core/environments@2023-10-01-preview",
+ "properties": {
+ "name": "corerp-resources-application-env",
+ "location": "[parameters('location')]",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "cluster"
+ }
}
+ }
},
- "resources": {
- "env": {
- "import": "radius",
- "type": "Applications.Core/environments@2023-10-01-preview",
- "properties": {
- "name": "corerp-resources-application-env",
- "location": "[parameters('location')]",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "cluster"
- }
- }
- }
- },
- "app": {
- "import": "radius",
- "type": "Applications.Core/applications@2023-10-01-preview",
- "properties": {
- "name": "corerp-resources-application-app",
- "location": "[parameters('location')]",
- "properties": {
- "environment": "[reference('env').id]"
- }
- },
- "dependsOn": [
- "env"
- ]
+ "app": {
+ "import": "radius",
+ "type": "Applications.Core/applications@2023-10-01-preview",
+ "properties": {
+ "name": "corerp-resources-application-app",
+ "location": "[parameters('location')]",
+ "properties": {
+ "environment": "[reference('env').id]"
}
+ },
+ "dependsOn": ["env"]
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/cli/bicep/testdata/test-parameters.json b/pkg/cli/bicep/testdata/test-parameters.json
index 0ef679ddd57..6a10cf46508 100644
--- a/pkg/cli/bicep/testdata/test-parameters.json
+++ b/pkg/cli/bicep/testdata/test-parameters.json
@@ -1,12 +1,12 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "param1": {
- "value": "value1"
- },
- "param2": {
- "value": "value2"
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "param1": {
+ "value": "value1"
+ },
+ "param2": {
+ "value": "value2"
}
+ }
}
diff --git a/pkg/cli/cmd/recipe/register/testdata/recipeparam.json b/pkg/cli/cmd/recipe/register/testdata/recipeparam.json
index 4af48b67d4e..4e3a6e2a5ac 100644
--- a/pkg/cli/cmd/recipe/register/testdata/recipeparam.json
+++ b/pkg/cli/cmd/recipe/register/testdata/recipeparam.json
@@ -1,9 +1,9 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "throughput": {
- "value": 400
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "throughput": {
+ "value": 400
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/cli/swagger/examples/GenericResources_CreateOrUpdate.json b/pkg/cli/swagger/examples/GenericResources_CreateOrUpdate.json
index 2d36e7876b9..fb5255e1f98 100644
--- a/pkg/cli/swagger/examples/GenericResources_CreateOrUpdate.json
+++ b/pkg/cli/swagger/examples/GenericResources_CreateOrUpdate.json
@@ -40,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/cli/swagger/examples/GenericResources_Delete.json b/pkg/cli/swagger/examples/GenericResources_Delete.json
index 0f1465dcd7d..34d3996d9e8 100644
--- a/pkg/cli/swagger/examples/GenericResources_Delete.json
+++ b/pkg/cli/swagger/examples/GenericResources_Delete.json
@@ -12,4 +12,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/cli/swagger/examples/GenericResources_Get.json b/pkg/cli/swagger/examples/GenericResources_Get.json
index 73bc1db2657..672e803cbc5 100644
--- a/pkg/cli/swagger/examples/GenericResources_Get.json
+++ b/pkg/cli/swagger/examples/GenericResources_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/cli/swagger/examples/GenericResources_ListByRootScope.json b/pkg/cli/swagger/examples/GenericResources_ListByRootScope.json
index e5b8bc3dda0..3991c6da9aa 100644
--- a/pkg/cli/swagger/examples/GenericResources_ListByRootScope.json
+++ b/pkg/cli/swagger/examples/GenericResources_ListByRootScope.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/cli/swagger/examples/GenericResources_ListSecrets.json b/pkg/cli/swagger/examples/GenericResources_ListSecrets.json
index d81a94f2cab..ab6f6c73fcb 100644
--- a/pkg/cli/swagger/examples/GenericResources_ListSecrets.json
+++ b/pkg/cli/swagger/examples/GenericResources_ListSecrets.json
@@ -14,4 +14,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/cli/swagger/genericResource.json b/pkg/cli/swagger/genericResource.json
index 752e5f9a8c0..91fafd58d66 100644
--- a/pkg/cli/swagger/genericResource.json
+++ b/pkg/cli/swagger/genericResource.json
@@ -6,20 +6,12 @@
"version": "2023-10-01-preview"
},
"host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "schemes": ["https"],
+ "consumes": ["application/json"],
+ "produces": ["application/json"],
"security": [
{
- "azure_auth": [
- "user_impersonation"
- ]
+ "azure_auth": ["user_impersonation"]
}
],
"securityDefinitions": {
@@ -38,17 +30,13 @@
"get": {
"description": "Lists information about all resources of the given resource type in the given root scope",
"operationId": "GenericResources_ListByRootScope",
- "produces": [
- "application/json"
- ],
+ "produces": ["application/json"],
"x-ms-examples": {
"GenericResourceListByRootScope": {
"$ref": "./examples/GenericResourceListByRootScope.json"
}
},
- "tags": [
- "GenericResources"
- ],
+ "tags": ["GenericResources"],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -84,17 +72,13 @@
"get": {
"description": "Retrieves information about a generic resource with the name given of the type given within the root scope",
"operationId": "GenericResources_Get",
- "produces": [
- "application/json"
- ],
+ "produces": ["application/json"],
"x-ms-examples": {
"GenericResources_Get": {
"$ref": "./examples/GenericResources_Get.json"
}
},
- "tags": [
- "GenericResources"
- ],
+ "tags": ["GenericResources"],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -127,17 +111,13 @@
"put": {
"description": "Creates or updates a Generic resource",
"operationId": "GenericResources_CreateOrUpdate",
- "produces": [
- "application/json"
- ],
+ "produces": ["application/json"],
"x-ms-examples": {
"GenericResources_CreateOrUpdate": {
"$ref": "./examples/GenericResources_CreateOrUpdate.json"
}
},
- "tags": [
- "GenericResources"
- ],
+ "tags": ["GenericResources"],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -189,17 +169,13 @@
"delete": {
"description": "Deletes an existing Generic resource",
"operationId": "GenericResources_Delete",
- "produces": [
- "application/json"
- ],
+ "produces": ["application/json"],
"x-ms-examples": {
"GenericResources_Delete": {
"$ref": "./examples/GenericResources_Delete.json"
}
},
- "tags": [
- "GenericResources"
- ],
+ "tags": ["GenericResources"],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -241,17 +217,13 @@
"post": {
"description": "Lists secrets for a resource",
"operationId": "GenericResources_ListSecrets",
- "produces": [
- "application/json"
- ],
+ "produces": ["application/json"],
"x-ms-examples": {
"GenericResources_ListSecrets": {
"$ref": "./examples/GenericResources_ListSecrets.json"
}
},
- "tags": [
- "GenericResources"
- ],
+ "tags": ["GenericResources"],
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -309,9 +281,7 @@
"$ref": "#/definitions/TrackedResource"
}
],
- "required": [
- "properties"
- ],
+ "required": ["properties"],
"properties": {
"systemData": {
"$ref": "#/definitions/systemData"
@@ -364,10 +334,7 @@
"items": {
"$ref": "#/definitions/ErrorDetail"
},
- "x-ms-identifiers": [
- "message",
- "target"
- ],
+ "x-ms-identifiers": ["message", "target"],
"description": "The error details."
},
"additionalInfo": {
@@ -407,25 +374,16 @@
"additionalProperties": {
"type": "string"
},
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "Resource tags."
},
"location": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "The geo-location where the resource lives"
}
},
- "required": [
- "location"
- ],
+ "required": ["location"],
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -467,12 +425,7 @@
"createdByType": {
"type": "string",
"description": "The type of identity that created the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
"x-ms-enum": {
"name": "createdByType",
"modelAsString": true
@@ -490,12 +443,7 @@
"lastModifiedByType": {
"type": "string",
"description": "The type of identity that last modified the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
"x-ms-enum": {
"name": "createdByType",
"modelAsString": true
@@ -547,4 +495,4 @@
"x-ms-skip-url-encoding": true
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/applicationresource.json b/pkg/corerp/api/v20231001preview/testdata/applicationresource.json
index 8f9d12ed9ee..0ffb889ea7d 100644
--- a/pkg/corerp/api/v20231001preview/testdata/applicationresource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/applicationresource.json
@@ -22,4 +22,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodel.json b/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodel.json
index 905722cc4a8..3651a80835a 100644
--- a/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodel.json
@@ -45,4 +45,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodelemptyext.json b/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodelemptyext.json
index f580bcf7069..86ec2eb1de7 100644
--- a/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodelemptyext.json
+++ b/pkg/corerp/api/v20231001preview/testdata/applicationresourcedatamodelemptyext.json
@@ -1,24 +1,24 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0",
- "name": "app0",
- "type": "Applications.Core/applications",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "extensions": [
- {
- "kind": "kubernetesMetadata"
- }
- ]
- }
- }
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0",
+ "name": "app0",
+ "type": "Applications.Core/applications",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "extensions": [
+ {
+ "kind": "kubernetesMetadata"
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext.json b/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext.json
index e930f185a62..f42db89a0de 100644
--- a/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext.json
+++ b/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext.json
@@ -1,13 +1,13 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0",
- "name": "app0",
- "type": "Applications.Core/applications",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "extensions": [
- {
- "kind": "kubernetesMetadata"
- }
- ]
- }
- }
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0",
+ "name": "app0",
+ "type": "Applications.Core/applications",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "extensions": [
+ {
+ "kind": "kubernetesMetadata"
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext2.json b/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext2.json
index 4ae53837296..6aabb32770c 100644
--- a/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext2.json
+++ b/pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext2.json
@@ -1,15 +1,15 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0",
- "name": "app0",
- "type": "Applications.Core/applications",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "extensions": [
- {
- "kind": "kubernetesMetadata",
- "annotations": {},
- "labels": {}
- }
- ]
- }
- }
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0",
+ "name": "app0",
+ "type": "Applications.Core/applications",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "extensions": [
+ {
+ "kind": "kubernetesMetadata",
+ "annotations": {},
+ "labels": {}
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresource-manual.json b/pkg/corerp/api/v20231001preview/testdata/containerresource-manual.json
index d8548c736ae..9d49e2aac4e 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresource-manual.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresource-manual.json
@@ -14,4 +14,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresource-nil-env-variables.json b/pkg/corerp/api/v20231001preview/testdata/containerresource-nil-env-variables.json
index 1716f56f5cf..5ed5e70d369 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresource-nil-env-variables.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresource-nil-env-variables.json
@@ -18,9 +18,7 @@
"disableDefaultEnvVars": true,
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -36,15 +34,10 @@
"containerPort": 8080
},
"env": {
- "DB_USER": { }
+ "DB_USER": {}
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -77,4 +70,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresource-runtimes.json b/pkg/corerp/api/v20231001preview/testdata/containerresource-runtimes.json
index 0778865fdc7..27c4e682379 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresource-runtimes.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresource-runtimes.json
@@ -18,9 +18,7 @@
"disableDefaultEnvVars": true,
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -35,13 +33,8 @@
"timeoutSeconds": 5,
"containerPort": 8080
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -87,4 +80,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresource.json b/pkg/corerp/api/v20231001preview/testdata/containerresource.json
index 0775bb97057..4a76b617bd9 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresource.json
@@ -18,9 +18,7 @@
"disableDefaultEnvVars": true,
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -46,13 +44,8 @@
}
}
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -85,4 +78,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-manual.json b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-manual.json
index 1d6b96fc6b1..38a6c7bc29d 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-manual.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-manual.json
@@ -33,4 +33,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-runtime.json b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-runtime.json
index f5757c4b8bb..95ee8b16a16 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-runtime.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel-runtime.json
@@ -28,9 +28,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -52,13 +50,8 @@
"containerPort": 8080
}
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"extensions": [
@@ -98,4 +91,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel.json b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel.json
index 9540ae59f0d..958067d8489 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodel.json
@@ -28,9 +28,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -63,13 +61,8 @@
}
}
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"extensions": [
@@ -103,4 +96,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodelemptyext.json b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodelemptyext.json
index 50dd1948dda..4429df50d71 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodelemptyext.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourcedatamodelemptyext.json
@@ -28,9 +28,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -52,13 +50,8 @@
"containerPort": 8080
}
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"extensions": [
@@ -82,4 +75,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext.json b/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext.json
index b4fd1c9411b..578df2ce1a9 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext.json
@@ -18,9 +18,7 @@
"disableDefaultEnvVars": true,
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -35,13 +33,8 @@
"timeoutSeconds": 5,
"containerPort": 8080
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -68,4 +61,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext2.json b/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext2.json
index 37870372a4a..8322ad254b9 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext2.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourceemptyext2.json
@@ -18,9 +18,7 @@
"disableDefaultEnvVars": true,
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -35,13 +33,8 @@
"timeoutSeconds": 5,
"containerPort": 8080
},
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -66,4 +59,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/containerresourcenegativetest.json b/pkg/corerp/api/v20231001preview/testdata/containerresourcenegativetest.json
index 2fd62bf9e68..9d6d1bce51a 100644
--- a/pkg/corerp/api/v20231001preview/testdata/containerresourcenegativetest.json
+++ b/pkg/corerp/api/v20231001preview/testdata/containerresourcenegativetest.json
@@ -17,9 +17,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "azure",
- "roles": [
- "read"
- ]
+ "roles": ["read"]
}
}
},
@@ -37,4 +35,4 @@
"resource": "resourceid"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-insecure-registry.json b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-insecure-registry.json
index 8f78c51cc74..bb3a8d1290c 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-insecure-registry.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-insecure-registry.json
@@ -1,15 +1,15 @@
{
- "templateKind": "bicep",
- "templatePath": "br:localhost:8000/recipes/cosmosdb",
- "plainHttp": true,
- "parameters": {
- "throughput": {
- "maxValue": 400,
- "defaultValue": 200
- },
- "location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
- }
+ "templateKind": "bicep",
+ "templatePath": "br:localhost:8000/recipes/cosmosdb",
+ "plainHttp": true,
+ "parameters": {
+ "throughput": {
+ "maxValue": 400,
+ "defaultValue": 200
+ },
+ "location": {
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-missingtemplatekind.json b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-missingtemplatekind.json
index 62b803a7a6a..ba569094d55 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-missingtemplatekind.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-missingtemplatekind.json
@@ -6,8 +6,8 @@
"defaultValue": 200
},
"location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-terraform.json b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-terraform.json
index d761b3a2c88..415b5980b91 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-terraform.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-terraform.json
@@ -1,15 +1,15 @@
{
- "templateKind": "terraform",
- "templatePath": "Azure/cosmosdb/azurerm",
- "terraformVersion": "1.1.0",
- "parameters": {
- "throughput": {
- "maxValue": 400,
- "defaultValue": 200
- },
- "location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
- }
+ "templateKind": "terraform",
+ "templatePath": "Azure/cosmosdb/azurerm",
+ "terraformVersion": "1.1.0",
+ "parameters": {
+ "throughput": {
+ "maxValue": 400,
+ "defaultValue": 200
+ },
+ "location": {
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel.json b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel.json
index c983da8df91..e35ae205b8f 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel.json
@@ -7,8 +7,8 @@
"defaultValue": 200
},
"location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-missing-namespace.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-missing-namespace.json
index 708c1f62948..2843a4cf989 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-missing-namespace.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-missing-namespace.json
@@ -1,11 +1,11 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-namespace.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-namespace.json
index e4ccce04623..dbadb74e93a 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-namespace.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-namespace.json
@@ -1,12 +1,12 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "radiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespace"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "radiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespaceradiuslongnamespace"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-resourcetype.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-resourcetype.json
index 71e0c25eac8..6739e5212a5 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-resourcetype.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-resourcetype.json
@@ -1,28 +1,28 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
},
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- },
- "aws": {
- "scope": "/planes/aws/aws/accounts/140313373712/regions/us-west-2"
- }
- },
- "recipes": {
- "Applications.Dapr/pubsub":{
- "cosmos-recipe": {
- "templateKind": "bicep",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/pubsub"
- }
+ "aws": {
+ "scope": "/planes/aws/aws/accounts/140313373712/regions/us-west-2"
+ }
+ },
+ "recipes": {
+ "Applications.Dapr/pubsub": {
+ "cosmos-recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/pubsub"
}
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-templatekind.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-templatekind.json
index b5d0953a0c5..38685674343 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-templatekind.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-templatekind.json
@@ -1,25 +1,25 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- }
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templateKind": "helm",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/mongo"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "helm",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/mongo"
}
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-missing-templatekind.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-missing-templatekind.json
index ab8e503830a..7be03feeea1 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-missing-templatekind.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-missing-templatekind.json
@@ -1,24 +1,24 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- }
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/mongo"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/mongo"
}
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-terraformrecipe-localpath.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-terraformrecipe-localpath.json
index 145cf4a3c59..ffa52a0daa4 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-terraformrecipe-localpath.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-terraformrecipe-localpath.json
@@ -1,25 +1,25 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- }
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templateKind": "terraform",
- "templatePath": "../not-allowed/"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "terraform",
+ "templatePath": "../not-allowed/"
}
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-simulated-enabled.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-simulated-enabled.json
index ae7f8a8ccc3..ae2abc4b561 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-simulated-enabled.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-simulated-enabled.json
@@ -1,13 +1,13 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "simulated": true
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "simulated": true
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-workload-identity.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-workload-identity.json
index 1d4e2e86037..195420e4a44 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-workload-identity.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource-with-workload-identity.json
@@ -1,39 +1,39 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default",
- "identity": {
- "kind": "azure.com.workload",
- "resource": "/subscriptions/testSub/resourcegroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/radius-mi-app",
- "oidcIssuer": "https://oidcurl/guid"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default",
+ "identity": {
+ "kind": "azure.com.workload",
+ "resource": "/subscriptions/testSub/resourcegroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/radius-mi-app",
+ "oidcIssuer": "https://oidcurl/guid"
+ }
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
+ },
+ "recipeConfig": {
+ "terraform": {
+ "authentication": {
+ "git": {}
},
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- }
- },
- "recipeConfig": {
- "terraform": {
- "authentication": {
- "git": {}
- },
- "providers": {}
- },
- "env": {}
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases": {
- "cosmos-recipe": {
- "templateKind": "bicep",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
- }
- }
+ "providers": {}
+ },
+ "env": {}
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresource.json b/pkg/corerp/api/v20231001preview/testdata/environmentresource.json
index 796a6f5bc31..ff73837b888 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresource.json
@@ -110,4 +110,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel-with-workload-identity.json b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel-with-workload-identity.json
index e94928f2738..65919e19f60 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel-with-workload-identity.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel-with-workload-identity.json
@@ -1,52 +1,52 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "identity": {
+ "kind": "azure.com.workload",
+ "resource": "/subscriptions/testSub/resourcegroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/radius-mi-app",
+ "oidcIssuer": "https://oidcurl/guid"
+ }
},
- "tags": {
- "env": "dev"
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
},
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "identity": {
- "kind": "azure.com.workload",
- "resource": "/subscriptions/testSub/resourcegroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/radius-mi-app",
- "oidcIssuer": "https://oidcurl/guid"
- }
+ "recipeConfig": {
+ "terraform": {
+ "authentication": {
+ "git": {}
},
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- }
- },
- "recipeConfig": {
- "terraform": {
- "authentication": {
- "git": {}
- },
- "providers": {}
- },
- "env": {}
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases": {
- "cosmos-recipe": {
- "templateKind": "bicep",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
- }
- }
+ "providers": {}
+ },
+ "env": {}
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel.json b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel.json
index c185bd93b04..4237ed9f57c 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodel.json
@@ -112,4 +112,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptyext.json b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptyext.json
index 13fc6e48a64..6fd616d39f8 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptyext.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptyext.json
@@ -1,53 +1,53 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ }
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- }
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- },
- "aws": {
- "scope": "/planes/aws/aws/accounts/140313373712/regions/us-west-2"
- }
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
},
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templateKind": "bicep",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb",
- "parameters" : {
- "throughput": 400
- }
+ "aws": {
+ "scope": "/planes/aws/aws/accounts/140313373712/regions/us-west-2"
+ }
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb",
+ "parameters": {
+ "throughput": 400
}
}
- },
- "extensions": [
- {
- "kind": "kubernetesMetadata",
- "kubernetesmetadata": {
- "annotations": {},
- "labels": {}
- }
+ }
+ },
+ "extensions": [
+ {
+ "kind": "kubernetesMetadata",
+ "kubernetesmetadata": {
+ "annotations": {},
+ "labels": {}
}
- ]
- }
- }
\ No newline at end of file
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptytemplatekind.json b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptytemplatekind.json
index 6df2e9860c7..67a0cca7238 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptytemplatekind.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresourcedatamodelemptytemplatekind.json
@@ -1,37 +1,37 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ }
},
- "tags": {
- "env": "dev"
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
},
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- }
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
- }
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
- }
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
}
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext.json b/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext.json
index 9ddd7f53e34..ada6bb4e8fc 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext.json
@@ -1,32 +1,32 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
}
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templateKind": "bicep",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
- }
- }
- },
- "extensions": [
- {
- "kind": "kubernetesMetadata",
- "annotations": {},
- "labels": {}
- }
- ]
- }
- }
\ No newline at end of file
+ }
+ },
+ "extensions": [
+ {
+ "kind": "kubernetesMetadata",
+ "annotations": {},
+ "labels": {}
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext2.json b/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext2.json
index 924edce3620..5a76805bd62 100644
--- a/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext2.json
+++ b/pkg/corerp/api/v20231001preview/testdata/environmentresourceemptyext2.json
@@ -1,30 +1,30 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "Applications.Core/environments",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
- "namespace": "default"
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "Applications.Core/environments",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster",
+ "namespace": "default"
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ }
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "cosmos-recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
}
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "cosmos-recipe": {
- "templateKind": "bicep",
- "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb"
- }
- }
- },
- "extensions": [
- {
- "kind": "kubernetesMetadata"
- }
- ]
- }
- }
\ No newline at end of file
+ }
+ },
+ "extensions": [
+ {
+ "kind": "kubernetesMetadata"
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extender_manual.json b/pkg/corerp/api/v20231001preview/testdata/extender_manual.json
index d3ebe2bd3c6..d391c3d018a 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extender_manual.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extender_manual.json
@@ -19,4 +19,4 @@
},
"resourceProvisioning": "manual"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extender_manual_nosecrets.json b/pkg/corerp/api/v20231001preview/testdata/extender_manual_nosecrets.json
index b862fc5a856..9366a035726 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extender_manual_nosecrets.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extender_manual_nosecrets.json
@@ -1,11 +1,11 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "fromNumber": "222-222-2222",
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "fromNumber": "222-222-2222",
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extender_recipe.json b/pkg/corerp/api/v20231001preview/testdata/extender_recipe.json
index d90eb5898d2..e617bfca3f1 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extender_recipe.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extender_recipe.json
@@ -16,4 +16,4 @@
"name": "test-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual.json b/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual.json
index f557f855c1b..654d1ea8a84 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual.json
@@ -32,4 +32,4 @@
},
"resourceProvisioning": "manual"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual_nosecrets.json b/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual_nosecrets.json
index 171e0394bd2..c2c8f0d822e 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual_nosecrets.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_manual_nosecrets.json
@@ -1,24 +1,24 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "additionalProperties": {
+ "fromNumber": "222-222-2222"
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "additionalProperties":{
- "fromNumber": "222-222-2222"
- },
- "resourceProvisioning": "manual"
- }
+ "resourceProvisioning": "manual"
+ }
}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_recipe.json b/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_recipe.json
index 40d69d4bc18..b8194d503c1 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_recipe.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extenderdatamodel_recipe.json
@@ -31,4 +31,4 @@
"name": "test-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extenderresource-invalid.json b/pkg/corerp/api/v20231001preview/testdata/extenderresource-invalid.json
index 617e384ce54..19158fd4e8c 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extenderresource-invalid.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extenderresource-invalid.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "properties": {
- "secrets": 12345
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
+ "properties": {
+ "secrets": 12345
+ }
}
diff --git a/pkg/corerp/api/v20231001preview/testdata/extenderresponseresourcedatamodel.json b/pkg/corerp/api/v20231001preview/testdata/extenderresponseresourcedatamodel.json
index 8ac29c54b0c..e8b8e9cbf13 100644
--- a/pkg/corerp/api/v20231001preview/testdata/extenderresponseresourcedatamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/extenderresponseresourcedatamodel.json
@@ -28,4 +28,4 @@
},
"resourceProvisioning": "manual"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-sslpassthrough.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-sslpassthrough.json
index 8af0e3ac850..391ba5a7513 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-sslpassthrough.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-sslpassthrough.json
@@ -27,4 +27,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination-nominprotocolversion.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination-nominprotocolversion.json
index 86032cb2b35..ea59397b815 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination-nominprotocolversion.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination-nominprotocolversion.json
@@ -27,4 +27,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination.json
index cf140763318..4a4b8704919 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresource-with-tlstermination.json
@@ -28,4 +28,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresource.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresource.json
index a0df3dfb357..e1a006861ba 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresource.json
@@ -24,4 +24,4 @@
],
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-enablewebsockets.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-enablewebsockets.json
index 7a993f21eb2..6fdf96a526b 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-enablewebsockets.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-enablewebsockets.json
@@ -39,4 +39,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-sslpassthrough.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-sslpassthrough.json
index 92249ee132b..870075aff7c 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-sslpassthrough.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-sslpassthrough.json
@@ -38,4 +38,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination-nominprotocolversion.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination-nominprotocolversion.json
index 93f1a34d0bc..1fc230d7a8d 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination-nominprotocolversion.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination-nominprotocolversion.json
@@ -38,4 +38,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination.json
index b0d1aedfc38..91f27c0573a 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel-with-tlstermination.json
@@ -39,4 +39,4 @@
},
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel.json b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel.json
index 255a6366f6c..e664ca3ede6 100644
--- a/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/gatewayresourcedatamodel.json
@@ -35,4 +35,4 @@
],
"url": "http://myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/reciperesource.json b/pkg/corerp/api/v20231001preview/testdata/reciperesource.json
index ee608ee6dbc..5cf45dcd31d 100644
--- a/pkg/corerp/api/v20231001preview/testdata/reciperesource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/reciperesource.json
@@ -1,4 +1,4 @@
{
- "resourceType":"Applications.Datastores/mongoDatabases",
- "name":"mongo-azure"
-}
\ No newline at end of file
+ "resourceType": "Applications.Datastores/mongoDatabases",
+ "name": "mongo-azure"
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel-resource.json b/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel-resource.json
index d0dc865d13e..761e87612f7 100644
--- a/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel-resource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel-resource.json
@@ -40,4 +40,4 @@
"tags": {
"env": "dev"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel.json b/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel.json
index 549ea8ab322..19a6e2eaede 100644
--- a/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/secretstore-datamodel.json
@@ -35,4 +35,4 @@
"tags": {
"env": "dev"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned-resource.json b/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned-resource.json
index c1a99b3eb56..77e8df35096 100644
--- a/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned-resource.json
+++ b/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned-resource.json
@@ -32,4 +32,4 @@
"tags": {
"env": "dev"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned.json b/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned.json
index 563a4c203f5..554925b4d77 100644
--- a/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned.json
+++ b/pkg/corerp/api/v20231001preview/testdata/secretstore-versioned.json
@@ -26,4 +26,4 @@
"tags": {
"env": "dev"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/volume-az-kv-datamodel.json b/pkg/corerp/api/v20231001preview/testdata/volume-az-kv-datamodel.json
index 5c68dbf9c3e..1679a381eb6 100644
--- a/pkg/corerp/api/v20231001preview/testdata/volume-az-kv-datamodel.json
+++ b/pkg/corerp/api/v20231001preview/testdata/volume-az-kv-datamodel.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/api/v20231001preview/testdata/volume-az-kv.json b/pkg/corerp/api/v20231001preview/testdata/volume-az-kv.json
index e8e09a86519..7d3878c1189 100644
--- a/pkg/corerp/api/v20231001preview/testdata/volume-az-kv.json
+++ b/pkg/corerp/api/v20231001preview/testdata/volume-az-kv.json
@@ -1,66 +1,66 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/volumes/azkeyvault0",
- "name": "azkeyvault0",
- "type": "Applications.Core/volumes",
- "location": "global",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/volumes/azkeyvault0",
+ "name": "azkeyvault0",
+ "type": "Applications.Core/volumes",
+ "location": "global",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "status": {
+ "outputResources": [
+ {
+ "id": "/planes/test/local/providers/Test.Namespace/testResources/test-resource"
+ }
+ ]
},
- "tags": {
- "env": "dev"
+ "provisioningState": "Succeeded",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
+ "resource": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.KeyVault/vaults/vault0",
+ "kind": "azure.com.keyvault",
+ "secrets": {
+ "mysecret-1": {
+ "name": "mysecret-1",
+ "alias": "aliassecret-1",
+ "version": "1",
+ "encoding": "utf-8"
+ },
+ "mysecret-2": {
+ "name": "mysecret-2",
+ "encoding": "base64"
+ }
},
- "properties": {
- "status": {
- "outputResources": [
- {
- "id": "/planes/test/local/providers/Test.Namespace/testResources/test-resource"
- }
- ]
- },
- "provisioningState": "Succeeded",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "resource": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.KeyVault/vaults/vault0",
- "kind": "azure.com.keyvault",
- "secrets": {
- "mysecret-1": {
- "name": "mysecret-1",
- "alias": "aliassecret-1",
- "version": "1",
- "encoding": "utf-8"
- },
- "mysecret-2": {
- "name": "mysecret-2",
- "encoding": "base64"
- }
- },
- "keys": {
- "mykey-1": {
- "name": "key1",
- "alias": "aliaskey1-1",
- "version": "1"
- },
- "mykey-2": {
- "name": "key2"
- }
- },
- "certificates": {
- "mycert-1": {
- "name": "cert1",
- "alias": "aliascert1-1",
- "certType": "certificate",
- "encoding": "utf-8"
- },
- "mycert-2": {
- "name": "cert2",
- "certType": "privatekey",
- "format": "pfx",
- "encoding": "hex"
- }
- }
+ "keys": {
+ "mykey-1": {
+ "name": "key1",
+ "alias": "aliaskey1-1",
+ "version": "1"
+ },
+ "mykey-2": {
+ "name": "key2"
+ }
+ },
+ "certificates": {
+ "mycert-1": {
+ "name": "cert1",
+ "alias": "aliascert1-1",
+ "certType": "certificate",
+ "encoding": "utf-8"
+ },
+ "mycert-2": {
+ "name": "cert2",
+ "certType": "privatekey",
+ "format": "pfx",
+ "encoding": "hex"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/backend/deployment/testdata/containerresourcedatamodel.json b/pkg/corerp/backend/deployment/testdata/containerresourcedatamodel.json
index f5e830d3537..a76981fe069 100644
--- a/pkg/corerp/backend/deployment/testdata/containerresourcedatamodel.json
+++ b/pkg/corerp/backend/deployment/testdata/containerresourcedatamodel.json
@@ -28,9 +28,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "Http",
- "roles": [
- "administrator"
- ]
+ "roles": ["administrator"]
}
}
},
@@ -54,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/backend/deployment/testdata/containerresourcedatamodellowercase.json b/pkg/corerp/backend/deployment/testdata/containerresourcedatamodellowercase.json
index 613bb441f93..28559f7df74 100644
--- a/pkg/corerp/backend/deployment/testdata/containerresourcedatamodellowercase.json
+++ b/pkg/corerp/backend/deployment/testdata/containerresourcedatamodellowercase.json
@@ -28,9 +28,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "Http",
- "roles": [
- "administrator"
- ]
+ "roles": ["administrator"]
}
}
},
@@ -54,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/backend/deployment/testdata/containerresourcedatamodeluppercase.json b/pkg/corerp/backend/deployment/testdata/containerresourcedatamodeluppercase.json
index 56d11ef9624..ddf98590faa 100644
--- a/pkg/corerp/backend/deployment/testdata/containerresourcedatamodeluppercase.json
+++ b/pkg/corerp/backend/deployment/testdata/containerresourcedatamodeluppercase.json
@@ -28,9 +28,7 @@
"source": "inventory_route_id",
"iam": {
"kind": "Http",
- "roles": [
- "administrator"
- ]
+ "roles": ["administrator"]
}
}
},
@@ -54,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_datamodel.json b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_datamodel.json
index d039409f594..360baffe211 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_datamodel.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_datamodel.json
@@ -1,40 +1,40 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/applications/app0",
- "name": "app0",
- "type": "applications.core/applications",
- "location": "West US",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
- "extensions": [
- {
- "kind": "kubernetesNamespace",
- "kubernetesNamespace": {
- "namespace": "app0-ns"
- }
- }
- ],
- "status": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "",
- "namespace": "app0-ns"
- }
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/applications/app0",
+ "name": "app0",
+ "type": "applications.core/applications",
+ "location": "West US",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
+ "extensions": [
+ {
+ "kind": "kubernetesNamespace",
+ "kubernetesNamespace": {
+ "namespace": "app0-ns"
}
- },
- "provisioningState": "Succeeded",
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "radius-test-rg",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ }
+ ],
+ "status": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "",
+ "namespace": "app0-ns"
+ }
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "radius-test-rg",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input.json b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input.json
index 834c7437fe6..3dfc369e40c 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input.json
@@ -1,13 +1,13 @@
{
- "location": "West US",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
- "provisioningState": "Succeeded",
- "extensions": [
- {
- "kind": "kubernetesNamespace",
- "namespace": "app0-ns"
- }
- ]
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
+ "provisioningState": "Succeeded",
+ "extensions": [
+ {
+ "kind": "kubernetesNamespace",
+ "namespace": "app0-ns"
+ }
+ ]
+ }
+}
diff --git a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input_diff_env.json b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input_diff_env.json
index 7251687dcf2..9136d8912cb 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input_diff_env.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input_diff_env.json
@@ -1,7 +1,7 @@
{
- "location": "West US",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/invalid",
- "provisioningState": "Succeeded"
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/invalid",
+ "provisioningState": "Succeeded"
+ }
+}
diff --git a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_output.json b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_output.json
index efbfccd3ddc..6e637fdfb6b 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_output.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/application20231001preview_output.json
@@ -1,31 +1,31 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/applications/app0",
- "location": "West US",
- "name": "app0",
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
- "provisioningState": "Succeeded",
- "extensions": [
- {
- "kind": "kubernetesNamespace",
- "namespace": "app0-ns"
- }
- ],
- "status": {
- "compute": {
- "kind": "kubernetes",
- "namespace": "app0-ns"
- }
- }
- },
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
- },
- "tags": {},
- "type": "applications.core/applications"
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/applications/app0",
+ "location": "West US",
+ "name": "app0",
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
+ "provisioningState": "Succeeded",
+ "extensions": [
+ {
+ "kind": "kubernetesNamespace",
+ "namespace": "app0-ns"
+ }
+ ],
+ "status": {
+ "compute": {
+ "kind": "kubernetes",
+ "namespace": "app0-ns"
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "tags": {},
+ "type": "applications.core/applications"
+}
diff --git a/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-in.json b/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-in.json
index 0c86907ac9e..f4a7bd75c5c 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-in.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-in.json
@@ -1,45 +1,45 @@
[
- {
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
- "name": "frontend",
- "properties": {
- "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
- "connections": {
- "sql": {
- "source": "http://backendapp:8080"
- }
- },
- "provisioningState": "Succeeded",
- "status": {
- "outputResources": {
- "id": "/some/thing/else",
- "localId": "something"
- }
- }
- },
- "type": "Applications.Core/containers"
+ {
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
+ "name": "frontend",
+ "properties": {
+ "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
+ "connections": {
+ "sql": {
+ "source": "http://backendapp:8080"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": {
+ "outputResources": {
+ "id": "/some/thing/else",
+ "localId": "something"
+ }
+ }
},
- {
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
- "name": "backendapp",
- "properties": {
- "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
- "container": {
- "ports": {
- "web": {
- "port": 8080,
- "protocol": "TCP"
- }
- }
- },
- "provisioningState": "Succeeded",
- "status": {
- "outputResources": {
- "id": "/some/thing/else",
- "localId": "something"
- }
- }
- },
- "type": "Applications.Core/containers"
- }
+ "type": "Applications.Core/containers"
+ },
+ {
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
+ "name": "backendapp",
+ "properties": {
+ "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
+ "container": {
+ "ports": {
+ "web": {
+ "port": 8080,
+ "protocol": "TCP"
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": {
+ "outputResources": {
+ "id": "/some/thing/else",
+ "localId": "something"
+ }
+ }
+ },
+ "type": "Applications.Core/containers"
+ }
]
diff --git a/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-out.json b/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-out.json
index 4875d003afa..f75d3000354 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-out.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/graph-app-directroute-out.json
@@ -1,28 +1,28 @@
[
- {
- "connections": [
- {
- "direction": "Outbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp"
- }
- ],
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
- "name": "frontend",
- "outputResources": [],
- "provisioningState": "Succeeded",
- "type": "Applications.Core/containers"
- },
- {
- "connections": [
- {
- "direction": "Inbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend"
- }
- ],
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
- "name": "backendapp",
- "outputResources": [],
- "provisioningState": "Succeeded",
- "type": "Applications.Core/containers"
- }
+ {
+ "connections": [
+ {
+ "direction": "Outbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp"
+ }
+ ],
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
+ "name": "frontend",
+ "outputResources": [],
+ "provisioningState": "Succeeded",
+ "type": "Applications.Core/containers"
+ },
+ {
+ "connections": [
+ {
+ "direction": "Inbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend"
+ }
+ ],
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
+ "name": "backendapp",
+ "outputResources": [],
+ "provisioningState": "Succeeded",
+ "type": "Applications.Core/containers"
+ }
]
diff --git a/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-in.json b/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-in.json
index c19897480f1..57f971b6675 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-in.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-in.json
@@ -1,77 +1,77 @@
[
- {
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw",
- "name": "httpgw",
- "properties": {
- "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
- "routes": [
- {
- "path": "/",
- "destination": "http://frontend:8080"
- },
- {
- "path": "/backendapi",
- "destination": "http://backendapp:8080"
- }
- ]
+ {
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw",
+ "name": "httpgw",
+ "properties": {
+ "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
+ "routes": [
+ {
+ "path": "/",
+ "destination": "http://frontend:8080"
},
- "type": "Applications.Core/containers"
+ {
+ "path": "/backendapi",
+ "destination": "http://backendapp:8080"
+ }
+ ]
},
- {
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
- "name": "frontend",
- "properties": {
- "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
- "container": {
- "image": "magpie:latest",
- "readinessProbe": {
- "kind": "httpGet",
- "path": "/healthz",
- "containerPort": 8080
- },
- "ports": {
- "web": {
- "port": 8080,
- "protocol": "TCP"
- }
- }
- },
- "connections": {
- "sql": {
- "source": "http://backendapp:8080"
- }
- },
- "provisioningState": "Succeeded",
- "status": {
- "outputResources": {
- "id": "/some/thing/else",
- "localId": "something"
- }
- }
+ "type": "Applications.Core/containers"
+ },
+ {
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
+ "name": "frontend",
+ "properties": {
+ "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
+ "container": {
+ "image": "magpie:latest",
+ "readinessProbe": {
+ "kind": "httpGet",
+ "path": "/healthz",
+ "containerPort": 8080
},
- "type": "Applications.Core/containers"
+ "ports": {
+ "web": {
+ "port": 8080,
+ "protocol": "TCP"
+ }
+ }
+ },
+ "connections": {
+ "sql": {
+ "source": "http://backendapp:8080"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": {
+ "outputResources": {
+ "id": "/some/thing/else",
+ "localId": "something"
+ }
+ }
},
- {
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
- "name": "backendapp",
- "properties": {
- "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
- "container": {
- "ports": {
- "web": {
- "port": 8080,
- "protocol": "TCP"
- }
- }
- },
- "provisioningState": "Succeeded",
- "status": {
- "outputResources": {
- "id": "/some/thing/else",
- "localId": "something"
- }
- }
- },
- "type": "Applications.Core/containers"
- }
+ "type": "Applications.Core/containers"
+ },
+ {
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
+ "name": "backendapp",
+ "properties": {
+ "application": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/Applications/myapp",
+ "container": {
+ "ports": {
+ "web": {
+ "port": 8080,
+ "protocol": "TCP"
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": {
+ "outputResources": {
+ "id": "/some/thing/else",
+ "localId": "something"
+ }
+ }
+ },
+ "type": "Applications.Core/containers"
+ }
]
diff --git a/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-out.json b/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-out.json
index 478b64fd784..73ac8001344 100644
--- a/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-out.json
+++ b/pkg/corerp/frontend/controller/applications/testdata/graph-app-gw-out.json
@@ -1,53 +1,53 @@
[
- {
- "connections": [
- {
- "direction": "Outbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp"
- },
- {
- "direction": "Inbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw"
- }
- ],
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
- "name": "frontend",
- "outputResources": [],
- "provisioningState": "Succeeded",
- "type": "Applications.Core/containers"
- },
- {
- "connections": [
- {
- "direction": "Inbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend"
- },
- {
- "direction": "Inbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw"
- }
- ],
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
- "name": "backendapp",
- "outputResources": [],
- "provisioningState": "Succeeded",
- "type": "Applications.Core/containers"
- },
- {
- "connections": [
- {
- "direction": "Outbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp"
- },
- {
- "direction": "Outbound",
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend"
- }
- ],
- "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw",
- "name": "httpgw",
- "outputResources": [],
- "provisioningState": "Succeeded",
- "type": "Applications.Core/gateways"
- }
-]
\ No newline at end of file
+ {
+ "connections": [
+ {
+ "direction": "Outbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp"
+ },
+ {
+ "direction": "Inbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw"
+ }
+ ],
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend",
+ "name": "frontend",
+ "outputResources": [],
+ "provisioningState": "Succeeded",
+ "type": "Applications.Core/containers"
+ },
+ {
+ "connections": [
+ {
+ "direction": "Inbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend"
+ },
+ {
+ "direction": "Inbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw"
+ }
+ ],
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp",
+ "name": "backendapp",
+ "outputResources": [],
+ "provisioningState": "Succeeded",
+ "type": "Applications.Core/containers"
+ },
+ {
+ "connections": [
+ {
+ "direction": "Outbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/backendapp"
+ },
+ {
+ "direction": "Outbound",
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/containers/frontend"
+ }
+ ],
+ "id": "/planes/radius/local/resourcegroups/default/providers/Applications.Core/gateways/httpgw",
+ "name": "httpgw",
+ "outputResources": [],
+ "provisioningState": "Succeeded",
+ "type": "Applications.Core/gateways"
+ }
+]
diff --git a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_datamodel.json b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_datamodel.json
index 1cefabea284..7c143043771 100644
--- a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_datamodel.json
+++ b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_datamodel.json
@@ -25,9 +25,7 @@
"disableDefaultEnvVars": false,
"iam": {
"kind": "azure",
- "roles": [
- "admin"
- ]
+ "roles": ["admin"]
}
}
},
@@ -60,4 +58,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input.json b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input.json
index 1d39f778a0a..14e0c06bf8e 100644
--- a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input.json
@@ -1,50 +1,48 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/containers/test-container-0",
- "name": "test-container-0",
- "type": "applications.core/containers",
- "location": "West US",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "radius-test-rg",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "test@microsoft.com",
- "createdByType": "Test",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "test@microsoft.com",
- "lastModifiedByType": "Test"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/containers/test-container-0",
+ "name": "test-container-0",
+ "type": "applications.core/containers",
+ "location": "West US",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "radius-test-rg",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "test@microsoft.com",
+ "createdByType": "Test",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "test@microsoft.com",
+ "lastModifiedByType": "Test"
+ },
+ "properties": {
+ "application": "test-application",
+ "connections": {
+ "test-connection": {
+ "source": "test",
+ "disableDefaultEnvVars": false,
+ "iam": {
+ "kind": "azure",
+ "roles": ["admin"]
+ }
+ }
},
- "properties": {
- "application": "test-application",
- "connections": {
- "test-connection": {
- "source": "test",
- "disableDefaultEnvVars": false,
- "iam": {
- "kind": "azure",
- "roles": [
- "admin"
- ]
- }
- }
- },
- "container": {
- "image": "test-image",
- "env": {
- "env-variable-0": "test-env-variable-0",
- "env-variable-1": "test-env-variable-1"
- },
- "ports": {
- "default": {
- "containerPort": 80,
- "protocol": "http",
- "provides": "/"
- }
- },
- "livenessProbe": {
- "containerPort": 8080,
- "initialDelaySeconds": 5,
- "kind": "tcp"
- }
+ "container": {
+ "image": "test-image",
+ "env": {
+ "env-variable-0": "test-env-variable-0",
+ "env-variable-1": "test-env-variable-1"
+ },
+ "ports": {
+ "default": {
+ "containerPort": 80,
+ "protocol": "http",
+ "provides": "/"
}
+ },
+ "livenessProbe": {
+ "containerPort": 8080,
+ "initialDelaySeconds": 5,
+ "kind": "tcp"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input_appid.json b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input_appid.json
index 3384df5349a..42b7439d24b 100644
--- a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input_appid.json
+++ b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_input_appid.json
@@ -1,50 +1,48 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/containers/test-container-0",
- "name": "test-container-0",
- "type": "applications.core/containers",
- "location": "West US",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "radius-test-rg",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "test@microsoft.com",
- "createdByType": "Test",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "test@microsoft.com",
- "lastModifiedByType": "Test"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/containers/test-container-0",
+ "name": "test-container-0",
+ "type": "applications.core/containers",
+ "location": "West US",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "radius-test-rg",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "test@microsoft.com",
+ "createdByType": "Test",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "test@microsoft.com",
+ "lastModifiedByType": "Test"
+ },
+ "properties": {
+ "application": "test-applicatio-1",
+ "connections": {
+ "test-connection": {
+ "source": "test",
+ "disableDefaultEnvVars": false,
+ "iam": {
+ "kind": "azure",
+ "roles": ["admin"]
+ }
+ }
},
- "properties": {
- "application": "test-applicatio-1",
- "connections": {
- "test-connection": {
- "source": "test",
- "disableDefaultEnvVars": false,
- "iam": {
- "kind": "azure",
- "roles": [
- "admin"
- ]
- }
- }
- },
- "container": {
- "image": "test-image",
- "env": {
- "env-variable-0": "test-env-variable-0",
- "env-variable-1": "test-env-variable-1"
- },
- "ports": {
- "default": {
- "containerPort": 80,
- "protocol": "http",
- "provides": "/"
- }
- },
- "livenessProbe": {
- "containerPort": 8080,
- "initialDelaySeconds": 5,
- "kind": "tcp"
- }
+ "container": {
+ "image": "test-image",
+ "env": {
+ "env-variable-0": "test-env-variable-0",
+ "env-variable-1": "test-env-variable-1"
+ },
+ "ports": {
+ "default": {
+ "containerPort": 80,
+ "protocol": "http",
+ "provides": "/"
}
+ },
+ "livenessProbe": {
+ "containerPort": 8080,
+ "initialDelaySeconds": 5,
+ "kind": "tcp"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_output.json b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_output.json
index bc90e95068f..3746c7415bd 100644
--- a/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_output.json
+++ b/pkg/corerp/frontend/controller/containers/testdata/container20231001preview_output.json
@@ -22,9 +22,7 @@
"disableDefaultEnvVars": false,
"iam": {
"kind": "azure",
- "roles": [
- "admin"
- ]
+ "roles": ["admin"]
}
}
},
@@ -56,4 +54,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/containers/testdata/requestheaders20231001preview.json b/pkg/corerp/frontend/controller/containers/testdata/requestheaders20231001preview.json
index 176c9256877..65654f2e8fb 100644
--- a/pkg/corerp/frontend/controller/containers/testdata/requestheaders20231001preview.json
+++ b/pkg/corerp/frontend/controller/containers/testdata/requestheaders20231001preview.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/containers/test-container-0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/containers/test-container-0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/containers/test-container-0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/containers/test-container-0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_datamodel.json b/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_datamodel.json
index 3933174ac49..3e420ffffca 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_datamodel.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_datamodel.json
@@ -1,45 +1,45 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
- "name": "env0",
- "type": "applications.core/environments",
- "location": "West US",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
+ "name": "env0",
+ "type": "applications.core/environments",
+ "location": "West US",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "provisioningState": "Succeeded",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "fakeid",
+ "namespace": "default"
+ }
},
- "provisioningState": "Succeeded",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "fakeid",
- "namespace": "default"
- }
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "mongo-azure": {
- "templateKind": "bicep",
- "templatePath": "ghcr.io/radius-project/dev/recipes/mongodatabases/azure:1.0",
- "parameters": {
- "throughput": 400
- }
- }
- }
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
- }
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "mongo-azure": {
+ "templateKind": "bicep",
+ "templatePath": "ghcr.io/radius-project/dev/recipes/mongodatabases/azure:1.0",
+ "parameters": {
+ "throughput": 400
+ }
}
+ }
},
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "radius-test-rg",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
+ }
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "radius-test-rg",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_input.json b/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_input.json
index c744156b8a9..2b6c5b3a543 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_input.json
@@ -1,26 +1,26 @@
{
- "location": "West US",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "fakeid",
- "namespace": "default"
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "mongo-azure": {
- "templateKind": "bicep",
- "templatePath": "ghcr.io/radius-project/dev/recipes/mongodatabases/azure:1.0",
- "parameters": {
- "throughput": 400
- }
- }
- }
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
- }
+ "location": "West US",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "fakeid",
+ "namespace": "default"
+ },
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "mongo-azure": {
+ "templateKind": "bicep",
+ "templatePath": "ghcr.io/radius-project/dev/recipes/mongodatabases/azure:1.0",
+ "parameters": {
+ "throughput": 400
+ }
}
+ }
+ },
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_output.json b/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_output.json
index 0d7a9147c03..a92ca56e780 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_output.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environment20231001preview_output.json
@@ -1,40 +1,40 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
- "location": "West US",
- "name": "env0",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "fakeid",
- "namespace": "default"
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
- }
- },
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "mongo-azure": {
- "templateKind": "bicep",
- "templatePath": "ghcr.io/radius-project/dev/recipes/mongodatabases/azure:1.0",
- "plainHttp": false,
- "parameters": {
- "throughput": 400
- }
- }
- }
- },
- "provisioningState": "Succeeded"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
+ "location": "West US",
+ "name": "env0",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "fakeid",
+ "namespace": "default"
},
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
+ }
},
- "tags": {},
- "type": "applications.core/environments"
-}
\ No newline at end of file
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "mongo-azure": {
+ "templateKind": "bicep",
+ "templatePath": "ghcr.io/radius-project/dev/recipes/mongodatabases/azure:1.0",
+ "plainHttp": false,
+ "parameters": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "tags": {},
+ "type": "applications.core/environments"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environmentgetmetadatanonexistingrecipe20231001preview_input.json b/pkg/corerp/frontend/controller/environments/testdata/environmentgetmetadatanonexistingrecipe20231001preview_input.json
index f059c65f109..9bb9509e95e 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environmentgetmetadatanonexistingrecipe20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environmentgetmetadatanonexistingrecipe20231001preview_input.json
@@ -1,4 +1,4 @@
{
- "name":"mongodb",
- "resourceType":"Applications.Datastores/mongoDatabases"
-}
\ No newline at end of file
+ "name": "mongodb",
+ "resourceType": "Applications.Datastores/mongoDatabases"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_datamodel.json b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_datamodel.json
index 2596b128c1a..92ab1a5fdfb 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_datamodel.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_datamodel.json
@@ -1,53 +1,53 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
- "name": "env0",
- "type": "applications.core/environments",
- "location": "West US",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0",
+ "name": "env0",
+ "type": "applications.core/environments",
+ "location": "West US",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "provisioningState": "Succeeded",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "fakeid",
+ "namespace": "default"
+ }
},
- "provisioningState": "Succeeded",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "fakeid",
- "namespace": "default"
- }
+ "recipes": {
+ "Applications.Datastores/mongoDatabases": {
+ "mongo-parameters": {
+ "templateKind": "bicep",
+ "templatePath": "ghcr.io/radius-project/dev/recipes/functionaltest/parameters/mongodatabases/azure:1.0"
},
- "recipes": {
- "Applications.Datastores/mongoDatabases":{
- "mongo-parameters": {
- "templateKind": "bicep",
- "templatePath": "ghcr.io/radius-project/dev/recipes/functionaltest/parameters/mongodatabases/azure:1.0"
- },
- "mongo-terraform": {
- "templateKind":"terraform",
- "templatePath": "Azure/cosmosdb/azurerm",
- "templateVersion": "1.1.0"
- }
- },
- "Applications.Datastores/redisCache":{
- "redis": {
- "templateKind": "bicep",
- "templatePath": "ghcr.io/radius-project/dev/redis:1.0"
- }
- }
- },
- "providers": {
- "azure": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
- }
+ "mongo-terraform": {
+ "templateKind": "terraform",
+ "templatePath": "Azure/cosmosdb/azurerm",
+ "templateVersion": "1.1.0"
+ }
+ },
+ "Applications.Datastores/redisCache": {
+ "redis": {
+ "templateKind": "bicep",
+ "templatePath": "ghcr.io/radius-project/dev/redis:1.0"
}
+ }
},
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "radius-test-rg",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ "providers": {
+ "azure": {
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg"
+ }
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "radius-test-rg",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input.json b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input.json
index 7b16bdeca85..b3bfc039c31 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input.json
@@ -1,4 +1,4 @@
{
- "name":"mongo-parameters",
- "resourceType":"Applications.Datastores/mongoDatabases"
-}
\ No newline at end of file
+ "name": "mongo-parameters",
+ "resourceType": "Applications.Datastores/mongoDatabases"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input_terraform.json b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input_terraform.json
index 5939a0fc83e..20d608889b6 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input_terraform.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input_terraform.json
@@ -1,4 +1,4 @@
{
- "name":"mongo-terraform",
- "resourceType":"Applications.Datastores/mongoDatabases"
-}
\ No newline at end of file
+ "name": "mongo-terraform",
+ "resourceType": "Applications.Datastores/mongoDatabases"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output.json b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output.json
index 523d02379e1..9096f2c5f13 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output.json
@@ -4,14 +4,14 @@
"plainHttp": false,
"parameters": {
"mongodbName": {
- "type" : "string"
+ "type": "string"
},
- "documentdbName": {
- "type" : "string"
+ "documentdbName": {
+ "type": "string"
},
"location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output_terraform.json b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output_terraform.json
index d032b18270b..2172dcca4db 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output_terraform.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output_terraform.json
@@ -1,17 +1,17 @@
{
- "templateKind": "terraform",
- "templatePath": "Azure/cosmosdb/azurerm",
- "templateVersion": "1.1.0",
- "parameters": {
- "mongodbName": {
- "type" : "string"
- },
- "documentdbName": {
- "type" : "string"
- },
- "location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
- }
+ "templateKind": "terraform",
+ "templatePath": "Azure/cosmosdb/azurerm",
+ "templateVersion": "1.1.0",
+ "parameters": {
+ "mongodbName": {
+ "type": "string"
+ },
+ "documentdbName": {
+ "type": "string"
+ },
+ "location": {
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameterdetails.json b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameterdetails.json
index 3df0acab45d..4a84e1f4e44 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameterdetails.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameterdetails.json
@@ -1,38 +1,38 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "storageAccountName": {
- "type": "string"
- },
- "storageAccountType": [
- "Premium_LRS",
- "Premium_ZRS",
- "Standard_GRS",
- "Standard_GZRS",
- "Standard_LRS",
- "Standard_RAGRS",
- "Standard_RAGZRS",
- "Standard_ZRS"
- ],
- "location": {
- "type": "string",
- "defaultValue": "[resourceGroup().location]",
- "metadata": {
- "description": "Location for all resources."
- }
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountName": {
+ "type": "string"
},
- "resources": [
- {
- "type": "Microsoft.Storage/storageAccounts",
- "apiVersion": "2022-05-01",
- "name": "[parameters('storageAccountName')]",
- "location": "[parameters('location')]",
- "sku": {
- "name": "[parameters('storageAccountType')]"
- },
- "kind": "StorageV2"
- }
- ]
-}
\ No newline at end of file
+ "storageAccountType": [
+ "Premium_LRS",
+ "Premium_ZRS",
+ "Standard_GRS",
+ "Standard_GZRS",
+ "Standard_LRS",
+ "Standard_RAGRS",
+ "Standard_RAGZRS",
+ "Standard_ZRS"
+ ],
+ "location": {
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]",
+ "metadata": {
+ "description": "Location for all resources."
+ }
+ }
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "apiVersion": "2022-05-01",
+ "name": "[parameters('storageAccountName')]",
+ "location": "[parameters('location')]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "StorageV2"
+ }
+ ]
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameters.json b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameters.json
index 65c67563f22..92f9d5d7281 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameters.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithmalformedparameters.json
@@ -1,26 +1,26 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": [
- "Premium_LRS",
- "Premium_ZRS",
- "Standard_GRS",
- "Standard_GZRS",
- "Standard_LRS",
- "Standard_RAGRS",
- "Standard_RAGZRS",
- "Standard_ZRS"
- ],
- "resources": [
- {
- "type": "Microsoft.Storage/storageAccounts",
- "apiVersion": "2022-05-01",
- "name": "[parameters('mongodbName')]",
- "location": "[parameters('location')]",
- "sku": {
- "name": "[parameters('storageAccountType')]"
- },
- "kind": "StorageV2"
- }
- ]
-}
\ No newline at end of file
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": [
+ "Premium_LRS",
+ "Premium_ZRS",
+ "Standard_GRS",
+ "Standard_GZRS",
+ "Standard_LRS",
+ "Standard_RAGRS",
+ "Standard_RAGZRS",
+ "Standard_ZRS"
+ ],
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "apiVersion": "2022-05-01",
+ "name": "[parameters('mongodbName')]",
+ "location": "[parameters('location')]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "StorageV2"
+ }
+ ]
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithoutparameters.json b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithoutparameters.json
index 80d5dbf6cc4..c54481b6b53 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithoutparameters.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithoutparameters.json
@@ -1,16 +1,16 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "resources": [
- {
- "type": "Microsoft.Storage/storageAccounts",
- "apiVersion": "2022-05-01",
- "name": "storageAccount1",
- "location": "West US 2",
- "sku": {
- "name": "Standard_GRS"
- },
- "kind": "StorageV2"
- }
- ]
-}
\ No newline at end of file
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "apiVersion": "2022-05-01",
+ "name": "storageAccount1",
+ "location": "West US 2",
+ "sku": {
+ "name": "Standard_GRS"
+ },
+ "kind": "StorageV2"
+ }
+ ]
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithparameters.json b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithparameters.json
index f8de4aa9c02..20f1337a038 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/recipedatawithparameters.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/recipedatawithparameters.json
@@ -1,44 +1,44 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "context": {
- "type": "object"
- },
- "storageAccountName": {
- "type": "string"
- },
- "storageAccountType": {
- "type": "string",
- "allowedValues": [
- "Premium_LRS",
- "Premium_ZRS",
- "Standard_GRS",
- "Standard_GZRS",
- "Standard_LRS",
- "Standard_RAGRS",
- "Standard_RAGZRS",
- "Standard_ZRS"
- ]
- },
- "location": {
- "type": "string",
- "defaultValue": "[resourceGroup().location]",
- "metadata": {
- "description": "Location for all resources."
- }
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "context": {
+ "type": "object"
},
- "resources": [
- {
- "type": "Microsoft.Storage/storageAccounts",
- "apiVersion": "2022-05-01",
- "name": "[parameters('storageAccountName')]",
- "location": "[parameters('location')]",
- "sku": {
- "name": "[parameters('storageAccountType')]"
- },
- "kind": "StorageV2"
- }
- ]
-}
\ No newline at end of file
+ "storageAccountName": {
+ "type": "string"
+ },
+ "storageAccountType": {
+ "type": "string",
+ "allowedValues": [
+ "Premium_LRS",
+ "Premium_ZRS",
+ "Standard_GRS",
+ "Standard_GZRS",
+ "Standard_LRS",
+ "Standard_RAGRS",
+ "Standard_RAGZRS",
+ "Standard_ZRS"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]",
+ "metadata": {
+ "description": "Location for all resources."
+ }
+ }
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "apiVersion": "2022-05-01",
+ "name": "[parameters('storageAccountName')]",
+ "location": "[parameters('location')]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "StorageV2"
+ }
+ ]
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/requestheaders20231001preview.json b/pkg/corerp/frontend/controller/environments/testdata/requestheaders20231001preview.json
index a308ad7960a..3a7f7e2bce6 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/requestheaders20231001preview.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/requestheaders20231001preview.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadata20231001preview.json b/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadata20231001preview.json
index b643e40584f..2325b59a74d 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadata20231001preview.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadata20231001preview.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0/getmetadata?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0/getmetadata?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0/getmetadata?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0/getmetadata?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadatanotexisting20231001preview.json b/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadatanotexisting20231001preview.json
index ecd28b69458..d08a9232182 100644
--- a/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadatanotexisting20231001preview.json
+++ b/pkg/corerp/frontend/controller/environments/testdata/requestheadersgetrecipemetadatanotexisting20231001preview.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0/mongodb/getmetadata?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0/mongodb/getmetadata?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0/mongodb/getmetadata?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0/mongodb/getmetadata?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_datamodel.json b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_datamodel.json
index 8909ef50c00..e2a6fcc9e76 100644
--- a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_datamodel.json
+++ b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_datamodel.json
@@ -4,18 +4,18 @@
"type": "applications.core/extenders",
"location": "West US",
"systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
},
"properties": {
"provisioningState": "Succeeded",
"application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
"environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "additionalProperties":{
+ "additionalProperties": {
"fromNumber": "222-222-2222"
},
"secrets": {
@@ -30,8 +30,8 @@
"accountSid": {
"value": "sid"
},
- "authToken:": {
- "value": "token"
+ "authToken:": {
+ "value": "token"
}
},
"resourceProvisioning": "manual",
@@ -40,4 +40,4 @@
"resourceGroup": "radius-test-rg",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input.json b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input.json
index 42988b83f8a..2454543b830 100644
--- a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input.json
@@ -1,13 +1,13 @@
{
- "location": "West US",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "fromNumber": "222-222-2222",
- "secrets": {
- "accountSid": "sid",
- "authToken:": "token"
- },
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "fromNumber": "222-222-2222",
+ "secrets": {
+ "accountSid": "sid",
+ "authToken:": "token"
+ },
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input_diff_env.json b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input_diff_env.json
index 51cff92fd16..5dd849f3513 100644
--- a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input_diff_env.json
+++ b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input_diff_env.json
@@ -1,13 +1,13 @@
{
- "location": "West US",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/invalid",
- "fromNumber": "222-222-2222",
- "secrets": {
- "accountSid": "sid",
- "authToken:": "token"
- },
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/invalid",
+ "fromNumber": "222-222-2222",
+ "secrets": {
+ "accountSid": "sid",
+ "authToken:": "token"
+ },
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_output.json b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_output.json
index 40b19965395..73127ae3098 100644
--- a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_output.json
+++ b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_output.json
@@ -30,4 +30,4 @@
},
"tags": {},
"type": "applications.core/extenders"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_requestheaders.json b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_requestheaders.json
index de5f7aba5ff..ef43f2d6ac0 100644
--- a/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_requestheaders.json
+++ b/pkg/corerp/frontend/controller/extenders/testdata/20231001preview_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/extenders/extender0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/extenders/extender0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/corerp/frontend/controller/extenders/testdata/20231001previewgetandlist_output.json b/pkg/corerp/frontend/controller/extenders/testdata/20231001previewgetandlist_output.json
index d52141f508c..fb0fb1a6b3f 100644
--- a/pkg/corerp/frontend/controller/extenders/testdata/20231001previewgetandlist_output.json
+++ b/pkg/corerp/frontend/controller/extenders/testdata/20231001previewgetandlist_output.json
@@ -26,4 +26,4 @@
},
"tags": {},
"type": "applications.core/extenders"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_datamodel.json b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_datamodel.json
index 33732108dff..3642695754e 100644
--- a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_datamodel.json
+++ b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_datamodel.json
@@ -40,4 +40,4 @@
},
"url": "myprefix.myapp.mydomain.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input.json b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input.json
index 1a44192f82c..c2290266829 100644
--- a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input.json
+++ b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input.json
@@ -1,22 +1,22 @@
{
- "location": "West US",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "hostname": {
- "fullyQualifiedHostname": "myapp.mydomain.com",
- "prefix": "myprefix"
- },
- "routes": [
- {
- "destination": "mydestination",
- "path": "mypath",
- "replacePrefix": "myreplaceprefix"
- }
- ],
- "tls": {
- "sslPassthrough": false
- },
- "url": "myprefix.myapp.mydomain.com",
- "provisioningState": "Succeeded"
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
+ "hostname": {
+ "fullyQualifiedHostname": "myapp.mydomain.com",
+ "prefix": "myprefix"
+ },
+ "routes": [
+ {
+ "destination": "mydestination",
+ "path": "mypath",
+ "replacePrefix": "myreplaceprefix"
+ }
+ ],
+ "tls": {
+ "sslPassthrough": false
+ },
+ "url": "myprefix.myapp.mydomain.com",
+ "provisioningState": "Succeeded"
+ }
+}
diff --git a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input_appid.json b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input_appid.json
index 3dd8bf133cc..4f4b7b186b3 100644
--- a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input_appid.json
+++ b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_input_appid.json
@@ -1,22 +1,22 @@
{
- "location": "West US",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app1",
- "hostname": {
- "fullyQualifiedHostname": "myapp.mydomain.com",
- "prefix": "myprefix"
- },
- "routes": [
- {
- "destination": "mydestination",
- "path": "mypath",
- "replacePrefix": "myreplaceprefix"
- }
- ],
- "tls": {
- "sslPassthrough": false
- },
- "url": "myprefix.myapp.mydomain.com",
- "provisioningState": "Succeeded"
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app1",
+ "hostname": {
+ "fullyQualifiedHostname": "myapp.mydomain.com",
+ "prefix": "myprefix"
+ },
+ "routes": [
+ {
+ "destination": "mydestination",
+ "path": "mypath",
+ "replacePrefix": "myreplaceprefix"
+ }
+ ],
+ "tls": {
+ "sslPassthrough": false
+ },
+ "url": "myprefix.myapp.mydomain.com",
+ "provisioningState": "Succeeded"
+ }
+}
diff --git a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_output.json b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_output.json
index c7331f640cb..c6297fbf371 100644
--- a/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_output.json
+++ b/pkg/corerp/frontend/controller/gateways/testdata/gateway20231001preview_output.json
@@ -40,4 +40,4 @@
"url": "myprefix.myapp.mydomain.com",
"provisioningState": "Succeeded"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/app_datamodel.json b/pkg/corerp/frontend/controller/secretstores/testdata/app_datamodel.json
index d32184a8ea7..3a57b73e18c 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/app_datamodel.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/app_datamodel.json
@@ -1,40 +1,40 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/applications.core/applications/app0",
- "name": "app0",
- "type": "applications.core/applications",
- "location": "global",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/applications.core/environments/env0",
- "extensions": [
- {
- "kind": "kubernetesNamespace",
- "kubernetesNamespace": {
- "namespace": "app0-ns"
- }
- }
- ],
- "status": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "",
- "namespace": "app0-ns"
- }
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/applications.core/applications/app0",
+ "name": "app0",
+ "type": "applications.core/applications",
+ "location": "global",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/applications.core/environments/env0",
+ "extensions": [
+ {
+ "kind": "kubernetesNamespace",
+ "kubernetesNamespace": {
+ "namespace": "app0-ns"
}
- },
- "provisioningState": "Succeeded",
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "testGroup",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ }
+ ],
+ "status": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "",
+ "namespace": "app0-ns"
+ }
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "testGroup",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/env_datamodel.json b/pkg/corerp/frontend/controller/secretstores/testdata/env_datamodel.json
index 475b78cb60c..d1db8144c81 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/env_datamodel.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/env_datamodel.json
@@ -1,21 +1,21 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "applications.core/environments",
- "location": "global",
- "provisioningState": "Succeeded",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "kubernetes": {
- "resourceId": "fakeid",
- "namespace": "default"
- }
- }
- },
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "testGroup",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "applications.core/environments",
+ "location": "global",
+ "provisioningState": "Succeeded",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "kubernetes": {
+ "resourceId": "fakeid",
+ "namespace": "default"
+ }
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "testGroup",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/env_nonk8s_datamodel.json b/pkg/corerp/frontend/controller/secretstores/testdata/env_nonk8s_datamodel.json
index da0109a9e81..59dcc388123 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/env_nonk8s_datamodel.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/env_nonk8s_datamodel.json
@@ -1,17 +1,17 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "name": "env0",
- "type": "applications.core/environments",
- "location": "global",
- "provisioningState": "Succeeded",
- "properties": {
- "compute": {
- "kind": "non-kubernetes"
- }
- },
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "testGroup",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "name": "env0",
+ "type": "applications.core/environments",
+ "location": "global",
+ "provisioningState": "Succeeded",
+ "properties": {
+ "compute": {
+ "kind": "non-kubernetes"
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "testGroup",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_awsirsa.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_awsirsa.json
index eec09c3e9fa..0c9b6bfc28e 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_awsirsa.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_awsirsa.json
@@ -26,4 +26,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_azwi.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_azwi.json
index a05d157bfc4..d61c82e8496 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_azwi.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_azwi.json
@@ -29,4 +29,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth.json
index 4b4e3f12593..4b6732683aa 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth.json
@@ -29,4 +29,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth_invalid.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth_invalid.json
index d0e7585a17d..ecb51c58b0e 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth_invalid.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_basicauth_invalid.json
@@ -26,4 +26,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_value.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_value.json
index 21454f86884..952af9e2ee3 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_value.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_value.json
@@ -31,4 +31,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_valuefrom.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_valuefrom.json
index 68c7a08d408..25d0a6ef106 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_valuefrom.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_cert_valuefrom.json
@@ -33,4 +33,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_generic.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_generic.json
index 676017aa842..4da8ff6c185 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_generic.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_generic.json
@@ -34,4 +34,4 @@
"resourceGroup": "testGroup",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope.json
index 653916fa62d..9522ce2cc67 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope.json
@@ -1,37 +1,37 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret0",
- "name": "secret0",
- "type": "applications.core/secretstores",
- "location": "global",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
- },
- "provisioningState": "Succeeded",
- "properties": {
- "resource": "test-namespace/secret0",
- "type": "generic",
- "data": {
- "tls.crt": {
- "encoding": "raw",
- "value": "tls.crt"
- },
- "tls.key": {
- "encoding": "base64",
- "value": "dGxzLmNlcnQK"
- },
- "servicePrincipalPassword": {
- "value": "10000000-1000-1000-0000-000000000000"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret0",
+ "name": "secret0",
+ "type": "applications.core/secretstores",
+ "location": "global",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "provisioningState": "Succeeded",
+ "properties": {
+ "resource": "test-namespace/secret0",
+ "type": "generic",
+ "data": {
+ "tls.crt": {
+ "encoding": "raw",
+ "value": "tls.crt"
+ },
+ "tls.key": {
+ "encoding": "base64",
+ "value": "dGxzLmNlcnQK"
+ },
+ "servicePrincipalPassword": {
+ "value": "10000000-1000-1000-0000-000000000000"
}
- },
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "testGroup",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
- }
\ No newline at end of file
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "testGroup",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_empty_resource.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_empty_resource.json
index 8cacca13bd4..941787dd035 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_empty_resource.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_empty_resource.json
@@ -1,36 +1,36 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret0",
- "name": "secret0",
- "type": "applications.core/secretstores",
- "location": "global",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
- },
- "provisioningState": "Succeeded",
- "properties": {
- "type": "generic",
- "data": {
- "tls.crt": {
- "encoding": "raw",
- "value": "tls.crt"
- },
- "tls.key": {
- "encoding": "base64",
- "value": "dGxzLmNlcnQK"
- },
- "servicePrincipalPassword": {
- "value": "10000000-1000-1000-0000-000000000000"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret0",
+ "name": "secret0",
+ "type": "applications.core/secretstores",
+ "location": "global",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "provisioningState": "Succeeded",
+ "properties": {
+ "type": "generic",
+ "data": {
+ "tls.crt": {
+ "encoding": "raw",
+ "value": "tls.crt"
+ },
+ "tls.key": {
+ "encoding": "base64",
+ "value": "dGxzLmNlcnQK"
+ },
+ "servicePrincipalPassword": {
+ "value": "10000000-1000-1000-0000-000000000000"
}
- },
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "testGroup",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
- }
\ No newline at end of file
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "testGroup",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_invalid_resource.json b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_invalid_resource.json
index 580eaa5d471..6819fbd3663 100644
--- a/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_invalid_resource.json
+++ b/pkg/corerp/frontend/controller/secretstores/testdata/secretstores_datamodel_global_scope_invalid_resource.json
@@ -1,37 +1,37 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret0",
- "name": "secret0",
- "type": "applications.core/secretstores",
- "location": "global",
- "systemData": {
- "createdAt": "2022-03-22T18:54:52.6857175Z",
- "createdBy": "fake@hotmail.com",
- "createdByType": "User",
- "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
- "lastModifiedBy": "fake@hotmail.com",
- "lastModifiedByType": "User"
- },
- "provisioningState": "Succeeded",
- "properties": {
- "resource": "secret0",
- "type": "generic",
- "data": {
- "tls.crt": {
- "encoding": "raw",
- "value": "tls.crt"
- },
- "tls.key": {
- "encoding": "base64",
- "value": "dGxzLmNlcnQK"
- },
- "servicePrincipalPassword": {
- "value": "10000000-1000-1000-0000-000000000000"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret0",
+ "name": "secret0",
+ "type": "applications.core/secretstores",
+ "location": "global",
+ "systemData": {
+ "createdAt": "2022-03-22T18:54:52.6857175Z",
+ "createdBy": "fake@hotmail.com",
+ "createdByType": "User",
+ "lastModifiedAt": "2022-03-22T18:57:52.6857175Z",
+ "lastModifiedBy": "fake@hotmail.com",
+ "lastModifiedByType": "User"
+ },
+ "provisioningState": "Succeeded",
+ "properties": {
+ "resource": "secret0",
+ "type": "generic",
+ "data": {
+ "tls.crt": {
+ "encoding": "raw",
+ "value": "tls.crt"
+ },
+ "tls.key": {
+ "encoding": "base64",
+ "value": "dGxzLmNlcnQK"
+ },
+ "servicePrincipalPassword": {
+ "value": "10000000-1000-1000-0000-000000000000"
}
- },
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroup": "testGroup",
- "createdApiVersion": "2023-10-01-preview",
- "updatedApiVersion": "2023-10-01-preview"
- }
\ No newline at end of file
+ }
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroup": "testGroup",
+ "createdApiVersion": "2023-10-01-preview",
+ "updatedApiVersion": "2023-10-01-preview"
+}
diff --git a/pkg/corerp/renderers/container/render_test.go b/pkg/corerp/renderers/container/render_test.go
index bdb9db0860f..4caa1b529af 100644
--- a/pkg/corerp/renderers/container/render_test.go
+++ b/pkg/corerp/renderers/container/render_test.go
@@ -1956,6 +1956,10 @@ func Test_Render_BaseManifest(t *testing.T) {
actual, err := json.MarshalIndent(deployment, "", " ")
require.NoError(t, err)
+ // Append a newline character to the actual output to match the expected output.
+ // This is necessary because a command was introduced to format all JSON files in the repository,
+ // and this command adds a newline character at the end of each JSON file.
+ actual = append(actual, '\n')
outputYaml := testutil.ReadFixture(tc.outFile)
require.Equal(t, string(outputYaml), string(actual), "actual output: %s", string(actual))
diff --git a/pkg/corerp/renderers/container/testdata/basemanifest-output-addcontainer.json b/pkg/corerp/renderers/container/testdata/basemanifest-output-addcontainer.json
index f0daf471928..be1f9fe9d1e 100644
--- a/pkg/corerp/renderers/container/testdata/basemanifest-output-addcontainer.json
+++ b/pkg/corerp/renderers/container/testdata/basemanifest-output-addcontainer.json
@@ -81,4 +81,4 @@
"strategy": {}
},
"status": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/renderers/container/testdata/basemanifest-output-merge.json b/pkg/corerp/renderers/container/testdata/basemanifest-output-merge.json
index 99a58e1ce6b..54c7950e91f 100644
--- a/pkg/corerp/renderers/container/testdata/basemanifest-output-merge.json
+++ b/pkg/corerp/renderers/container/testdata/basemanifest-output-merge.json
@@ -115,4 +115,4 @@
"strategy": {}
},
"status": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/corerp/renderers/volume/azure/testdata/volume-az-kv-systemassigned.json b/pkg/corerp/renderers/volume/azure/testdata/volume-az-kv-systemassigned.json
index 8bf9f974e13..35297e4957c 100644
--- a/pkg/corerp/renderers/volume/azure/testdata/volume-az-kv-systemassigned.json
+++ b/pkg/corerp/renderers/volume/azure/testdata/volume-az-kv-systemassigned.json
@@ -52,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidmanual_resource.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidmanual_resource.json
index 1ec26efcbe9..e5410179fe8 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidmanual_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidmanual_resource.json
@@ -14,4 +14,4 @@
"name": "test-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidrecipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidrecipe_resource.json
index 19b8a2e89a9..73581a5d79f 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidrecipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_invalidrecipe_resource.json
@@ -17,4 +17,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_datamodel.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_datamodel.json
index 9b9fbc2ca91..4e4b79ec072 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_datamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_datamodel.json
@@ -42,4 +42,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_generic_datamodel.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_generic_datamodel.json
index 69ed4748bff..a0d7b4c84bf 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_generic_datamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_generic_datamodel.json
@@ -38,4 +38,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_resource.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_resource.json
index 3b81eb67944..9bea99b5c3d 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_manual_resource.json
@@ -1,26 +1,26 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/configurationStores/test-dcs",
- "name": "test-dcs",
- "type": "Applications.Dapr/configurationStores",
- "location": "global",
- "tags": {
- "env": "dev"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/configurationStores/test-dcs",
+ "name": "test-dcs",
+ "type": "Applications.Dapr/configurationStores",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "resourceProvisioning": "manual",
+ "type": "configuration.azure.appconfig",
+ "version": "v1",
+ "metadata": {
+ "foo": {
+ "value": "bar"
+ }
},
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "resourceProvisioning": "manual",
- "type": "configuration.azure.appconfig",
- "version": "v1",
- "metadata": {
- "foo": {
- "value": "bar"
- }
- },
- "resources": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ServiceBus/namespaces/radius-eastus-async"
- }
- ]
- }
-}
\ No newline at end of file
+ "resources": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ServiceBus/namespaces/radius-eastus-async"
+ }
+ ]
+ }
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_datamodel.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_datamodel.json
index 0fec759021b..33020e485d2 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_datamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_datamodel.json
@@ -34,4 +34,4 @@
"name": "dcs-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_resource.json
index 16fcaae0d5e..3ada25f5fe8 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/configurationstore_recipe_resource.json
@@ -1,17 +1,17 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/configurationStores/test-dcs",
- "name": "test-dcs",
- "type": "Applications.Dapr/configurationStores",
- "location": "global",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "resourceProvisioning": "recipe",
- "recipe": {
- "name": "dcs-recipe"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/configurationStores/test-dcs",
+ "name": "test-dcs",
+ "type": "Applications.Dapr/configurationStores",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "resourceProvisioning": "recipe",
+ "recipe": {
+ "name": "dcs-recipe"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidmanual_resource.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidmanual_resource.json
index 4d6c20018ff..36af98f3f32 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidmanual_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidmanual_resource.json
@@ -14,4 +14,4 @@
"name": "test-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidrecipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidrecipe_resource.json
index 6f65b15fd8c..620e1fb1c88 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidrecipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_invalidrecipe_resource.json
@@ -17,4 +17,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_datamodel.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_datamodel.json
index 65033dfc94d..d9adad5b770 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_datamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_datamodel.json
@@ -42,4 +42,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_generic_datamodel.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_generic_datamodel.json
index 764f03e0a5b..44b67f983ae 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_generic_datamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_generic_datamodel.json
@@ -38,4 +38,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_resource.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_resource.json
index 7c58598f14a..fac80f8ee6b 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_manual_resource.json
@@ -1,26 +1,26 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/pubSubBrokers/test-dpsb",
- "name": "test-dpsb",
- "type": "Applications.Dapr/pubSubBrokers",
- "location": "global",
- "tags": {
- "env": "dev"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/pubSubBrokers/test-dpsb",
+ "name": "test-dpsb",
+ "type": "Applications.Dapr/pubSubBrokers",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "resourceProvisioning": "manual",
+ "type": "pubsub.azure.servicebus",
+ "version": "v1",
+ "metadata": {
+ "foo": {
+ "value": "bar"
+ }
},
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "resourceProvisioning": "manual",
- "type": "pubsub.azure.servicebus",
- "version": "v1",
- "metadata": {
- "foo": {
- "value": "bar"
- }
- },
- "resources": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ServiceBus/namespaces/radius-eastus-async"
- }
- ]
- }
-}
\ No newline at end of file
+ "resources": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ServiceBus/namespaces/radius-eastus-async"
+ }
+ ]
+ }
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_datamodel.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_datamodel.json
index 0e1f1e1192d..6bb7aca0071 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_datamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_datamodel.json
@@ -34,4 +34,4 @@
"name": "dpsb-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_resource.json
index 05685c793d7..15a118a42ac 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/pubsubbroker_recipe_resource.json
@@ -1,17 +1,17 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/pubSubBrokers/test-dpsb",
- "name": "test-dpsb",
- "type": "Applications.Dapr/pubSubBrokers",
- "location": "global",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "resourceProvisioning": "recipe",
- "recipe": {
- "name": "dpsb-recipe"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/pubSubBrokers/test-dpsb",
+ "name": "test-dpsb",
+ "type": "Applications.Dapr/pubSubBrokers",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "resourceProvisioning": "recipe",
+ "recipe": {
+ "name": "dpsb-recipe"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidrecipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidrecipe_resource.json
index e551f9bbde4..767d21d12ab 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidrecipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidrecipe_resource.json
@@ -1,20 +1,20 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/secretStores/test-dss",
- "name": "test-dss",
- "type": "Applications.Dapr/secretStores",
- "location": "global",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "type": "secretstores.kubernetes",
- "version": "v1",
- "metadata": {
- "foo": {
- "value": "bar"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/secretStores/test-dss",
+ "name": "test-dss",
+ "type": "Applications.Dapr/secretStores",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "type": "secretstores.kubernetes",
+ "version": "v1",
+ "metadata": {
+ "foo": {
+ "value": "bar"
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidvalues_resource.json b/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidvalues_resource.json
index 870c70315d2..bbde35f12bf 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidvalues_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/secretstore_invalidvalues_resource.json
@@ -1,17 +1,17 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/secretStores/test-ss",
- "name": "test-dpsb",
- "type": "Applications.Dapr/secretStores",
- "location": "global",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "resourceProvisioning": "manual",
- "recipe": {
- "name": "test-recipe"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/secretStores/test-ss",
+ "name": "test-dpsb",
+ "type": "Applications.Dapr/secretStores",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "resourceProvisioning": "manual",
+ "recipe": {
+ "name": "test-recipe"
}
- }
\ No newline at end of file
+ }
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resource.json b/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resource.json
index 196a793898f..b2fb0a4556d 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resource.json
@@ -1,22 +1,22 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/secretStores/test-dss",
- "name": "test-dss",
- "type": "Applications.Dapr/secretStores",
- "location": "global",
- "tags": {
- "env": "dev"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Dapr/secretStores/test-dss",
+ "name": "test-dss",
+ "type": "Applications.Dapr/secretStores",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "kind": "generic",
+ "type": "secretstores.hashicorp.vault",
+ "version": "v1",
+ "metadata": {
+ "foo": {
+ "value": "bar"
+ }
},
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "kind": "generic",
- "type": "secretstores.hashicorp.vault",
- "version": "v1",
- "metadata": {
- "foo": {
- "value": "bar"
- }
- },
- "resourceProvisioning":"manual"
- }
+ "resourceProvisioning": "manual"
+ }
}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resourcedatamodel.json b/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resourcedatamodel.json
index 25420b24c04..4e1dc078c38 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resourcedatamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/secretstore_manual_resourcedatamodel.json
@@ -35,4 +35,4 @@
},
"resourceProvisioning": "manual"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resource.json
index d478d4161b7..ac3b1aa4996 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resource.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resourcedatamodel.json b/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resourcedatamodel.json
index 7b99fc4cf98..cc068b17080 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resourcedatamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/secretstore_recipe_resourcedatamodel.json
@@ -43,4 +43,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidrecipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidrecipe_resource.json
index 4bd97c928b7..b23fdf0dc7e 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidrecipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidrecipe_resource.json
@@ -17,4 +17,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidvalues_resource.json b/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidvalues_resource.json
index d5931d92186..541907f097b 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidvalues_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/statestore_invalidvalues_resource.json
@@ -14,4 +14,4 @@
"name": "test-recipe"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resource.json b/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resource.json
index b11583d5acb..5f986cc15f9 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resource.json
@@ -14,4 +14,4 @@
"name": "recipe-test"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resourcedatamodel.json b/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resourcedatamodel.json
index ce1be3c3aa2..d74f4546ad5 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resourcedatamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/statestore_recipe_resourcedatamodel.json
@@ -36,4 +36,4 @@
"name": "recipe-test"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resource.json b/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resource.json
index ed8cb2fc197..bf9e97ec988 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resource.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resource.json
@@ -26,4 +26,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resourcedatamodel.json b/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resourcedatamodel.json
index 068af845703..f7838733eef 100644
--- a/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resourcedatamodel.json
+++ b/pkg/daprrp/api/v20231001preview/testdata/statestore_values_resourcedatamodel.json
@@ -42,4 +42,4 @@
}
]
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalid.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalid.json
index 703f86cc701..4345ba6320c 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalid.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalid.json
@@ -1,9 +1,9 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "properties": {
- "mode": "resource",
- "resource": 12345
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "properties": {
+ "mode": "resource",
+ "resource": 12345
+ }
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalidresprovisioning.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalidresprovisioning.json
index 5c0de9640c9..7acba19d036 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalidresprovisioning.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalidresprovisioning.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "properties": {
- "resourceProvisioning": "invalid"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "properties": {
+ "resourceProvisioning": "invalid"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-missinginputs.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-missinginputs.json
index b1da7f65729..c23fbd25610 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-missinginputs.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-missinginputs.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "properties": {
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "properties": {
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource.json
index 3a4c0fc9b6e..30d5f2e39fc 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource.json
@@ -22,4 +22,4 @@
"connectionString": "test-connection-string"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource2.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource2.json
index 7e51ed807eb..9a49ea837fa 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource2.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource2.json
@@ -1,18 +1,18 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "resourceProvisioning": "manual",
- "resources": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.DocumentDB/databaseAccounts/testAccount/mongodbDatabases/db"
- }
- ],
- "host": "testAccount.mongo.cosmos.azure.com",
- "port": 10255,
- "database": "test-database"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "resourceProvisioning": "manual",
+ "resources": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.DocumentDB/databaseAccounts/testAccount/mongodbDatabases/db"
+ }
+ ],
+ "host": "testAccount.mongo.cosmos.azure.com",
+ "port": 10255,
+ "database": "test-database"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe.json
index 0d57afb8add..be0bf2afedd 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe.json
@@ -1,18 +1,18 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "cosmosdb",
- "parameters":{
- "foo":"bar"
- }
- },
- "resourceProvisioning": "recipe",
- "host": "testAccount.mongo.cosmos.azure.com",
- "port": 10255
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "cosmosdb",
+ "parameters": {
+ "foo": "bar"
+ }
+ },
+ "resourceProvisioning": "recipe",
+ "host": "testAccount.mongo.cosmos.azure.com",
+ "port": 10255
+ }
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe2.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe2.json
index 2f601898743..add4e06d11f 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe2.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource_recipe2.json
@@ -1,11 +1,11 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "host": "mynewhost.com",
- "port": 10256
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "host": "mynewhost.com",
+ "port": 10256
+ }
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel.json
index c62c159bee6..67ce2d18086 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel.json
@@ -33,4 +33,4 @@
"connectionString": "test-connection-string"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel2.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel2.json
index 2c3fb303d33..063da68c149 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel2.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel2.json
@@ -1,25 +1,29 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "resourceProvisioning": "manual",
- "resources": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.DocumentDB/databaseAccounts/testAccount/mongodbDatabases/db"}],
- "host": "testAccount1.mongo.cosmos.azure.com",
- "port": 10255,
- "database": "test-database"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "resourceProvisioning": "manual",
+ "resources": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.DocumentDB/databaseAccounts/testAccount/mongodbDatabases/db"
+ }
+ ],
+ "host": "testAccount1.mongo.cosmos.azure.com",
+ "port": 10255,
+ "database": "test-database"
+ }
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel_recipe.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel_recipe.json
index 66904776ebf..19920d86193 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel_recipe.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresourcedatamodel_recipe.json
@@ -1,34 +1,34 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
- "name": "mongo0",
- "type": "Applications.Datastores/mongoDatabases",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0",
+ "name": "mongo0",
+ "type": "Applications.Datastores/mongoDatabases",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "recipe": {
+ "name": "cosmosdb",
+ "parameters": {
+ "foo": "bar"
+ }
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "recipe": {
- "name": "cosmosdb",
- "parameters":{
- "foo":"bar"
- }
- },
- "host": "testAccount1.mongo.cosmos.azure.com",
- "port": 10255,
- "status": {
- "recipe": {
- "templateKind": "bicep",
- "templatePath": "br:sampleregistry.azureacr.io/radius/recipes/abc"
- }
- }
+ "host": "testAccount1.mongo.cosmos.azure.com",
+ "port": 10255,
+ "status": {
+ "recipe": {
+ "templateKind": "bicep",
+ "templatePath": "br:sampleregistry.azureacr.io/radius/recipes/abc"
+ }
}
+ }
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecrets.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecrets.json
index e3236171ba8..0b5aeb5ae3f 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecrets.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecrets.json
@@ -1,4 +1,4 @@
{
- "password": "testPassword",
- "connectionString": "test-connection-string"
+ "password": "testPassword",
+ "connectionString": "test-connection-string"
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecretsdatamodel.json b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecretsdatamodel.json
index e3236171ba8..0b5aeb5ae3f 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecretsdatamodel.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecretsdatamodel.json
@@ -1,4 +1,4 @@
{
- "password": "testPassword",
- "connectionString": "test-connection-string"
+ "password": "testPassword",
+ "connectionString": "test-connection-string"
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid.json
index 19f18fea4d2..70d56fa79fc 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "resourceProvisioning": "invalid"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "resourceProvisioning": "invalid"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid2.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid2.json
index 3f1cdc82b6a..3dfef73f125 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid2.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid2.json
@@ -1,11 +1,11 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "resourceProvisioning": "manual",
- "secrets": {
- "password": "password"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "resourceProvisioning": "manual",
+ "secrets": {
+ "password": "password"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalidinput.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalidinput.json
index 4c00e85dd25..9d097e8a0f9 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalidinput.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalidinput.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "host": 12345
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "host": 12345
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_defaultrecipe.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_defaultrecipe.json
index 26b06cc2c66..62252792445 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_defaultrecipe.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_defaultrecipe.json
@@ -1,9 +1,9 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual.json
index dbb371cddd7..062f7e02ed5 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual.json
@@ -28,4 +28,4 @@
"tls": true,
"resourceProvisioning": "manual"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual_noresources.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual_noresources.json
index 068bcf2db80..f96f49ddebb 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual_noresources.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_manual_noresources.json
@@ -1,12 +1,12 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "host": "myrediscache.redis.cache.windows.net",
- "port": 10255,
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "host": "myrediscache.redis.cache.windows.net",
+ "port": 10255,
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_named.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_named.json
index a84c0c7ea2e..31b3e0ed33d 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_named.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_named.json
@@ -1,12 +1,12 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "redis-test"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "redis-test"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_overridevalues.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_overridevalues.json
index ffd08618c1e..9a3cb72e2a3 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_overridevalues.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_recipe_overridevalues.json
@@ -1,17 +1,17 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "redis-test",
- "parameters": {
- "port": 6081
- }
- },
- "host": "myrediscache.redis.cache.windows.net",
- "port": 10255
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "redis-test",
+ "parameters": {
+ "port": 6081
+ }
+ },
+ "host": "myrediscache.redis.cache.windows.net",
+ "port": 10255
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual.json
index 4fa666fab3c..b500cf67079 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual.json
@@ -27,4 +27,4 @@
"port": 10255,
"resourceProvisioning": "manual"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual_resources.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual_resources.json
index 4343a7f60f2..e0a744e8326 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual_resources.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_manual_resources.json
@@ -1,30 +1,32 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
- "name": "redis0",
- "type": "Applications.Datastores/redisCaches",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "resources": [{
- "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.Cache/Redis/testCache"
- },
- {
- "id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.Cache/Redis/testCache1"
- }],
- "host": "myrediscache.redis.cache.windows.net",
- "port": 10255,
- "tls": true,
- "resourceProvisioning": "manual"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0",
+ "name": "redis0",
+ "type": "Applications.Datastores/redisCaches",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "resources": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.Cache/Redis/testCache"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.Cache/Redis/testCache1"
+ }
+ ],
+ "host": "myrediscache.redis.cache.windows.net",
+ "port": 10255,
+ "tls": true,
+ "resourceProvisioning": "manual"
+ }
}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_default.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_default.json
index 9eaa1621215..ba55b6df2c4 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_default.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_default.json
@@ -24,4 +24,4 @@
"environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
"application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_params.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_params.json
index d299d1b3085..db912aebe05 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_params.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresourcedatamodel_recipe_params.json
@@ -34,4 +34,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecrets.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecrets.json
index f5cc81d18ea..7a5413f2cb5 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecrets.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecrets.json
@@ -1,5 +1,5 @@
{
- "password": "testPassword",
- "connectionString": "test-connection-string",
- "url": "test-url"
-}
\ No newline at end of file
+ "password": "testPassword",
+ "connectionString": "test-connection-string",
+ "url": "test-url"
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecretsdatamodel.json b/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecretsdatamodel.json
index f5cc81d18ea..7a5413f2cb5 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecretsdatamodel.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecretsdatamodel.json
@@ -1,5 +1,5 @@
{
- "password": "testPassword",
- "connectionString": "test-connection-string",
- "url": "test-url"
-}
\ No newline at end of file
+ "password": "testPassword",
+ "connectionString": "test-connection-string",
+ "url": "test-url"
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_properties_resource.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_properties_resource.json
index 5b848220329..04706ce51a4 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_properties_resource.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_properties_resource.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
- "name": "sql0",
- "type": "Applications.Datastores/sqlDatabases",
- "properties": {
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
+ "name": "sql0",
+ "type": "Applications.Datastores/sqlDatabases",
+ "properties": {
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_resourceprovisioning_resource.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_resourceprovisioning_resource.json
index c9a6eb867c0..cf4f22105c7 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_resourceprovisioning_resource.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_resourceprovisioning_resource.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
- "name": "sql0",
- "type": "Applications.Datastores/sqlDatabases",
- "properties": {
- "resourceProvisioning": "invalid"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
+ "name": "sql0",
+ "type": "Applications.Datastores/sqlDatabases",
+ "properties": {
+ "resourceProvisioning": "invalid"
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resource.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resource.json
index d1789e21772..3224ee7479e 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resource.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resource.json
@@ -31,4 +31,4 @@
"connectionString": "test-connection-string"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resourcedatamodel.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resourcedatamodel.json
index a74ffd97335..116f14848f5 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resourcedatamodel.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_manual_resourcedatamodel.json
@@ -35,4 +35,4 @@
"username": "testUser",
"port": 1433
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resource.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resource.json
index ed1f30edfa9..445be101540 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resource.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resource.json
@@ -1,19 +1,19 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
- "name": "sql0",
- "type": "Applications.Datastores/sqlDatabases",
- "location": "global",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "recipe": {
- "name": "sql-test",
- "parameters":{
- "foo":"bar"
- }
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
+ "name": "sql0",
+ "type": "Applications.Datastores/sqlDatabases",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "recipe": {
+ "name": "sql-test",
+ "parameters": {
+ "foo": "bar"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resourcedatamodel.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resourcedatamodel.json
index 5270d1b4700..307051a704d 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resourcedatamodel.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_recipe_resourcedatamodel.json
@@ -40,4 +40,4 @@
"username": "testUser",
"port": 1433
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_secrets_datamodel.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_secrets_datamodel.json
index 4f05d5885c6..0b5aeb5ae3f 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_secrets_datamodel.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_secrets_datamodel.json
@@ -1,4 +1,4 @@
{
- "password": "testPassword",
- "connectionString": "test-connection-string"
-}
\ No newline at end of file
+ "password": "testPassword",
+ "connectionString": "test-connection-string"
+}
diff --git a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabaseresource-invalid.json b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabaseresource-invalid.json
index 1b4819907cc..005acc06adf 100644
--- a/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabaseresource-invalid.json
+++ b/pkg/datastoresrp/api/v20231001preview/testdata/sqldatabaseresource-invalid.json
@@ -1,9 +1,9 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
- "name": "sql0",
- "type": "Applications.Datastores/sqlDatabases",
- "properties": {
- "database": 12345,
- "resourceProvisioning":"manual"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0",
+ "name": "sql0",
+ "type": "Applications.Datastores/sqlDatabases",
+ "properties": {
+ "database": 12345,
+ "resourceProvisioning": "manual"
+ }
}
diff --git a/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_datamodel.json b/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_datamodel.json
index 7e965c4a130..fc1e720c2c3 100644
--- a/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_datamodel.json
+++ b/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_datamodel.json
@@ -57,4 +57,4 @@
"resourceGroup": "radius-test-rg",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_requestheaders.json b/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_requestheaders.json
index 9a9c914864e..d87bae0b1d5 100644
--- a/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_requestheaders.json
+++ b/pkg/datastoresrp/frontend/controller/mongodatabases/testdata/20231001preview_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/mongodatabases/mongo0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/mongodatabase/mongo0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/mongodatabases/mongo0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/mongodatabase/mongo0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_datamodel.json b/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_datamodel.json
index 040bd419894..948f99c9e5c 100644
--- a/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_datamodel.json
+++ b/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_datamodel.json
@@ -55,4 +55,4 @@
"resourceGroup": "radius-test-rg",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_requestheaders.json b/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_requestheaders.json
index aa7b31dab33..7d9c40388cc 100644
--- a/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_requestheaders.json
+++ b/pkg/datastoresrp/frontend/controller/rediscaches/testdata/20231001preview_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/rediscaches/redis0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/rediscache/redis0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/rediscaches/redis0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/rediscache/redis0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_datamodel.json b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_datamodel.json
index 000fcf0b71d..541f85cff90 100644
--- a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_datamodel.json
+++ b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_datamodel.json
@@ -56,4 +56,4 @@
"resourceGroup": "radius-test-rg",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_input.json b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_input.json
index 904cf96ea51..fc83536f9d0 100644
--- a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_input.json
+++ b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_input.json
@@ -1,21 +1,21 @@
{
"location": "West US",
"properties": {
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
- "resources": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.Sql/servers/testServer/databases/testDatabase"
- }
- ],
- "database": "testDatabase",
- "server": "testAccount1.sql.cosmos.azure.com",
- "resourceProvisioning": "manual",
- "port": 1433,
- "username": "testUser",
- "secrets": {
- "password": "testPassword",
- "connectionString": "Data Source=tcp:testAccount1.sql.cosmos.azure.com,1433;Initial Catalog=testDatabase;User Id=testUser;Password=testPassword;Encrypt=True;TrustServerCertificate=True"
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication",
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0",
+ "resources": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Microsoft.Sql/servers/testServer/databases/testDatabase"
}
+ ],
+ "database": "testDatabase",
+ "server": "testAccount1.sql.cosmos.azure.com",
+ "resourceProvisioning": "manual",
+ "port": 1433,
+ "username": "testUser",
+ "secrets": {
+ "password": "testPassword",
+ "connectionString": "Data Source=tcp:testAccount1.sql.cosmos.azure.com,1433;Initial Catalog=testDatabase;User Id=testUser;Password=testPassword;Encrypt=True;TrustServerCertificate=True"
+ }
}
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_output.json b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_output.json
index acc7a875205..5bed24ebadc 100644
--- a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_output.json
+++ b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_output.json
@@ -34,4 +34,4 @@
},
"tags": {},
"type": "applications.datastores/sqldatabases"
-}
\ No newline at end of file
+}
diff --git a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_requestheaders.json b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_requestheaders.json
index b8d04e25906..89b16ce39ba 100644
--- a/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_requestheaders.json
+++ b/pkg/datastoresrp/frontend/controller/sqldatabases/testdata/20231001preview_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/sqldatabases/sql0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/sqldatabase/sql0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/sqldatabases/sql0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.datastores/sqldatabase/sql0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_properties_resource.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_properties_resource.json
index aaeb3774221..ad2c096b601 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_properties_resource.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_properties_resource.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
- "name": "rabbitmq0",
- "type": "Applications.Messaging/rabbitMQQueues",
- "properties": {
- "resourceProvisioning": "manual"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
+ "name": "rabbitmq0",
+ "type": "Applications.Messaging/rabbitMQQueues",
+ "properties": {
+ "resourceProvisioning": "manual"
+ }
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_resourceprovisioning_resource.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_resourceprovisioning_resource.json
index 588ee7947c6..f041eb21a27 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_resourceprovisioning_resource.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_resourceprovisioning_resource.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
- "name": "rabbitmq0",
- "type": "Applications.Messaging/rabbitMQQueues",
- "properties": {
- "resourceProvisioning": "invalid"
- }
-}
\ No newline at end of file
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
+ "name": "rabbitmq0",
+ "type": "Applications.Messaging/rabbitMQQueues",
+ "properties": {
+ "resourceProvisioning": "invalid"
+ }
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_datamodel.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_datamodel.json
index 2f686b78561..20a122cb41e 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_datamodel.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_datamodel.json
@@ -36,4 +36,4 @@
"password": "password"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_resource.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_resource.json
index 43d473b073e..321067b3486 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_resource.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_manual_resource.json
@@ -1,24 +1,24 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
- "name": "rabbitmq0",
- "type": "Applications.Messaging/rabbitMQQueues",
- "location": "global",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
- "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
- "resourceProvisioning":"manual",
- "queue": "testQueue",
- "host": "test-host",
- "vHost": "test-vhost",
- "port": 5672,
- "username": "test-user",
- "tls":true,
- "secrets": {
- "uri": "connection://string",
- "password":"password"
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
+ "name": "rabbitmq0",
+ "type": "Applications.Messaging/rabbitMQQueues",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/test-env",
+ "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/test-app",
+ "resourceProvisioning": "manual",
+ "queue": "testQueue",
+ "host": "test-host",
+ "vHost": "test-vhost",
+ "port": 5672,
+ "username": "test-user",
+ "tls": true,
+ "secrets": {
+ "uri": "connection://string",
+ "password": "password"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_datamodel.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_datamodel.json
index 9154cfb360c..805d06ed9e0 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_datamodel.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_datamodel.json
@@ -42,4 +42,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_resource.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_resource.json
index 0e33a9e71d5..d6a5227c752 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_resource.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_recipe_resource.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqresource-invalid.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqresource-invalid.json
index fc7b7297cff..67080b72b8b 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqresource-invalid.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqresource-invalid.json
@@ -1,8 +1,8 @@
{
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
- "name": "rabbitmq0",
- "type": "Applications.Messaging/rabbitMQQueues",
- "properties": {
- "queue": 12345
- }
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0",
+ "name": "rabbitmq0",
+ "type": "Applications.Messaging/rabbitMQQueues",
+ "properties": {
+ "queue": 12345
+ }
}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecrets.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecrets.json
index e6ce6e7aa7c..560c2464fa4 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecrets.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecrets.json
@@ -1,4 +1,4 @@
{
- "uri": "test-connection-string",
- "password": "test-password"
-}
\ No newline at end of file
+ "uri": "test-connection-string",
+ "password": "test-password"
+}
diff --git a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecretsdatamodel.json b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecretsdatamodel.json
index e6ce6e7aa7c..560c2464fa4 100644
--- a/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecretsdatamodel.json
+++ b/pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecretsdatamodel.json
@@ -1,4 +1,4 @@
{
- "uri": "test-connection-string",
- "password": "test-password"
-}
\ No newline at end of file
+ "uri": "test-connection-string",
+ "password": "test-password"
+}
diff --git a/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_datamodel.json b/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_datamodel.json
index 9fe756f67cd..8a9b7ce2e46 100644
--- a/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_datamodel.json
+++ b/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_datamodel.json
@@ -45,4 +45,4 @@
"resourceGroup": "radius-test-rg",
"createdApiVersion": "2023-10-01-preview",
"updatedApiVersion": "2023-10-01-preview"
-}
\ No newline at end of file
+}
diff --git a/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_requestheaders.json b/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_requestheaders.json
index e4bd3fed38b..cb76a4e7ad8 100644
--- a/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_requestheaders.json
+++ b/pkg/messagingrp/frontend/controller/rabbitmqqueues/testdata/20231001preview_requestheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.messaging/rabbitmqqueues/rabbitmq0?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitmqqueue/rabbitmq0?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.messaging/rabbitmqqueues/rabbitmq0?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "https://radapp.io:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitmqqueue/rabbitmq0?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:57:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/recipes/terraform/config/config.go b/pkg/recipes/terraform/config/config.go
index c9cae268688..38c14dd5b35 100644
--- a/pkg/recipes/terraform/config/config.go
+++ b/pkg/recipes/terraform/config/config.go
@@ -24,7 +24,6 @@ import (
"fmt"
"io/fs"
"os"
- "strings"
"github.com/radius-project/radius/pkg/recipes"
"github.com/radius-project/radius/pkg/recipes/recipecontext"
@@ -96,11 +95,8 @@ func (cfg *TerraformConfig) Save(ctx context.Context, workingDir string) error {
return fmt.Errorf("error marshalling JSON: %w", err)
}
- // Remove trailing newline character from the JSON data so that file is written without any extra newline characters.
- // This is to maintain consistency with the codebase.
- jsonData := strings.TrimSuffix(buf.String(), "\n")
logger.Info(fmt.Sprintf("Writing Terraform JSON config to file: %s", getMainConfigFilePath(workingDir)))
- if err := os.WriteFile(getMainConfigFilePath(workingDir), []byte(jsonData), modeConfigFile); err != nil {
+ if err := os.WriteFile(getMainConfigFilePath(workingDir), buf.Bytes(), modeConfigFile); err != nil {
return fmt.Errorf("error creating file: %w", err)
}
diff --git a/pkg/recipes/terraform/config/config_test.go b/pkg/recipes/terraform/config/config_test.go
index 62a42b9511e..35c32627d2d 100644
--- a/pkg/recipes/terraform/config/config_test.go
+++ b/pkg/recipes/terraform/config/config_test.go
@@ -187,8 +187,10 @@ func Test_NewConfig(t *testing.T) {
// validate generated config
err = tfconfig.Save(testcontext.New(t), workingDir)
require.NoError(t, err)
+
actualConfig, err := os.ReadFile(getMainConfigFilePath(workingDir))
require.NoError(t, err)
+
expectedConfig, err := os.ReadFile(tc.expectedConfigFile)
require.NoError(t, err)
require.Equal(t, string(expectedConfig), string(actualConfig))
@@ -291,8 +293,10 @@ func Test_AddRecipeContext(t *testing.T) {
// validate generated config
actualConfig, err := os.ReadFile(getMainConfigFilePath(workingDir))
require.NoError(t, err)
+
expectedConfig, err := os.ReadFile(tc.expectedConfigFile)
require.NoError(t, err)
+
require.Equal(t, string(expectedConfig), string(actualConfig))
})
}
@@ -685,8 +689,10 @@ func Test_AddOutputs(t *testing.T) {
// Assert generated config file matches expected config in JSON format.
actualConfig, err := os.ReadFile(getMainConfigFilePath(workingDir))
require.NoError(t, err)
+
expectedConfig, err := os.ReadFile(tc.expectedConfigFile)
require.NoError(t, err)
+
require.Equal(t, string(expectedConfig), string(actualConfig))
})
}
@@ -932,6 +938,7 @@ func Test_updateModuleWithProviderAliases(t *testing.T) {
// Assert generated config file matches expected config in JSON format.
actualConfig, err := os.ReadFile(getMainConfigFilePath(workingDir))
require.NoError(t, err)
+
if tt.wantErr != true {
expectedConfig, err := os.ReadFile(tt.expectedConfigFile)
require.NoError(t, err)
diff --git a/pkg/recipes/terraform/config/providers/types_test.go b/pkg/recipes/terraform/config/providers/types_test.go
index 9d577ef7aaf..39c394691e6 100644
--- a/pkg/recipes/terraform/config/providers/types_test.go
+++ b/pkg/recipes/terraform/config/providers/types_test.go
@@ -54,7 +54,7 @@ func Test_GetRecipeProviderConfigs(t *testing.T) {
},
},
},
- expected: map[string][]map[string]any{"aws": []map[string]any{}},
+ expected: map[string][]map[string]any{"aws": {}},
},
{
desc: "provider with config",
diff --git a/pkg/recipes/terraform/config/testdata/module-emptyparams.tf.json b/pkg/recipes/terraform/config/testdata/module-emptyparams.tf.json
index b538245b1ca..447eaca32e3 100644
--- a/pkg/recipes/terraform/config/testdata/module-emptyparams.tf.json
+++ b/pkg/recipes/terraform/config/testdata/module-emptyparams.tf.json
@@ -6,4 +6,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/module-emptyresourceparam.tf.json b/pkg/recipes/terraform/config/testdata/module-emptyresourceparam.tf.json
index 32000ed76e0..f47f8cdb2be 100644
--- a/pkg/recipes/terraform/config/testdata/module-emptyresourceparam.tf.json
+++ b/pkg/recipes/terraform/config/testdata/module-emptyresourceparam.tf.json
@@ -8,4 +8,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/module-emptytemplateversion.tf.json b/pkg/recipes/terraform/config/testdata/module-emptytemplateversion.tf.json
index d6fa4ff02b0..6c56c1315ca 100644
--- a/pkg/recipes/terraform/config/testdata/module-emptytemplateversion.tf.json
+++ b/pkg/recipes/terraform/config/testdata/module-emptytemplateversion.tf.json
@@ -8,4 +8,4 @@
"source": "Azure/redis/azurerm"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/module-private-git-repo.tf.json b/pkg/recipes/terraform/config/testdata/module-private-git-repo.tf.json
index 2f006e57cad..be9ec356e56 100644
--- a/pkg/recipes/terraform/config/testdata/module-private-git-repo.tf.json
+++ b/pkg/recipes/terraform/config/testdata/module-private-git-repo.tf.json
@@ -8,4 +8,4 @@
"source": "git::https://env-app-redis-dev.azure.com/project/module"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/module.tf.json b/pkg/recipes/terraform/config/testdata/module.tf.json
index 0bdaac75284..834b4e78905 100644
--- a/pkg/recipes/terraform/config/testdata/module.tf.json
+++ b/pkg/recipes/terraform/config/testdata/module.tf.json
@@ -9,4 +9,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/outputs.tf.json b/pkg/recipes/terraform/config/testdata/outputs.tf.json
index 3f08577cb6f..913539013f7 100644
--- a/pkg/recipes/terraform/config/testdata/outputs.tf.json
+++ b/pkg/recipes/terraform/config/testdata/outputs.tf.json
@@ -15,4 +15,4 @@
"value": "${module.redis-azure.result}"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-empty.tf.json b/pkg/recipes/terraform/config/testdata/providers-empty.tf.json
index 046b03381a3..f62bed94840 100644
--- a/pkg/recipes/terraform/config/testdata/providers-empty.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-empty.tf.json
@@ -17,4 +17,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-emptyazureconfig.tf.json b/pkg/recipes/terraform/config/testdata/providers-emptyazureconfig.tf.json
index 21da0f9e495..0af5b2c53a0 100644
--- a/pkg/recipes/terraform/config/testdata/providers-emptyazureconfig.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-emptyazureconfig.tf.json
@@ -30,4 +30,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-emptywithrequiredprovider.tf.json b/pkg/recipes/terraform/config/testdata/providers-emptywithrequiredprovider.tf.json
index 5f9ddb36fc4..362b28264ac 100644
--- a/pkg/recipes/terraform/config/testdata/providers-emptywithrequiredprovider.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-emptywithrequiredprovider.tf.json
@@ -20,4 +20,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-envrecipedefaultconfig.tf.json b/pkg/recipes/terraform/config/testdata/providers-envrecipedefaultconfig.tf.json
index 88893b5541c..ac89646143a 100644
--- a/pkg/recipes/terraform/config/testdata/providers-envrecipedefaultconfig.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-envrecipedefaultconfig.tf.json
@@ -26,4 +26,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-envrecipeproviders.tf.json b/pkg/recipes/terraform/config/testdata/providers-envrecipeproviders.tf.json
index 796b3bd5f90..c70eea8d13b 100644
--- a/pkg/recipes/terraform/config/testdata/providers-envrecipeproviders.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-envrecipeproviders.tf.json
@@ -30,4 +30,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-modules-aliases.tf.json b/pkg/recipes/terraform/config/testdata/providers-modules-aliases.tf.json
index 0307bd9458d..ca9b358773c 100644
--- a/pkg/recipes/terraform/config/testdata/providers-modules-aliases.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-modules-aliases.tf.json
@@ -25,4 +25,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-modules-noaliases.tf.json b/pkg/recipes/terraform/config/testdata/providers-modules-noaliases.tf.json
index cd0f389cac9..3c3a6fe5dea 100644
--- a/pkg/recipes/terraform/config/testdata/providers-modules-noaliases.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-modules-noaliases.tf.json
@@ -17,4 +17,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-modules-subsetaliases.tf.json b/pkg/recipes/terraform/config/testdata/providers-modules-subsetaliases.tf.json
index 4fb77f9aa2f..a7885d26887 100644
--- a/pkg/recipes/terraform/config/testdata/providers-modules-subsetaliases.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-modules-subsetaliases.tf.json
@@ -20,4 +20,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-modules-unmatchedaliases.tf.json b/pkg/recipes/terraform/config/testdata/providers-modules-unmatchedaliases.tf.json
index 4e6ca077918..46eb5351058 100644
--- a/pkg/recipes/terraform/config/testdata/providers-modules-unmatchedaliases.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-modules-unmatchedaliases.tf.json
@@ -16,4 +16,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-overrideucpproviderconfig.tf.json b/pkg/recipes/terraform/config/testdata/providers-overrideucpproviderconfig.tf.json
index f3bcc76199e..46cc32337f4 100644
--- a/pkg/recipes/terraform/config/testdata/providers-overrideucpproviderconfig.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-overrideucpproviderconfig.tf.json
@@ -52,4 +52,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/providers-valid.tf.json b/pkg/recipes/terraform/config/testdata/providers-valid.tf.json
index d5be9800c17..01832ede2d9 100644
--- a/pkg/recipes/terraform/config/testdata/providers-valid.tf.json
+++ b/pkg/recipes/terraform/config/testdata/providers-valid.tf.json
@@ -41,4 +41,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/recipecontext-emptyrecipeparams.tf.json b/pkg/recipes/terraform/config/testdata/recipecontext-emptyrecipeparams.tf.json
index aaf7a2774df..5a658f0848c 100644
--- a/pkg/recipes/terraform/config/testdata/recipecontext-emptyrecipeparams.tf.json
+++ b/pkg/recipes/terraform/config/testdata/recipecontext-emptyrecipeparams.tf.json
@@ -27,4 +27,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/recipes/terraform/config/testdata/recipecontext.tf.json b/pkg/recipes/terraform/config/testdata/recipecontext.tf.json
index 244012699d9..d6d88ae73b8 100644
--- a/pkg/recipes/terraform/config/testdata/recipecontext.tf.json
+++ b/pkg/recipes/terraform/config/testdata/recipecontext.tf.json
@@ -30,4 +30,4 @@
"version": "1.1.0"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json
index a27f0e1ba90..d522a0984cb 100644
--- a/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json
@@ -4,4 +4,4 @@
"type": "System.Resources/resourceProviders/resourceTypes/apiVersions",
"provisioningState": "Succeeded",
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json b/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json
index b00654c87bd..704a9df342d 100644
--- a/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json
+++ b/pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json
@@ -2,4 +2,4 @@
"id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01",
"name": "2025-01-01",
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/awsplane-datamodel-empty.json b/pkg/ucp/api/v20231001preview/testdata/awsplane-datamodel-empty.json
index 800fceb81b6..b65bea96f02 100644
--- a/pkg/ucp/api/v20231001preview/testdata/awsplane-datamodel-empty.json
+++ b/pkg/ucp/api/v20231001preview/testdata/awsplane-datamodel-empty.json
@@ -15,4 +15,4 @@
"env": "dev"
},
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/azureplane-resource-empty.json b/pkg/ucp/api/v20231001preview/testdata/azureplane-resource-empty.json
index f4f5ecdc106..ac894957232 100644
--- a/pkg/ucp/api/v20231001preview/testdata/azureplane-resource-empty.json
+++ b/pkg/ucp/api/v20231001preview/testdata/azureplane-resource-empty.json
@@ -9,4 +9,4 @@
"properties": {
"url": "https://management.azure.com"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-accesskey.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-accesskey.json
index fd0db898a21..16a3b3198ef 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-accesskey.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-accesskey.json
@@ -1,17 +1,17 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "accessKeyId": "00000000-0000-0000-0000-000000000000",
- "secretAccessKey": "00000000-0000-0000-0000-000000000000",
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "accessKeyId": "00000000-0000-0000-0000-000000000000",
+ "secretAccessKey": "00000000-0000-0000-0000-000000000000",
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-irsa.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-irsa.json
index 421a43d58be..75b21a5122e 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-irsa.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-irsa.json
@@ -1,16 +1,16 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "roleARN": "arn:aws:iam::000000000000:role/role-name",
- "kind": "IRSA",
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "roleARN": "arn:aws:iam::000000000000:role/role-name",
+ "kind": "IRSA",
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-serviceprincipal.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-serviceprincipal.json
index 57931726892..202b6818c0b 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-serviceprincipal.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-serviceprincipal.json
@@ -1,18 +1,18 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "kind": "ServicePrincipal",
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "kind": "ServicePrincipal",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-workloadidentity.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-workloadidentity.json
index 5d6d681a756..f601382a94d 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-workloadidentity.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-workloadidentity.json
@@ -1,17 +1,17 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "kind": "WorkloadIdentity",
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "kind": "WorkloadIdentity",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-properties.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-properties.json
index f622bc89301..38e8f98aba9 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-properties.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-properties.json
@@ -1,6 +1,6 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2"
-}
\ No newline at end of file
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2"
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-aws.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-aws.json
index b48807fd785..46856a9bf58 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-aws.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-aws.json
@@ -1,12 +1,12 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "kind": "AccessKey"
- }
-}
\ No newline at end of file
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "kind": "AccessKey"
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-azure.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-azure.json
index d93935992ec..e18660718ce 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-azure.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-azure.json
@@ -1,12 +1,12 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "kind": "ServicePrincipal"
- }
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "kind": "ServicePrincipal"
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-aws.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-aws.json
index 39bb58d777e..08669c038b3 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-aws.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-aws.json
@@ -1,14 +1,13 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "kind": "AccessKey",
- "storage": {
- }
- }
-}
\ No newline at end of file
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "kind": "AccessKey",
+ "storage": {}
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-azure.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-azure.json
index fcf8cfbee75..d478d8df5f5 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-azure.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-azure.json
@@ -1,13 +1,13 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "kind": "ServicePrincipal",
- "storage": {}
- }
-}
\ No newline at end of file
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "kind": "ServicePrincipal",
+ "storage": {}
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-aws.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-aws.json
index 2fb0b4898cd..7a1e61a382e 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-aws.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-aws.json
@@ -1,15 +1,15 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "kind": "AccessKey",
- "storage": {
- "kind": "invalid"
- }
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "invalid"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-azure.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-azure.json
index dce8af6b168..7c70cb993a7 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-azure.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-azure.json
@@ -1,15 +1,15 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "clientSecret": "secret",
- "kind": "ServicePrincipal",
- "storage": {
- "kind": "invalid"
- }
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "clientSecret": "secret",
+ "kind": "ServicePrincipal",
+ "storage": {
+ "kind": "invalid"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresource-other.json b/pkg/ucp/api/v20231001preview/testdata/credentialresource-other.json
index 9b6c617806e..fff5b690744 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresource-other.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresource-other.json
@@ -1,14 +1,14 @@
{
- "id": "/planes/other/othercloud/providers/System.Other/credentials/default",
- "name": "default",
- "type": "System.Other/credentials",
- "location": "west-us-2",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/other/othercloud/providers/System.Other/credentials/default",
+ "name": "default",
+ "type": "System.Other/credentials",
+ "location": "west-us-2",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-accesskey.json b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-accesskey.json
index 7239e894674..538ffc6c686 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-accesskey.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-accesskey.json
@@ -1,34 +1,34 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "namespace": "radius-system",
+ "kind": "AccessKey",
+ "awsCredential": {
+ "kind": "AccessKey",
+ "accesskey": {
+ "accessKeyId": "00000000-0000-0000-0000-000000000000",
+ "secretAccessKey": "00000000-0000-0000-0000-000000000000"
+ }
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "namespace": "radius-system",
- "kind": "AccessKey",
- "awsCredential": {
- "kind": "AccessKey",
- "accesskey": {
- "accessKeyId": "00000000-0000-0000-0000-000000000000",
- "secretAccessKey": "00000000-0000-0000-0000-000000000000"
- }
- },
- "storage": {
- "kind": "Internal",
- "internalCredential": {
- "secretName": "aws-awscloud-default"
- }
- }
+ "storage": {
+ "kind": "Internal",
+ "internalCredential": {
+ "secretName": "aws-awscloud-default"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-irsa.json b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-irsa.json
index 4df034df1a3..8734ec7a043 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-irsa.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-aws-irsa.json
@@ -1,33 +1,33 @@
{
- "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "west-us-2",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/planes/aws/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "west-us-2",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "namespace": "radius-system",
+ "kind": "IRSA",
+ "awsCredential": {
+ "kind": "IRSA",
+ "irsa": {
+ "roleARN": "arn:aws:iam::000000000000:role/role-name"
+ }
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "namespace": "radius-system",
- "kind": "IRSA",
- "awsCredential": {
- "kind": "IRSA",
- "irsa": {
- "roleARN": "arn:aws:iam::000000000000:role/role-name"
- }
- },
- "storage": {
- "kind": "Internal",
- "internalCredential": {
- "secretName": "aws-awscloud-default"
- }
- }
+ "storage": {
+ "kind": "Internal",
+ "internalCredential": {
+ "secretName": "aws-awscloud-default"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-serviceprincipal.json b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-serviceprincipal.json
index d597ff9bc58..29537a6a63b 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-serviceprincipal.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-serviceprincipal.json
@@ -1,35 +1,35 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "namespace": "radius-system",
+ "kind": "ServicePrincipal",
+ "azureCredential": {
+ "kind": "ServicePrincipal",
+ "servicePrincipal": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "secret": "secret"
+ }
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "namespace": "radius-system",
- "kind": "ServicePrincipal",
- "azureCredential": {
- "kind": "ServicePrincipal",
- "servicePrincipal": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "secret": "secret"
- }
- },
- "storage": {
- "kind": "Internal",
- "internalCredential": {
- "secretName": "azure-azurecloud-default"
- }
- }
+ "storage": {
+ "kind": "Internal",
+ "internalCredential": {
+ "secretName": "azure-azurecloud-default"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-workloadidentity.json b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-workloadidentity.json
index bde5380eff8..58e51854e87 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-workloadidentity.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-azure-workloadidentity.json
@@ -1,34 +1,34 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "west-us-2",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "west-us-2",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "namespace": "radius-system",
+ "kind": "WorkloadIdentity",
+ "azureCredential": {
+ "kind": "WorkloadIdentity",
+ "workloadIdentity": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000"
+ }
},
- "tags": {
- "env": "dev"
- },
- "properties": {
- "namespace": "radius-system",
- "kind": "WorkloadIdentity",
- "azureCredential": {
- "kind": "WorkloadIdentity",
- "workloadIdentity": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000"
- }
- },
- "storage": {
- "kind": "Internal",
- "internalCredential": {
- "secretName": "azure-azurecloud-default"
- }
- }
+ "storage": {
+ "kind": "Internal",
+ "internalCredential": {
+ "secretName": "azure-azurecloud-default"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-default.json b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-default.json
index 0cf4c6ed5b8..81c57478515 100644
--- a/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-default.json
+++ b/pkg/ucp/api/v20231001preview/testdata/credentialresourcedatamodel-default.json
@@ -1,27 +1,27 @@
{
- "id": "/planes/other/othercloud/providers/System.Other/credentials/default",
- "name": "default",
- "type": "System.Other/credentials",
- "location": "west-us-2",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- },
- "properties": {
- "namespace": "radius-system",
- "kind": "default",
- "storage": {
- "kind": "Internal",
- "internalCredential": {
- "secretName": "other_othercloud_default"
- }
- }
+ "id": "/planes/other/othercloud/providers/System.Other/credentials/default",
+ "name": "default",
+ "type": "System.Other/credentials",
+ "location": "west-us-2",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "namespace": "radius-system",
+ "kind": "default",
+ "storage": {
+ "kind": "Internal",
+ "internalCredential": {
+ "secretName": "other_othercloud_default"
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/genericplane-datamodel-empty.json b/pkg/ucp/api/v20231001preview/testdata/genericplane-datamodel-empty.json
index 791bb40bce1..b65bea96f02 100644
--- a/pkg/ucp/api/v20231001preview/testdata/genericplane-datamodel-empty.json
+++ b/pkg/ucp/api/v20231001preview/testdata/genericplane-datamodel-empty.json
@@ -14,6 +14,5 @@
"tags": {
"env": "dev"
},
- "properties": {
- }
-}
\ No newline at end of file
+ "properties": {}
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/genericresource_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/genericresource_datamodel.json
index c8fabfc130e..a3451de302f 100644
--- a/pkg/ucp/api/v20231001preview/testdata/genericresource_datamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/genericresource_datamodel.json
@@ -1,22 +1,22 @@
{
- "id": "/planes/radius/local/providers/System.Resources/resources/asdf",
- "name": "asdf",
- "type": "System.Resources/resources",
- "location": "global",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- },
- "properties": {
- "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/test-app",
- "type": "Applications.Core/applications",
- "name": "test-app"
- }
-}
\ No newline at end of file
+ "id": "/planes/radius/local/providers/System.Resources/resources/asdf",
+ "name": "asdf",
+ "type": "System.Resources/resources",
+ "location": "global",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/test-app",
+ "type": "Applications.Core/applications",
+ "name": "test-app"
+ }
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json
index 7554ec45767..ca274ef12b5 100644
--- a/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/location_datamodel.json
@@ -13,4 +13,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/location_resource.json b/pkg/ucp/api/v20231001preview/testdata/location_resource.json
index 49b318f3640..5984bcf7540 100644
--- a/pkg/ucp/api/v20231001preview/testdata/location_resource.json
+++ b/pkg/ucp/api/v20231001preview/testdata/location_resource.json
@@ -11,4 +11,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/planeresource-empty-resourceproviders.json b/pkg/ucp/api/v20231001preview/testdata/planeresource-empty-resourceproviders.json
index c3d3785f9f2..aacbcd54707 100644
--- a/pkg/ucp/api/v20231001preview/testdata/planeresource-empty-resourceproviders.json
+++ b/pkg/ucp/api/v20231001preview/testdata/planeresource-empty-resourceproviders.json
@@ -1,10 +1,9 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "kind": "UCPNative",
- "resourceProviders": {
- }
- }
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "kind": "UCPNative",
+ "resourceProviders": {}
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-kind.json b/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-kind.json
index c33f07e8199..b24077ce336 100644
--- a/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-kind.json
+++ b/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-kind.json
@@ -1,10 +1,10 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "resourceProviders": {
- "Applications.Core": "https://applications.core.radius.azure.com"
- }
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "resourceProviders": {
+ "Applications.Core": "https://applications.core.radius.azure.com"
}
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-url.json b/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-url.json
index 8ef058e1cb1..0e67a6b6b82 100644
--- a/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-url.json
+++ b/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-url.json
@@ -1,11 +1,11 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "kind": "Azure",
- "resourceProviders": {
- "Applications.Core": "https://applications.core.radius.azure.com"
- }
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "kind": "Azure",
+ "resourceProviders": {
+ "Applications.Core": "https://applications.core.radius.azure.com"
}
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-unsupported-kind.json b/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-unsupported-kind.json
index 7ef50e8616b..13ba03b17ae 100644
--- a/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-unsupported-kind.json
+++ b/pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-unsupported-kind.json
@@ -1,11 +1,11 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "kind": "BadKind",
- "resourceProviders": {
- "Applications.Core": "https://applications.core.radius.azure.com"
- }
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "kind": "BadKind",
+ "resourceProviders": {
+ "Applications.Core": "https://applications.core.radius.azure.com"
}
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/planeresource.json b/pkg/ucp/api/v20231001preview/testdata/planeresource.json
index cfd01424ceb..3f0d1b80d9f 100644
--- a/pkg/ucp/api/v20231001preview/testdata/planeresource.json
+++ b/pkg/ucp/api/v20231001preview/testdata/planeresource.json
@@ -1,11 +1,11 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "kind": "UCPNative",
- "resourceProviders": {
- "Applications.Core": "https://applications.core.radius.azure.com"
- }
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "kind": "UCPNative",
+ "resourceProviders": {
+ "Applications.Core": "https://applications.core.radius.azure.com"
}
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/planeresourcedatamodel.json b/pkg/ucp/api/v20231001preview/testdata/planeresourcedatamodel.json
index 0aa72367b5e..fa47bbb42c6 100644
--- a/pkg/ucp/api/v20231001preview/testdata/planeresourcedatamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/planeresourcedatamodel.json
@@ -1,22 +1,22 @@
{
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- },
- "properties": {
- "kind": "UCPNative",
- "resourceProviders": {
- "Applications.Core": "https://applications.core.radius.azure.com"
- }
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "kind": "UCPNative",
+ "resourceProviders": {
+ "Applications.Core": "https://applications.core.radius.azure.com"
}
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/radiusplane-datamodel-empty.json b/pkg/ucp/api/v20231001preview/testdata/radiusplane-datamodel-empty.json
index 31629a9c081..0658820d232 100644
--- a/pkg/ucp/api/v20231001preview/testdata/radiusplane-datamodel-empty.json
+++ b/pkg/ucp/api/v20231001preview/testdata/radiusplane-datamodel-empty.json
@@ -19,4 +19,4 @@
"Applications.Core": "http://applications-rp:9000"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourcegroup.json b/pkg/ucp/api/v20231001preview/testdata/resourcegroup.json
index 59f0f6c7924..cbd9f3d45c2 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourcegroup.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourcegroup.json
@@ -1,9 +1,9 @@
{
- "id": "/planes/radius/local/resourceGroups/test-rg",
- "name": "test-rg",
- "type": "System.Resources/resourceGroups",
- "location": "global",
- "tags": {
- "env": "dev"
- }
+ "id": "/planes/radius/local/resourceGroups/test-rg",
+ "name": "test-rg",
+ "type": "System.Resources/resourceGroups",
+ "location": "global",
+ "tags": {
+ "env": "dev"
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourcegroupresourcedatamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourcegroupresourcedatamodel.json
index c91d7e8495b..86fb5af8161 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourcegroupresourcedatamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourcegroupresourcedatamodel.json
@@ -1,17 +1,17 @@
{
- "id": "/planes/radius/local/resourceGroups/test-rg",
- "name": "test-rg",
- "type": "System.Resources/resourceGroups",
- "location": "global",
- "systemData": {
- "createdBy": "fakeid@live.com",
- "createdByType": "User",
- "createdAt": "2021-09-24T19:09:54.2403864Z",
- "lastModifiedBy": "fakeid@live.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
- },
- "tags": {
- "env": "dev"
- }
+ "id": "/planes/radius/local/resourceGroups/test-rg",
+ "name": "test-rg",
+ "type": "System.Resources/resourceGroups",
+ "location": "global",
+ "systemData": {
+ "createdBy": "fakeid@live.com",
+ "createdByType": "User",
+ "createdAt": "2021-09-24T19:09:54.2403864Z",
+ "lastModifiedBy": "fakeid@live.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-09-24T20:09:54.2403864Z"
+ },
+ "tags": {
+ "env": "dev"
+ }
}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json
index 7fa9b67dce5..a5c8250634d 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json
@@ -5,4 +5,4 @@
"location": "global",
"provisioningState": "Succeeded",
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json
index 1702862764c..ed4598afbbc 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json
@@ -3,4 +3,4 @@
"name": "Applications.Test",
"location": "global",
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json
index c7a17684141..0232263e81b 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourceprovidersummary_datamodel.json
@@ -13,4 +13,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json b/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json
index 0de9332a690..0fc57927334 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json
@@ -6,4 +6,4 @@
"properties": {
"defaultApiVersion": "2025-01-01"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json b/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json
index 67ca436b08c..240db3dab6d 100644
--- a/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json
+++ b/pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json
@@ -4,4 +4,4 @@
"properties": {
"defaultApiVersion": "2025-01-01"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/aws/servicecontext/testdata/armrpcheaders.json b/pkg/ucp/aws/servicecontext/testdata/armrpcheaders.json
index 2a8e7c759e5..ce7a87684b1 100644
--- a/pkg/ucp/aws/servicecontext/testdata/armrpcheaders.json
+++ b/pkg/ucp/aws/servicecontext/testdata/armrpcheaders.json
@@ -1,63 +1,63 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "http://127.0.0.1:9000/apis/api.ucp.dev/v1alpha3/planes/aws/aws/accounts/817312594854/regions/us-west-2/providers/AWS.Kinesis/Stream/:put?api-version=2023-10-01-preview",
- "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
- "User-Agent": "ARMClient/1.6.0.0",
- "Via": "1.1 Azure",
- "X-Azure-Requestchain": "hops=1",
- "X-Fd-Clienthttpversion": "1.1",
- "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Fd-Edgeenvironment": "fake",
- "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
- "X-Fd-Originalurl": "http://127.0.0.1:9000/apis/api.ucp.dev/v1alpha3/planes/aws/aws/accounts/817312594854/regions/us-west-2/providers/AWS.Kinesis/Stream/:put?api-version=2023-10-01-preview",
- "X-Fd-Partner": "AzureResourceManager_Test",
- "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
- "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
- "X-Fd-Routekey": "000075000",
- "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
- "X-Forwarded-For": "192.168.0.10",
- "X-Forwarded-Host": "radapp.io",
- "X-Forwarded-Port": "443",
- "X-Forwarded-Proto": "https",
- "X-Forwarded-Scheme": "https",
- "X-Ms-Activity-Vector": "IN.0P",
- "X-Ms-Arm-Network-Source": "PublicNetwork",
- "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:54:52.6857175Z\"}",
- "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Acr": "1",
- "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
- "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-App-Id-Acr": "0",
- "X-Ms-Client-Audience": "https://management.core.windows.net/",
- "X-Ms-Client-Authentication-Methods": "pwd",
- "X-Ms-Client-Authorization-Source": "RoleBased",
- "X-Ms-Client-Family-Name-Encoded": "fake",
- "X-Ms-Client-Given-Name-Encoded": "fake",
- "X-Ms-Client-Identity-Provider": "live.com",
- "X-Ms-Client-Ip-Address": "192.168.0.10",
- "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
- "X-Ms-Client-Location": "centralus",
- "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Principal-Group-Membership-Source": "Token",
- "X-Ms-Client-Principal-Id": "000000000000000",
- "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
- "X-Ms-Client-Puid": "000000000000000",
- "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Client-Scope": "user_impersonation",
- "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
- "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
- "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
- "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
- "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
- "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
- "X-Real-Ip": "192.168.0.10",
- "X-Request-Id": "1000f6040000000000004bc7d1666424",
- "X-Scheme": "https"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "http://127.0.0.1:9000/apis/api.ucp.dev/v1alpha3/planes/aws/aws/accounts/817312594854/regions/us-west-2/providers/AWS.Kinesis/Stream/:put?api-version=2023-10-01-preview",
+ "Traceparent": "00-000011048df2134ca37c9a689c3a0000-0000000000000000-01",
+ "User-Agent": "ARMClient/1.6.0.0",
+ "Via": "1.1 Azure",
+ "X-Azure-Requestchain": "hops=1",
+ "X-Fd-Clienthttpversion": "1.1",
+ "X-Fd-Clientip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Fd-Edgeenvironment": "fake",
+ "X-Fd-Eventid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Impressionguid": "00005A12DDEC4F8B80B65BB768190000",
+ "X-Fd-Originalurl": "http://127.0.0.1:9000/apis/api.ucp.dev/v1alpha3/planes/aws/aws/accounts/817312594854/regions/us-west-2/providers/AWS.Kinesis/Stream/:put?api-version=2023-10-01-preview",
+ "X-Fd-Partner": "AzureResourceManager_Test",
+ "X-Fd-Ref": "Ref A: xxxx Ref B: xxxx Ref C: 2022-03-22T18:54:50Z",
+ "X-Fd-Revip": "country=United States,iso=us,state=Washington,city=Redmond,zip=00000,tz=-8,asn=0,lat=0,long=-1,countrycf=8,citycf=8",
+ "X-Fd-Routekey": "000075000",
+ "X-Fd-Socketip": "0000:0000:0000:1:0000:0000:0000:0000",
+ "X-Forwarded-For": "192.168.0.10",
+ "X-Forwarded-Host": "radapp.io",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https",
+ "X-Forwarded-Scheme": "https",
+ "X-Ms-Activity-Vector": "IN.0P",
+ "X-Ms-Arm-Network-Source": "PublicNetwork",
+ "X-Ms-Arm-Request-Tracking-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Arm-Resource-System-Data": "{\"lastModifiedBy\":\"fake@hotmail.com\",\"lastModifiedByType\":\"User\",\"lastModifiedAt\":\"2022-03-22T18:54:52.6857175Z\"}",
+ "X-Ms-Arm-Service-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Acr": "1",
+ "X-Ms-Client-Alt-Sec-Id": "1:live.com:0006000017E40000",
+ "X-Ms-Client-App-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-App-Id-Acr": "0",
+ "X-Ms-Client-Audience": "https://management.core.windows.net/",
+ "X-Ms-Client-Authentication-Methods": "pwd",
+ "X-Ms-Client-Authorization-Source": "RoleBased",
+ "X-Ms-Client-Family-Name-Encoded": "fake",
+ "X-Ms-Client-Given-Name-Encoded": "fake",
+ "X-Ms-Client-Identity-Provider": "live.com",
+ "X-Ms-Client-Ip-Address": "192.168.0.10",
+ "X-Ms-Client-Issuer": "https://sts.windows-ppe.net/00000000-0000-0000-0000-000000000000/",
+ "X-Ms-Client-Location": "centralus",
+ "X-Ms-Client-Object-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Principal-Group-Membership-Source": "Token",
+ "X-Ms-Client-Principal-Id": "000000000000000",
+ "X-Ms-Client-Principal-Name": "live.com#fake@hotmail.com",
+ "X-Ms-Client-Puid": "000000000000000",
+ "X-Ms-Client-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Client-Scope": "user_impersonation",
+ "X-Ms-Client-Tenant-Id": "00000000-0000-0000-0000-000000000001",
+ "X-Ms-Client-Wids": "00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000001",
+ "X-Ms-Correlation-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Home-Tenant-Id": "00000000-0000-0000-0000-000000000002",
+ "X-Ms-Request-Id": "00000000-0000-0000-0000-000000000000",
+ "X-Ms-Routing-Request-Id": "CENTRALUS:20220322T185452Z:00000000-0000-0000-0000-000000000000",
+ "X-Original-Forwarded-For": "0000:0000:0000:1:449b:f928:e40a:a351",
+ "X-Real-Ip": "192.168.0.10",
+ "X-Request-Id": "1000f6040000000000004bc7d1666424",
+ "X-Scheme": "https"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/aws/testdata/aws-credential.json b/pkg/ucp/frontend/controller/credentials/aws/testdata/aws-credential.json
index 99f677f723f..741e333627a 100644
--- a/pkg/ucp/frontend/controller/credentials/aws/testdata/aws-credential.json
+++ b/pkg/ucp/frontend/controller/credentials/aws/testdata/aws-credential.json
@@ -1,16 +1,16 @@
{
- "id": "/planes/aws/awscloud/providers/System.AWS/credentials/default",
- "type": "System.AWS/credentials",
- "location": "West US",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "accessKeyId": "00000000-0000-0000-0000-000000000000",
- "secretAccessKey": "00000000-0000-0000-0000-000000000000",
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/aws/awscloud/providers/System.AWS/credentials/default",
+ "type": "System.AWS/credentials",
+ "location": "West US",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "accessKeyId": "00000000-0000-0000-0000-000000000000",
+ "secretAccessKey": "00000000-0000-0000-0000-000000000000",
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/frontend/controller/credentials/aws/testdata/invalid-request-aws-credential.json b/pkg/ucp/frontend/controller/credentials/aws/testdata/invalid-request-aws-credential.json
index d531c47585c..61cdf637e23 100644
--- a/pkg/ucp/frontend/controller/credentials/aws/testdata/invalid-request-aws-credential.json
+++ b/pkg/ucp/frontend/controller/credentials/aws/testdata/invalid-request-aws-credential.json
@@ -1,5 +1,5 @@
{
- "id": "/planes/aws/awscloud/providers/System.AWS/credentials/default",
- "type": "System.AWS/credentials",
- "location": "West US"
-}
\ No newline at end of file
+ "id": "/planes/aws/awscloud/providers/System.AWS/credentials/default",
+ "type": "System.AWS/credentials",
+ "location": "West US"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview.json b/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview.json
index 916b1c2f15f..af041e1c81b 100644
--- a/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview.json
+++ b/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_badapiversion.json b/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_badapiversion.json
index 73fd4649fd6..54a78b67c8e 100644
--- a/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_badapiversion.json
+++ b/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_badapiversion.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=bad"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=bad"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_invalidcredential.json b/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_invalidcredential.json
index ce31c932349..89ae43b0126 100644
--- a/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_invalidcredential.json
+++ b/pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_invalidcredential.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/aws/awscloud/providers/System.AWS//default?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/aws/awscloud/providers/System.AWS//default?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/azure/testdata/azure-credential.json b/pkg/ucp/frontend/controller/credentials/azure/testdata/azure-credential.json
index d611fac0bbb..b1947962b80 100644
--- a/pkg/ucp/frontend/controller/credentials/azure/testdata/azure-credential.json
+++ b/pkg/ucp/frontend/controller/credentials/azure/testdata/azure-credential.json
@@ -1,18 +1,18 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "name": "default",
- "type": "System.Azure/credentials",
- "location": "West US",
- "tags": {
- "env": "dev"
- },
- "properties": {
- "tenantId": "00000000-0000-0000-0000-000000000000",
- "clientId": "00000000-0000-0000-0000-000000000000",
- "secret": "secret",
- "kind": "ServicePrincipal",
- "storage": {
- "kind": "Internal"
- }
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "name": "default",
+ "type": "System.Azure/credentials",
+ "location": "West US",
+ "tags": {
+ "env": "dev"
+ },
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "clientId": "00000000-0000-0000-0000-000000000000",
+ "secret": "secret",
+ "kind": "ServicePrincipal",
+ "storage": {
+ "kind": "Internal"
}
-}
\ No newline at end of file
+ }
+}
diff --git a/pkg/ucp/frontend/controller/credentials/azure/testdata/invalid-request-azure-credential.json b/pkg/ucp/frontend/controller/credentials/azure/testdata/invalid-request-azure-credential.json
index 0fe0eab7f65..62916c8bdfb 100644
--- a/pkg/ucp/frontend/controller/credentials/azure/testdata/invalid-request-azure-credential.json
+++ b/pkg/ucp/frontend/controller/credentials/azure/testdata/invalid-request-azure-credential.json
@@ -1,5 +1,5 @@
{
- "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
- "type": "System.Azure/credentials",
- "location": "West US"
-}
\ No newline at end of file
+ "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default",
+ "type": "System.Azure/credentials",
+ "location": "West US"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview.json b/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview.json
index 13ce7e250e0..6cd7bb81a85 100644
--- a/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview.json
+++ b/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/azure/azurecloud/providers/System.Azure/credentials/default?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/azure/azurecloud/providers/System.Azure/credentials/default?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_badapiversion.json b/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_badapiversion.json
index 73fd4649fd6..54a78b67c8e 100644
--- a/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_badapiversion.json
+++ b/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_badapiversion.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=bad"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=bad"
+}
diff --git a/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_invalidcredential.json b/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_invalidcredential.json
index 633cf6d0ed7..a7178fbeec5 100644
--- a/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_invalidcredential.json
+++ b/pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_invalidcredential.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/azure/azurecloud/providers/System.Azure//default?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/azure/azurecloud/providers/System.Azure//default?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/frontend/controller/planes/testdata/createazureplane.json b/pkg/ucp/frontend/controller/planes/testdata/createazureplane.json
index bf32dfda99e..2d32d24cab9 100644
--- a/pkg/ucp/frontend/controller/planes/testdata/createazureplane.json
+++ b/pkg/ucp/frontend/controller/planes/testdata/createazureplane.json
@@ -1,9 +1,9 @@
{
- "location": "global",
- "id": "/planes/azure/public",
- "name": "local",
- "type": "System.Azure/planes",
- "properties": {
- "kind": "Azure"
- }
-}
\ No newline at end of file
+ "location": "global",
+ "id": "/planes/azure/public",
+ "name": "local",
+ "type": "System.Azure/planes",
+ "properties": {
+ "kind": "Azure"
+ }
+}
diff --git a/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplane.json b/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplane.json
index 4bef6a71601..a67eaeb3d7a 100644
--- a/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplane.json
+++ b/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplane.json
@@ -1,13 +1,13 @@
{
- "location": "global",
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "resourceProviders": {
- "Applications.Core": "http://localhost:9080/",
- "Applications.Connection": "http://localhost:9081/"
- },
- "kind": "UCPNative"
- }
-}
\ No newline at end of file
+ "location": "global",
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "resourceProviders": {
+ "Applications.Core": "http://localhost:9080/",
+ "Applications.Connection": "http://localhost:9081/"
+ },
+ "kind": "UCPNative"
+ }
+}
diff --git a/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplanenoproviders.json b/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplanenoproviders.json
index 89937a381dd..38ac6c2a68b 100644
--- a/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplanenoproviders.json
+++ b/pkg/ucp/frontend/controller/planes/testdata/createucpnativeplanenoproviders.json
@@ -1,9 +1,9 @@
{
- "location": "global",
- "id": "/planes/radius/local",
- "name": "local",
- "type": "System.Radius/planes",
- "properties": {
- "kind": "UCPNative"
- }
-}
\ No newline at end of file
+ "location": "global",
+ "id": "/planes/radius/local",
+ "name": "local",
+ "type": "System.Radius/planes",
+ "properties": {
+ "kind": "UCPNative"
+ }
+}
diff --git a/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview.json b/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview.json
index fd9f809acb5..cdc59b8ada6 100644
--- a/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview.json
+++ b/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/radius/local?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/radius/local?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_azure.json b/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_azure.json
index a4f8edcca8a..d873b02ea6a 100644
--- a/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_azure.json
+++ b/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_azure.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/azure/public?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/azure/public?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_nonexistentplane.json b/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_nonexistentplane.json
index 474a04e0773..9a6a73f7e0d 100644
--- a/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_nonexistentplane.json
+++ b/pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_nonexistentplane.json
@@ -1,8 +1,8 @@
{
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate",
- "Accept-Language": "en-US",
- "Content-Length": "305",
- "Content-Type": "application/json; charset=utf-8",
- "Referer": "/planes/abc/xyz?api-version=2023-10-01-preview"
-}
\ No newline at end of file
+ "Accept": "application/json",
+ "Accept-Encoding": "gzip, deflate",
+ "Accept-Language": "en-US",
+ "Content-Length": "305",
+ "Content-Type": "application/json; charset=utf-8",
+ "Referer": "/planes/abc/xyz?api-version=2023-10-01-preview"
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_requestbody.json
index e90de57484a..05e32a818d5 100644
--- a/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_requestbody.json
@@ -3,6 +3,5 @@
"tags": {
"updated": "yes"
},
- "properties": {
- }
-}
\ No newline at end of file
+ "properties": {}
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_responsebody.json
index 175d42da191..cb368019c8f 100644
--- a/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_responsebody.json
@@ -9,4 +9,4 @@
"properties": {
"provisioningState": "Succeeded"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_list_responsebody.json
index 37a1b0d3dea..9c04b62e219 100644
--- a/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_list_responsebody.json
@@ -11,4 +11,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_requestbody.json
index 849feac62f7..a3aab8e0f6b 100644
--- a/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_requestbody.json
@@ -1,6 +1,5 @@
{
"location": "global",
"tags": {},
- "properties": {
- }
-}
\ No newline at end of file
+ "properties": {}
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_responsebody.json
index cbed0a9db68..ecf9720581c 100644
--- a/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_responsebody.json
@@ -7,4 +7,4 @@
"properties": {
"provisioningState": "Succeeded"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_requestbody.json
index 815ccc9b4fd..112888c9ff9 100644
--- a/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_requestbody.json
@@ -6,4 +6,4 @@
"properties": {
"url": "https://management.azure.com/"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_responsebody.json
index 97d99edf139..4b1fda8100c 100644
--- a/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_responsebody.json
@@ -10,4 +10,4 @@
"provisioningState": "Succeeded",
"url": "https://management.azure.com/"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_list_responsebody.json
index 406a8712b9d..8dfdbfa19ea 100644
--- a/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_list_responsebody.json
@@ -12,4 +12,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_requestbody.json
index 8561d8a8654..1eefe269a89 100644
--- a/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_requestbody.json
@@ -3,4 +3,4 @@
"properties": {
"url": "https://management.azure.com/"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_responsebody.json
index f7066c621a7..dd5d61c200e 100644
--- a/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_responsebody.json
@@ -8,4 +8,4 @@
"provisioningState": "Succeeded",
"url": "https://management.azure.com/"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/genericplane_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/genericplane_v20231001preview_list_responsebody.json
index 7aeccbcf578..df0dafd562b 100644
--- a/pkg/ucp/integrationtests/planes/testdata/genericplane_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/genericplane_v20231001preview_list_responsebody.json
@@ -11,4 +11,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_requestbody.json
index 18c64307df8..ecbee691e3b 100644
--- a/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_requestbody.json
@@ -6,4 +6,4 @@
"another": "http://localhost:10000"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_responsebody.json
index 4469fd299de..68b83af3e12 100644
--- a/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_responsebody.json
@@ -11,4 +11,4 @@
"another": "http://localhost:10000"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_list_responsebody.json
index a292a400b08..6987b56fb8c 100644
--- a/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_list_responsebody.json
@@ -14,4 +14,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_requestbody.json
index 1718ad91ebf..771a4211cc4 100644
--- a/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_requestbody.json
@@ -6,4 +6,4 @@
"test": "http://localhost:9999"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_responsebody.json
index 1f5ec224650..e8d10e69f21 100644
--- a/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_responsebody.json
@@ -10,4 +10,4 @@
"test": "http://localhost:9999"
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_requestbody.json
index 336fcad19aa..1c02db24e8e 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_requestbody.json
@@ -1,6 +1,5 @@
{
- "_location_oops": "global",
- "name": "test-rg",
- "properties":{
- }
-}
\ No newline at end of file
+ "_location_oops": "global",
+ "name": "test-rg",
+ "properties": {}
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_responsebody.json
index 5184d526893..ff18309686b 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_responsebody.json
@@ -1,13 +1,13 @@
{
- "error": {
- "code": "HttpRequestPayloadAPISpecValidationFailed",
- "details": [
- {
- "code": "InvalidProperties",
- "message": "$.location in body is required"
- }
- ],
- "message": "HTTP request payload failed validation against API specification with one or more errors. Please see details for more information.",
- "target": "ucp/openapi"
- }
- }
\ No newline at end of file
+ "error": {
+ "code": "HttpRequestPayloadAPISpecValidationFailed",
+ "details": [
+ {
+ "code": "InvalidProperties",
+ "message": "$.location in body is required"
+ }
+ ],
+ "message": "HTTP request payload failed validation against API specification with one or more errors. Please see details for more information.",
+ "target": "ucp/openapi"
+ }
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_requestbody.json
index e838c983657..76fdb88b532 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_requestbody.json
@@ -1,6 +1,5 @@
{
- "location": "global",
- "name": "test-rg",
- "properties":{
- }
-}
\ No newline at end of file
+ "location": "global",
+ "name": "test-rg",
+ "properties": {}
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_responsebody.json
index 64b15e9ddc4..63eb16c4e43 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_responsebody.json
@@ -1,7 +1,7 @@
{
- "location": "global",
- "id": "/planes/radius/local/resourcegroups/test-rg",
- "name": "test-rg",
- "tags": {},
- "type": "System.Resources/resourceGroups"
-}
\ No newline at end of file
+ "location": "global",
+ "id": "/planes/radius/local/resourcegroups/test-rg",
+ "name": "test-rg",
+ "tags": {},
+ "type": "System.Resources/resourceGroups"
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_list_responsebody.json
index 8d3b8e4630d..e3de59d14c6 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_list_responsebody.json
@@ -1,11 +1,11 @@
{
- "value": [
- {
- "location": "global",
- "id": "/planes/radius/local/resourcegroups/test-rg",
- "name": "test-rg",
- "tags":{},
- "type": "System.Resources/resourceGroups"
- }
- ]
-}
\ No newline at end of file
+ "value": [
+ {
+ "location": "global",
+ "id": "/planes/radius/local/resourcegroups/test-rg",
+ "name": "test-rg",
+ "tags": {},
+ "type": "System.Resources/resourceGroups"
+ }
+ ]
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_requestbody.json
index e838c983657..76fdb88b532 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_requestbody.json
@@ -1,6 +1,5 @@
{
- "location": "global",
- "name": "test-rg",
- "properties":{
- }
-}
\ No newline at end of file
+ "location": "global",
+ "name": "test-rg",
+ "properties": {}
+}
diff --git a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_responsebody.json
index 1a99da964f5..63eb16c4e43 100644
--- a/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_responsebody.json
@@ -1,7 +1,7 @@
{
- "location": "global",
- "id": "/planes/radius/local/resourcegroups/test-rg",
- "name": "test-rg",
- "tags":{},
- "type": "System.Resources/resourceGroups"
-}
\ No newline at end of file
+ "location": "global",
+ "id": "/planes/radius/local/resourcegroups/test-rg",
+ "name": "test-rg",
+ "tags": {},
+ "type": "System.Resources/resourceGroups"
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json
index bcd37241563..74b8575872c 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json
@@ -1,3 +1,3 @@
{
"value": []
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json
index 68f7e91778e..88b65d2d295 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json
@@ -9,4 +9,4 @@
"type": "System.Resources/resourceproviders/resourcetypes/apiversions"
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json
index c4d8e7a64d5..e685ecdaf98 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json
@@ -4,4 +4,4 @@
"test": "my-test"
},
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json
index 51eb3e7113b..34080fc07ea 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json
@@ -5,4 +5,4 @@
"provisioningState": "Succeeded"
},
"type": "System.Resources/resourceproviders/resourcetypes/apiversions"
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json
index bcd37241563..74b8575872c 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json
@@ -1,3 +1,3 @@
{
"value": []
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json
index f644f893058..cdbafb1d762 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json
@@ -10,4 +10,4 @@
"type": "System.Resources/resourceProviders/locations"
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json
index c4d8e7a64d5..e685ecdaf98 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json
@@ -4,4 +4,4 @@
"test": "my-test"
},
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json
index 4a385dbdb4f..d12c3e59ebf 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json
@@ -6,4 +6,4 @@
"resourceTypes": {}
},
"type": "System.Resources/resourceProviders/locations"
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json
index bcd37241563..74b8575872c 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json
@@ -1,3 +1,3 @@
{
"value": []
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json
index a809b0035fe..07a9428bc30 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json
@@ -13,4 +13,4 @@
"type": "System.Resources/resourceproviders"
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json
index c4d8e7a64d5..e685ecdaf98 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json
@@ -4,4 +4,4 @@
"test": "my-test"
},
"properties": {}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json
index 7f1cfd4e4d9..919e419f3b8 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json
@@ -9,4 +9,4 @@
"test": "my-test"
},
"type": "System.Resources/resourceproviders"
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json
index bcd37241563..74b8575872c 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json
@@ -1,3 +1,3 @@
{
"value": []
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json
index f433b23a317..cda2b3ea776 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json
@@ -10,4 +10,4 @@
"type": "System.Resources/resourceproviders/resourcetypes"
}
]
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json
index cbf7447da64..42aa792fb94 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json
@@ -2,4 +2,4 @@
"properties": {
"defaultApiVersion": "2025-01-01"
}
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json
index 21437a157c7..24b4c65d72e 100644
--- a/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json
+++ b/pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json
@@ -6,4 +6,4 @@
"provisioningState": "Succeeded"
},
"type": "System.Resources/resourceproviders/resourcetypes"
-}
\ No newline at end of file
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-request.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-request.json
index 7fd227e4765..9f42457a406 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-request.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-request.json
@@ -1,8 +1,10 @@
{
- "url": "http://example.com/planes/example/local/some-path?query=yes",
- "method": "PUT",
- "headers": {
- "Referer": ["http://ucp.example.com/path/base/planes/example/local/some-path?query=yes"]
- },
- "body": ""
-}
\ No newline at end of file
+ "url": "http://example.com/planes/example/local/some-path?query=yes",
+ "method": "PUT",
+ "headers": {
+ "Referer": [
+ "http://ucp.example.com/path/base/planes/example/local/some-path?query=yes"
+ ]
+ },
+ "body": ""
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-response.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-response.json
index af9419e286e..92641a02ad7 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-response.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-response.json
@@ -1,8 +1,10 @@
{
- "statusCode": 200,
- "body": "{}",
- "headers": {
- "Azure-Asyncoperation": ["http://localhost:9443/planes/example/local/asyncresponseID"],
- "Location": ["http://localhost:9443/planes/example/local/asyncresponseID"]
- }
-}
\ No newline at end of file
+ "statusCode": 200,
+ "body": "{}",
+ "headers": {
+ "Azure-Asyncoperation": [
+ "http://localhost:9443/planes/example/local/asyncresponseID"
+ ],
+ "Location": ["http://localhost:9443/planes/example/local/asyncresponseID"]
+ }
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-request.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-request.json
index c90960ba9a0..5fc4796f1ef 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-request.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-request.json
@@ -1,7 +1,9 @@
{
- "url": "http://ucp.example.com/planes/example/local/some-path?query=yes",
- "headers": {
- "Referer": ["http://ucp.example.com/path/base/planes/example/local/some-path?query=yes"]
- },
- "method": "PUT"
-}
\ No newline at end of file
+ "url": "http://ucp.example.com/planes/example/local/some-path?query=yes",
+ "headers": {
+ "Referer": [
+ "http://ucp.example.com/path/base/planes/example/local/some-path?query=yes"
+ ]
+ },
+ "method": "PUT"
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-response.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-response.json
index 36bad624a44..9a2c0e1f787 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-response.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-response.json
@@ -1,8 +1,12 @@
{
- "statusCode": 200,
- "headers": {
- "Azure-Asyncoperation": ["http://ucp.example.com/path/base/planes/example/local/asyncresponseID"],
- "Location": ["http://ucp.example.com/path/base/planes/example/local/asyncresponseID"]
- },
- "body": ""
-}
\ No newline at end of file
+ "statusCode": 200,
+ "headers": {
+ "Azure-Asyncoperation": [
+ "http://ucp.example.com/path/base/planes/example/local/asyncresponseID"
+ ],
+ "Location": [
+ "http://ucp.example.com/path/base/planes/example/local/asyncresponseID"
+ ]
+ },
+ "body": ""
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-request.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-request.json
index f51674e8612..7789affa890 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-request.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-request.json
@@ -1,8 +1,10 @@
{
- "url": "http://example.com/planes/example/local/some-path?query=yes",
- "method": "PUT",
- "headers": {
- "Referer": ["http://ucp.example.com/planes/example/local/some-path?query=yes"]
- },
- "body": ""
-}
\ No newline at end of file
+ "url": "http://example.com/planes/example/local/some-path?query=yes",
+ "method": "PUT",
+ "headers": {
+ "Referer": [
+ "http://ucp.example.com/planes/example/local/some-path?query=yes"
+ ]
+ },
+ "body": ""
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-response.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-response.json
index af9419e286e..92641a02ad7 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-response.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-response.json
@@ -1,8 +1,10 @@
{
- "statusCode": 200,
- "body": "{}",
- "headers": {
- "Azure-Asyncoperation": ["http://localhost:9443/planes/example/local/asyncresponseID"],
- "Location": ["http://localhost:9443/planes/example/local/asyncresponseID"]
- }
-}
\ No newline at end of file
+ "statusCode": 200,
+ "body": "{}",
+ "headers": {
+ "Azure-Asyncoperation": [
+ "http://localhost:9443/planes/example/local/asyncresponseID"
+ ],
+ "Location": ["http://localhost:9443/planes/example/local/asyncresponseID"]
+ }
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-request.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-request.json
index eed5f00e23f..907e51cc821 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-request.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-request.json
@@ -1,7 +1,9 @@
{
- "url": "http://ucp.example.com/planes/example/local/some-path?query=yes",
- "headers": {
- "Referer": ["http://ucp.example.com/planes/example/local/some-path?query=yes"]
- },
- "method": "PUT"
-}
\ No newline at end of file
+ "url": "http://ucp.example.com/planes/example/local/some-path?query=yes",
+ "headers": {
+ "Referer": [
+ "http://ucp.example.com/planes/example/local/some-path?query=yes"
+ ]
+ },
+ "method": "PUT"
+}
diff --git a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-response.json b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-response.json
index bb52ae109ed..118f86b466b 100644
--- a/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-response.json
+++ b/pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-response.json
@@ -1,8 +1,10 @@
{
- "statusCode": 200,
- "headers": {
- "Azure-Asyncoperation": ["http://ucp.example.com/planes/example/local/asyncresponseID"],
- "Location": ["http://ucp.example.com/planes/example/local/asyncresponseID"]
- },
- "body": ""
-}
\ No newline at end of file
+ "statusCode": 200,
+ "headers": {
+ "Azure-Asyncoperation": [
+ "http://ucp.example.com/planes/example/local/asyncresponseID"
+ ],
+ "Location": ["http://ucp.example.com/planes/example/local/asyncresponseID"]
+ },
+ "body": ""
+}
diff --git a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-request.json b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-request.json
index 1c9b0effc34..81743b29746 100644
--- a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-request.json
+++ b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-request.json
@@ -1,8 +1,8 @@
{
- "url": "http://example.com/some-path?query=yes",
- "method": "GET",
- "headers": {
- "traceparent": ["traceid"]
- },
- "body": ""
+ "url": "http://example.com/some-path?query=yes",
+ "method": "GET",
+ "headers": {
+ "traceparent": ["traceid"]
+ },
+ "body": ""
}
diff --git a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-response.json b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-response.json
index 97c9d73f02c..362392ac025 100644
--- a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-response.json
+++ b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-response.json
@@ -1,9 +1,7 @@
{
- "statusCode": 200,
- "body": "{ \"message\": \"hello there!\" }",
- "headers": {
- "Content-Type": [
- "application/json"
- ]
- }
+ "statusCode": 200,
+ "body": "{ \"message\": \"hello there!\" }",
+ "headers": {
+ "Content-Type": ["application/json"]
+ }
}
diff --git a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-request.json b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-request.json
index 20a9ab4556d..be9088c29fb 100644
--- a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-request.json
+++ b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-request.json
@@ -1,11 +1,11 @@
{
- "url": "http://ucp.example.com/some-path?query=yes",
- "method": "GET",
- "headers": {
- "traceparent": ["traceid"],
- "X-Remote-User": ["fakeUser"],
- "X-Remote-Group": ["fakeGroup"],
- "X-Remote-Extra-Name": ["fakeExtraName"],
- "X-Remote-Extra-Id": ["fakeExtraId"]
- }
+ "url": "http://ucp.example.com/some-path?query=yes",
+ "method": "GET",
+ "headers": {
+ "traceparent": ["traceid"],
+ "X-Remote-User": ["fakeUser"],
+ "X-Remote-Group": ["fakeGroup"],
+ "X-Remote-Extra-Name": ["fakeExtraName"],
+ "X-Remote-Extra-Id": ["fakeExtraId"]
+ }
}
diff --git a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-response.json b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-response.json
index 763189be536..e3303ff55cb 100644
--- a/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-response.json
+++ b/pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-response.json
@@ -1,9 +1,7 @@
{
- "statusCode": 200,
- "headers": {
- "Content-Type": [
- "application/json"
- ]
- },
- "body": ""
+ "statusCode": 200,
+ "headers": {
+ "Content-Type": ["application/json"]
+ },
+ "body": ""
}
diff --git a/pkg/validator/testdata/put-environments-invalid-missing-kind.json b/pkg/validator/testdata/put-environments-invalid-missing-kind.json
index aca96f5e765..1bbe72c12b9 100644
--- a/pkg/validator/testdata/put-environments-invalid-missing-kind.json
+++ b/pkg/validator/testdata/put-environments-invalid-missing-kind.json
@@ -1,8 +1,8 @@
{
- "location": "West US",
- "properties": {
- "compute": {
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
- }
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "compute": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
+ }
+ }
+}
diff --git a/pkg/validator/testdata/put-environments-invalid-missing-location.json b/pkg/validator/testdata/put-environments-invalid-missing-location.json
index fd06239e041..b868d994df9 100644
--- a/pkg/validator/testdata/put-environments-invalid-missing-location.json
+++ b/pkg/validator/testdata/put-environments-invalid-missing-location.json
@@ -1,8 +1,8 @@
{
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
- }
- }
-}
\ No newline at end of file
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
+ }
+ }
+}
diff --git a/pkg/validator/testdata/put-environments-invalid-missing-locationandkind.json b/pkg/validator/testdata/put-environments-invalid-missing-locationandkind.json
index 6c59814ab79..6bf2e542aad 100644
--- a/pkg/validator/testdata/put-environments-invalid-missing-locationandkind.json
+++ b/pkg/validator/testdata/put-environments-invalid-missing-locationandkind.json
@@ -1,7 +1,7 @@
{
- "properties": {
- "compute": {
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
- }
- }
-}
\ No newline at end of file
+ "properties": {
+ "compute": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
+ }
+ }
+}
diff --git a/pkg/validator/testdata/put-environments-valid-selfhost.json b/pkg/validator/testdata/put-environments-valid-selfhost.json
index c22a3f8afb7..456bf5b16ec 100644
--- a/pkg/validator/testdata/put-environments-valid-selfhost.json
+++ b/pkg/validator/testdata/put-environments-valid-selfhost.json
@@ -1,8 +1,8 @@
{
- "location": "West US",
- "properties": {
- "compute": {
- "kind": "kubernetes"
- }
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes"
+ }
+ }
+}
diff --git a/pkg/validator/testdata/put-environments-valid.json b/pkg/validator/testdata/put-environments-valid.json
index 0d0b24294f0..659758f10bc 100644
--- a/pkg/validator/testdata/put-environments-valid.json
+++ b/pkg/validator/testdata/put-environments-valid.json
@@ -1,9 +1,9 @@
{
- "location": "West US",
- "properties": {
- "compute": {
- "kind": "kubernetes",
- "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
- }
- }
-}
\ No newline at end of file
+ "location": "West US",
+ "properties": {
+ "compute": {
+ "kind": "kubernetes",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster"
+ }
+ }
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate.json
index 58b9d41de6c..b00214dee4f 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate.json
@@ -16,13 +16,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
}
}
@@ -45,13 +40,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -63,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate_BaseManifest.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate_BaseManifest.json
index ec310a19f85..698f3d9f615 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate_BaseManifest.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_CreateOrUpdate_BaseManifest.json
@@ -16,13 +16,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"runtimes": {
@@ -50,13 +45,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"runtimes": {
@@ -73,4 +63,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Delete.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Delete.json
index 99ae7550886..346c7ab772f 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Get.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Get.json
index 57dd6c65329..1a0dd1ff1e3 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Get.json
@@ -23,13 +23,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -41,4 +36,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_List.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_List.json
index 49439c8f9aa..bf8906fadc8 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_List.json
@@ -24,13 +24,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -55,13 +50,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -100,4 +90,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_ListByScope.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_ListByScope.json
index 94e0ec01e43..80793eb554d 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_ListByScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_ListByScope.json
@@ -24,13 +24,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -82,13 +77,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -103,4 +93,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_CreateOrUpdate.json
index 84a94402791..3ac4c935a2a 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_CreateOrUpdate.json
@@ -127,4 +127,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetEnv0.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetEnv0.json
index dd4c320eef2..f642d68789c 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetEnv0.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetEnv0.json
@@ -92,4 +92,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetRecipeMetadata.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetRecipeMetadata.json
index 6baed5642ab..b36a02ff896 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetRecipeMetadata.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_GetRecipeMetadata.json
@@ -15,12 +15,12 @@
"templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb",
"parameters": {
"throughput": {
- "type" : "int",
- "defaultValue" : 400
+ "type": "int",
+ "defaultValue": 400
},
"location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
}
}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_List.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_List.json
index f1bb8b2096f..4654b8cba4b 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_List.json
@@ -161,4 +161,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_PatchEnv0.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_PatchEnv0.json
index 8f2e4b52bbe..bf296e2d0d1 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_PatchEnv0.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_PatchEnv0.json
@@ -110,4 +110,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdate.json
index 76b4f159d16..fcbe3b9be02 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdate.json
@@ -1,62 +1,61 @@
{
"operationId": "Extenders_CreateOrUpdate",
"title": "Create or Update an extender resource",
- "parameters": {
- "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
- "extenderName": "extender0",
- "api-version": "2023-10-01-preview",
- "ExtenderParameters": {
+ "parameters": {
+ "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
+ "extenderName": "extender0",
+ "api-version": "2023-10-01-preview",
+ "ExtenderParameters": {
+ "location": "West US",
+ "properties": {
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "secrets": {
+ "accountSid": "sid",
+ "authToken:": "token"
+ },
+ "resourceProvisioning": "manual"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
"location": "West US",
"properties": {
+ "provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
"environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "fromNumber": "222-222-2222",
"secrets": {
- "accountSid": "sid",
- "authToken:": "token"
+ "accountSid": "sid",
+ "authToken:": "token"
},
"resourceProvisioning": "manual"
}
}
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Succeeded",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "fromNumber": "222-222-2222",
- "secrets": {
- "accountSid": "sid",
- "authToken:": "token"
- },
- "resourceProvisioning": "manual"
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
- "name": "extender1",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Accepted",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "fromNumber": "222-222-2222",
- "secrets": {
- "accountSid": "sid",
- "authToken:": "token"
- },
- "resourceProvisioning": "manual"
- }
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
+ "name": "extender1",
+ "type": "Applications.Core/extenders",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Accepted",
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "fromNumber": "222-222-2222",
+ "secrets": {
+ "accountSid": "sid",
+ "authToken:": "token"
+ },
+ "resourceProvisioning": "manual"
}
}
}
+ }
}
-
\ No newline at end of file
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdateWithRecipe.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdateWithRecipe.json
index 15503ec0808..e6114950136 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdateWithRecipe.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_CreateOrUpdateWithRecipe.json
@@ -1,13 +1,30 @@
{
"operationId": "Extenders_CreateOrUpdate",
"title": "Create or Update an extender resource with recipe",
- "parameters": {
- "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
- "extenderName": "extender0",
- "api-version": "2023-10-01-preview",
- "ExtenderParameters": {
+ "parameters": {
+ "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
+ "extenderName": "extender0",
+ "api-version": "2023-10-01-preview",
+ "ExtenderParameters": {
+ "location": "West US",
+ "properties": {
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "s3"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
"location": "West US",
"properties": {
+ "provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
"environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
"recipe": {
@@ -16,39 +33,21 @@
}
}
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Succeeded",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "s3"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
- "name": "extender1",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Succeeded",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "s3"
- }
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
+ "name": "extender1",
+ "type": "Applications.Core/extenders",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "s3"
}
}
}
}
+ }
}
-
\ No newline at end of file
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Delete.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Delete.json
index 08aacc41cee..264542a8804 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Get.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Get.json
index 5a8ddbe87a9..af07af0473c 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Get.json
@@ -28,4 +28,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_List.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_List.json
index 9246caa3335..079d29b7370 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_List.json
@@ -31,4 +31,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListByRootScope.json
index b5e64de39af..f1e3ca328e5 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListByRootScope.json
@@ -31,4 +31,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListSecrets.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListSecrets.json
index 502d4831043..36cecd3ce56 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListSecrets.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_ListSecrets.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Update.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Update.json
index 854d2f8b51d..f2e1d679b51 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Update.json
@@ -58,4 +58,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_CreateOrUpdate.json
index 71fa5cf16b9..e2958e81475 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_CreateOrUpdate.json
@@ -9,12 +9,12 @@
"location": "West US",
"properties": {
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
@@ -32,12 +32,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_Get.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_Get.json
index 7b8a09b3997..ce47781389d 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_Get.json
@@ -15,12 +15,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_List.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_List.json
index 4a2c0e8e39a..b795a209697 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_List.json
@@ -16,12 +16,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_ListByScope.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_ListByScope.json
index 225b186679e..06940110b25 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_ListByScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_ListByScope.json
@@ -16,13 +16,13 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend",
- "path":"/"
+ "path": "/"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
@@ -37,13 +37,13 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend",
- "path":"/backend2"
+ "path": "/backend2"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate_GlobalScope.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate_GlobalScope.json
index de3ab2d199b..091432f662d 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate_GlobalScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate_GlobalScope.json
@@ -1,49 +1,49 @@
{
- "operationId": "SecretStores_CreateOrUpdate",
- "title": "Create or Update a secret store resource with global scope",
- "parameters": {
- "rootScope": "/planes/radius/local/resourceGroups/testGroup",
- "secretStoreName": "secret",
- "api-version": "2023-10-01-preview",
- "SecretStoreResource": {
+ "operationId": "SecretStores_CreateOrUpdate",
+ "title": "Create or Update a secret store resource with global scope",
+ "parameters": {
+ "rootScope": "/planes/radius/local/resourceGroups/testGroup",
+ "secretStoreName": "secret",
+ "api-version": "2023-10-01-preview",
+ "SecretStoreResource": {
+ "location": "global",
+ "properties": {
+ "type": "certificate",
+ "data": {
+ "tls.crt": {
+ "encoding": "base64",
+ "value": "certificate"
+ },
+ "tls.key": {
+ "encoding": "base64",
+ "value": "certificate"
+ }
+ },
+ "resource": "testNamespace/secret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret",
+ "name": "secret",
+ "type": "Applications.Core/secretStores",
"location": "global",
"properties": {
+ "provisioningState": "Succeeded",
"type": "certificate",
"data": {
"tls.crt": {
- "encoding": "base64",
- "value": "certificate"
+ "encoding": "base64"
},
"tls.key": {
- "encoding": "base64",
- "value": "certificate"
+ "encoding": "base64"
}
},
"resource": "testNamespace/secret"
}
}
- },
- "responses": {
- "200": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret",
- "name": "secret",
- "type": "Applications.Core/secretStores",
- "location": "global",
- "properties": {
- "provisioningState": "Succeeded",
- "type": "certificate",
- "data": {
- "tls.crt": {
- "encoding": "base64"
- },
- "tls.key": {
- "encoding": "base64"
- }
- },
- "resource": "testNamespace/secret"
- }
- }
- }
}
- }
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_Get.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_Get.json
index 32a9ff7fcf2..0b3f3efb4e9 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_Get.json
@@ -18,10 +18,8 @@
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
"type": "certificate",
"data": {
- "tls.crt": {
- },
- "tls.key": {
- }
+ "tls.crt": {},
+ "tls.key": {}
}
}
}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_List.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_List.json
index 4d95d3f6653..05625e08b5f 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_List.json
@@ -19,10 +19,8 @@
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
"type": "certificate",
"data": {
- "tls.crt": {
- },
- "tls.key": {
- }
+ "tls.crt": {},
+ "tls.key": {}
}
}
},
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_Get.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_Get.json
index 65624ce9c88..0a57a837ed3 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_Get.json
@@ -52,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_List.json b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_List.json
index 0bf504f3b85..31c8274beab 100644
--- a/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_List.json
@@ -8,7 +8,8 @@
"responses": {
"200": {
"body": {
- "value": [{
+ "value": [
+ {
"id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/volumes/keyvault0",
"name": "keyvault0",
"type": "Applications.Core/volumes",
@@ -97,4 +98,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdate.json
index d3e7bcfd169..b2cba5052df 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdate.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdateWithRecipe.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdateWithRecipe.json
index 1e2a605fbfb..b1cca76a9a2 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdateWithRecipe.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_CreateOrUpdateWithRecipe.json
@@ -63,4 +63,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Delete.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Delete.json
index 63a568f43d2..40c2172e4de 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Get.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Get.json
index 964aca70fed..36521872b7e 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Get.json
@@ -32,4 +32,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_List.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_List.json
index c792841bd77..db218545371 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_List.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_ListByRootScope.json
index 377dfe293c6..742c44fba97 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_ListByRootScope.json
@@ -53,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Update.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Update.json
index 39ee6e7a623..886bb1a15da 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Update.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdate.json
index 12d7590b534..3c2431411bd 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdate.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdateWithRecipe.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdateWithRecipe.json
index dc6c0dd2d2a..c0fd8eea28b 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdateWithRecipe.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_CreateOrUpdateWithRecipe.json
@@ -63,4 +63,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Delete.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Delete.json
index 1a2b2092807..8d4c1657ddc 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Get.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Get.json
index a42b3a0e4a5..1c5c1491f2e 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Get.json
@@ -32,4 +32,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_List.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_List.json
index 8375beaa8bb..4754a95ad5d 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_List.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_ListByRootScope.json
index f339de48399..7a5b7302ba6 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_ListByRootScope.json
@@ -53,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Update.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Update.json
index d5c98f29d1d..58b083c8c1c 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Update.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate.json
index 9fd05878729..7e34284cc75 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_CreateOrUpdate.json
@@ -60,4 +60,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Delete.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Delete.json
index 0744553b204..440c2a02503 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Get.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Get.json
index 33e674b2903..d762a9f1515 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Get.json
@@ -27,4 +27,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_List.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_List.json
index fc273195f1c..b58043435ca 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_List.json
@@ -48,4 +48,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_ListByRootScope.json
index b01f25fdfb1..15eaca17242 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_ListByRootScope.json
@@ -48,4 +48,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Update.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Update.json
index 319e3d8dc54..93e08680478 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Update.json
@@ -60,4 +60,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdate.json
index 2baaa6b55b1..1cc5b1a0d40 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdate.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdateWithRecipe.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdateWithRecipe.json
index 149fec66728..07b15806d7a 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdateWithRecipe.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_CreateOrUpdateWithRecipe.json
@@ -52,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Delete.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Delete.json
index bfe774ce31f..73d263483da 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Get.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Get.json
index 1605c358111..bfabbb914b4 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Get.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_List.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_List.json
index 8db892bac72..ca069e4921f 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_List.json
@@ -89,4 +89,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_ListByRootScope.json
index 2c98dc98d6d..808dfe201b6 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_ListByRootScope.json
@@ -75,4 +75,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Update.json b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Update.json
index 4ffd10fdedc..3013baf8e17 100644
--- a/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Update.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateRecipe.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateRecipe.json
index 392896fcc8c..2fc3d94b805 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateRecipe.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateRecipe.json
@@ -59,4 +59,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateValues.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateValues.json
index 897dc206766..7d4b10b286e 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateValues.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_CreateOrUpdateValues.json
@@ -62,4 +62,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Delete.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Delete.json
index 752653650f7..0a05ea6d619 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Get.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Get.json
index a0a7b8f5d0c..bea442b12a4 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Get.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_List.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_List.json
index c280d951c50..8867641fa7d 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_List.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_ListByRootScope.json
index 1aa71c6e079..1014ca1a2aa 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_ListByRootScope.json
@@ -71,4 +71,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Update.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Update.json
index a9d61d4d0e9..2bff961d72f 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Update.json
@@ -62,4 +62,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdate.json
index 57510928650..d478e3a3bd7 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdate.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateRecipe.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateRecipe.json
index 64512247560..d7a8f741b60 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateRecipe.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateRecipe.json
@@ -59,4 +59,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateValues.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateValues.json
index 88d9dcfb89f..4d4f6a45bd3 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateValues.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_CreateOrUpdateValues.json
@@ -56,4 +56,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Delete.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Delete.json
index e468f72cd66..cb9eec9c232 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Get.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Get.json
index aca26b7c225..1b6ebeb4923 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Get.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_List.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_List.json
index 21e6ae05926..905f450635e 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_List.json
@@ -66,4 +66,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListByRootScope.json
index ecf024fb104..f405d6b9a1a 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListByRootScope.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListSecrets.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListSecrets.json
index 185cec6a7cd..8a7e49da322 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListSecrets.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_ListSecrets.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Update.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Update.json
index f1ac392db3f..aa1148154ee 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Update.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_CreateOrUpdate.json
index 7f4a9de8f22..147e1958c79 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_CreateOrUpdate.json
@@ -49,4 +49,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Delete.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Delete.json
index a092eecce33..21e3e41d8ed 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Get.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Get.json
index 2de248c7b27..4390634640c 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Get.json
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_List.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_List.json
index 04ca8b7bbf8..3afc35e8d25 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_List.json
@@ -64,4 +64,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_ListByRootScope.json
index 9c6de5f03ac..aab8f047895 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_ListByRootScope.json
@@ -69,4 +69,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Update.json b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Update.json
index 13d60114477..c4a59f0de50 100644
--- a/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Update.json
@@ -49,4 +49,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_CreateOrUpdate.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_CreateOrUpdate.json
index 0b51ad6fdbc..d27d1aa9dea 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_CreateOrUpdate.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_CreateOrUpdate.json
@@ -56,4 +56,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Delete.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Delete.json
index d78bb91dd57..2eacd771a00 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Delete.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Get.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Get.json
index ddd1cb632dd..530a7c38ce8 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Get.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Get.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_List.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_List.json
index 83383819e0e..d5ecd4fa433 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_List.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_List.json
@@ -44,4 +44,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListByRootScope.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListByRootScope.json
index d932a9a7a37..5e4658bc45d 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListByRootScope.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListByRootScope.json
@@ -47,4 +47,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListSecrets.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListSecrets.json
index 686ec415e05..3be84807872 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListSecrets.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListSecrets.json
@@ -14,4 +14,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Update.json b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Update.json
index 61dff0e3234..04e9acfeca6 100644
--- a/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Update.json
+++ b/swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Update.json
@@ -56,4 +56,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/applications/resource-manager/Test.Resource/preview/2022-08-19-preview/openapi.json b/swagger/specification/applications/resource-manager/Test.Resource/preview/2022-08-19-preview/openapi.json
index 0479c3f9534..36d7927a81d 100644
--- a/swagger/specification/applications/resource-manager/Test.Resource/preview/2022-08-19-preview/openapi.json
+++ b/swagger/specification/applications/resource-manager/Test.Resource/preview/2022-08-19-preview/openapi.json
@@ -10,21 +10,13 @@
}
]
},
- "schemes": [
- "https"
- ],
+ "schemes": ["https"],
"host": "management.azure.com",
- "produces": [
- "application/json"
- ],
- "consumes": [
- "application/json"
- ],
+ "produces": ["application/json"],
+ "consumes": ["application/json"],
"security": [
{
- "azure_auth": [
- "user_impersonation"
- ]
+ "azure_auth": ["user_impersonation"]
}
],
"securityDefinitions": {
@@ -50,9 +42,7 @@
"/{rootScope}/providers/Test.Resource/testAsyncResources": {
"get": {
"operationId": "TestAsyncResources_ListByScope",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "List TestAsyncResource resources by Scope",
"parameters": [
{
@@ -92,9 +82,7 @@
"/{rootScope}/providers/Test.Resource/testAsyncResources/{testAsyncResourceName}": {
"get": {
"operationId": "TestAsyncResources_Get",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Get a TestAsyncResource",
"parameters": [
{
@@ -135,9 +123,7 @@
},
"put": {
"operationId": "TestAsyncResources_CreateOrUpdate",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Create a TestAsyncResource",
"parameters": [
{
@@ -204,9 +190,7 @@
},
"patch": {
"operationId": "TestAsyncResources_Update",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Update a TestAsyncResource",
"parameters": [
{
@@ -274,9 +258,7 @@
},
"delete": {
"operationId": "TestAsyncResources_Delete",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Delete a TestAsyncResource",
"parameters": [
{
@@ -337,9 +319,7 @@
"/providers/Test.Resource/operations": {
"get": {
"operationId": "Operations_List",
- "tags": [
- "Operations"
- ],
+ "tags": ["Operations"],
"description": "List the operations for the provider",
"parameters": [
{
@@ -385,17 +365,12 @@
}
},
"discriminator": "kind",
- "required": [
- "kind"
- ]
+ "required": ["kind"]
},
"IdentitySettingKind": {
"type": "string",
"description": "IdentitySettingKind is the kind of supported external identity setting",
- "enum": [
- "undefined",
- "azure.com.workload"
- ],
+ "enum": ["undefined", "azure.com.workload"],
"x-ms-enum": {
"name": "IdentitySettingKind",
"modelAsString": true,
@@ -430,9 +405,7 @@
"description": "The resource ID of the provisioned identity"
}
},
- "required": [
- "kind"
- ]
+ "required": ["kind"]
},
"KubernetesCompute": {
"type": "object",
@@ -443,9 +416,7 @@
"description": "The namespace to use for the environment."
}
},
- "required": [
- "namespace"
- ],
+ "required": ["namespace"],
"allOf": [
{
"$ref": "#/definitions/EnvironmentCompute"
@@ -552,10 +523,7 @@
"$ref": "#/definitions/TestAsyncResourceProperties",
"description": "The resource-specific properties for this resource.",
"x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "x-ms-mutability": ["read", "create"]
}
},
"allOf": [
@@ -581,9 +549,7 @@
"description": "The link to the next page of items"
}
},
- "required": [
- "value"
- ]
+ "required": ["value"]
},
"TestAsyncResourceProperties": {
"type": "object",
@@ -612,10 +578,7 @@
"description": "The property1 of TestASyncResource"
}
},
- "required": [
- "application",
- "property1"
- ]
+ "required": ["application", "property1"]
},
"TestAsyncResourceUpdate": {
"type": "object",
@@ -660,10 +623,7 @@
"$ref": "#/definitions/TestSyncResourceProperties",
"description": "The resource-specific properties for this resource.",
"x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "x-ms-mutability": ["read", "create"]
}
},
"allOf": [
@@ -699,18 +659,12 @@
"description": "The property1 of TestSyncResource"
}
},
- "required": [
- "application",
- "property1"
- ]
+ "required": ["application", "property1"]
},
"Versions": {
"type": "string",
"description": "Supported API versions for the Test.Resource resource provider.",
- "enum": [
- "2022-08-19-preview",
- "2023-08-19"
- ],
+ "enum": ["2022-08-19-preview", "2023-08-19"],
"x-ms-enum": {
"name": "Versions",
"modelAsString": true,
diff --git a/swagger/specification/applications/resource-manager/Test.Resource/stable/2023-08-19/openapi.json b/swagger/specification/applications/resource-manager/Test.Resource/stable/2023-08-19/openapi.json
index 0cd70b56f65..51ffc3977dd 100644
--- a/swagger/specification/applications/resource-manager/Test.Resource/stable/2023-08-19/openapi.json
+++ b/swagger/specification/applications/resource-manager/Test.Resource/stable/2023-08-19/openapi.json
@@ -10,21 +10,13 @@
}
]
},
- "schemes": [
- "https"
- ],
+ "schemes": ["https"],
"host": "management.azure.com",
- "produces": [
- "application/json"
- ],
- "consumes": [
- "application/json"
- ],
+ "produces": ["application/json"],
+ "consumes": ["application/json"],
"security": [
{
- "azure_auth": [
- "user_impersonation"
- ]
+ "azure_auth": ["user_impersonation"]
}
],
"securityDefinitions": {
@@ -53,9 +45,7 @@
"/{rootScope}/providers/Test.Resource/testAsyncResources": {
"get": {
"operationId": "TestAsyncResources_ListByScope",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "List TestAsyncResource resources by Scope",
"parameters": [
{
@@ -95,9 +85,7 @@
"/{rootScope}/providers/Test.Resource/testAsyncResources/{testAsyncResourceName}": {
"get": {
"operationId": "TestAsyncResources_Get",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Get a TestAsyncResource",
"parameters": [
{
@@ -138,9 +126,7 @@
},
"put": {
"operationId": "TestAsyncResources_CreateOrUpdate",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Create a TestAsyncResource",
"parameters": [
{
@@ -207,9 +193,7 @@
},
"patch": {
"operationId": "TestAsyncResources_Update",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Update a TestAsyncResource",
"parameters": [
{
@@ -277,9 +261,7 @@
},
"delete": {
"operationId": "TestAsyncResources_Delete",
- "tags": [
- "TestAsyncResources"
- ],
+ "tags": ["TestAsyncResources"],
"description": "Delete a TestAsyncResource",
"parameters": [
{
@@ -340,9 +322,7 @@
"/{rootScope}/providers/Test.Resource/testSyncResources": {
"get": {
"operationId": "TestSyncResources_ListByScope",
- "tags": [
- "TestSyncResources"
- ],
+ "tags": ["TestSyncResources"],
"description": "List TestSyncResource resources by Scope",
"parameters": [
{
@@ -382,9 +362,7 @@
"/{rootScope}/providers/Test.Resource/testSyncResources/{testSyncResourceName}": {
"get": {
"operationId": "TestSyncResources_Get",
- "tags": [
- "TestSyncResources"
- ],
+ "tags": ["TestSyncResources"],
"description": "Get a TestSyncResource",
"parameters": [
{
@@ -425,9 +403,7 @@
},
"put": {
"operationId": "TestSyncResources_CreateOrUpdate",
- "tags": [
- "TestSyncResources"
- ],
+ "tags": ["TestSyncResources"],
"description": "Create a TestSyncResource",
"parameters": [
{
@@ -483,9 +459,7 @@
},
"patch": {
"operationId": "TestSyncResources_Update",
- "tags": [
- "TestSyncResources"
- ],
+ "tags": ["TestSyncResources"],
"description": "Update a TestSyncResource",
"parameters": [
{
@@ -535,9 +509,7 @@
},
"delete": {
"operationId": "TestSyncResources_Delete",
- "tags": [
- "TestSyncResources"
- ],
+ "tags": ["TestSyncResources"],
"description": "Delete a TestSyncResource",
"parameters": [
{
@@ -575,9 +547,7 @@
"/providers/Test.Resource/operations": {
"get": {
"operationId": "Operations_List",
- "tags": [
- "Operations"
- ],
+ "tags": ["Operations"],
"description": "List the operations for the provider",
"parameters": [
{
@@ -623,17 +593,12 @@
}
},
"discriminator": "kind",
- "required": [
- "kind"
- ]
+ "required": ["kind"]
},
"IdentitySettingKind": {
"type": "string",
"description": "IdentitySettingKind is the kind of supported external identity setting",
- "enum": [
- "undefined",
- "azure.com.workload"
- ],
+ "enum": ["undefined", "azure.com.workload"],
"x-ms-enum": {
"name": "IdentitySettingKind",
"modelAsString": true,
@@ -668,9 +633,7 @@
"description": "The resource ID of the provisioned identity"
}
},
- "required": [
- "kind"
- ]
+ "required": ["kind"]
},
"KubernetesCompute": {
"type": "object",
@@ -681,9 +644,7 @@
"description": "The namespace to use for the environment."
}
},
- "required": [
- "namespace"
- ],
+ "required": ["namespace"],
"allOf": [
{
"$ref": "#/definitions/EnvironmentCompute"
@@ -790,10 +751,7 @@
"$ref": "#/definitions/TestAsyncResourceProperties",
"description": "The resource-specific properties for this resource.",
"x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "x-ms-mutability": ["read", "create"]
}
},
"allOf": [
@@ -819,9 +777,7 @@
"description": "The link to the next page of items"
}
},
- "required": [
- "value"
- ]
+ "required": ["value"]
},
"TestAsyncResourceProperties": {
"type": "object",
@@ -850,10 +806,7 @@
"description": "The property1 of TestASyncResource"
}
},
- "required": [
- "application",
- "property1"
- ]
+ "required": ["application", "property1"]
},
"TestAsyncResourceUpdate": {
"type": "object",
@@ -898,10 +851,7 @@
"$ref": "#/definitions/TestSyncResourceProperties",
"description": "The resource-specific properties for this resource.",
"x-ms-client-flatten": true,
- "x-ms-mutability": [
- "read",
- "create"
- ]
+ "x-ms-mutability": ["read", "create"]
}
},
"allOf": [
@@ -927,9 +877,7 @@
"description": "The link to the next page of items"
}
},
- "required": [
- "value"
- ]
+ "required": ["value"]
},
"TestSyncResourceProperties": {
"type": "object",
@@ -958,10 +906,7 @@
"description": "The property1 of TestSyncResource"
}
},
- "required": [
- "application",
- "property1"
- ]
+ "required": ["application", "property1"]
},
"TestSyncResourceUpdate": {
"type": "object",
@@ -1001,10 +946,7 @@
"Versions": {
"type": "string",
"description": "Supported API versions for the Test.Resource resource provider.",
- "enum": [
- "2022-08-19-preview",
- "2023-08-19"
- ],
+ "enum": ["2022-08-19-preview", "2023-08-19"],
"x-ms-enum": {
"name": "Versions",
"modelAsString": true,
diff --git a/swagger/specification/common-types/resource-management/v2/privatelinks.json b/swagger/specification/common-types/resource-management/v2/privatelinks.json
index 117c93054e7..468b6891f1e 100644
--- a/swagger/specification/common-types/resource-management/v2/privatelinks.json
+++ b/swagger/specification/common-types/resource-management/v2/privatelinks.json
@@ -49,9 +49,7 @@
"description": "The provisioning state of the private endpoint connection resource."
}
},
- "required": [
- "privateLinkServiceConnectionState"
- ],
+ "required": ["privateLinkServiceConnectionState"],
"description": "Properties of the PrivateEndpointConnectProperties."
},
"PrivateLinkServiceConnectionState": {
@@ -75,11 +73,7 @@
"PrivateEndpointServiceConnectionStatus": {
"type": "string",
"description": "The private endpoint connection status.",
- "enum": [
- "Pending",
- "Approved",
- "Rejected"
- ],
+ "enum": ["Pending", "Approved", "Rejected"],
"x-ms-enum": {
"name": "PrivateEndpointServiceConnectionStatus",
"modelAsString": true
@@ -89,12 +83,7 @@
"type": "string",
"readOnly": true,
"description": "The current provisioning state.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Failed"
- ],
+ "enum": ["Succeeded", "Creating", "Deleting", "Failed"],
"x-ms-enum": {
"name": "PrivateEndpointConnectionProvisioningState",
"modelAsString": true
diff --git a/swagger/specification/common-types/resource-management/v2/types.json b/swagger/specification/common-types/resource-management/v2/types.json
index 4f1bb5d91e3..1c16d31acfa 100644
--- a/swagger/specification/common-types/resource-management/v2/types.json
+++ b/swagger/specification/common-types/resource-management/v2/types.json
@@ -57,25 +57,16 @@
"additionalProperties": {
"type": "string"
},
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "Resource tags."
},
"location": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "The geo-location where the resource lives"
}
},
- "required": [
- "location"
- ],
+ "required": ["location"],
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -99,9 +90,7 @@
"id": {
"readOnly": true,
"type": "string",
- "x-ms-mutability": [
- "read"
- ],
+ "x-ms-mutability": ["read"],
"description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
@@ -112,34 +101,22 @@
"type": {
"readOnly": true,
"type": "string",
- "x-ms-mutability": [
- "read"
- ],
+ "x-ms-mutability": ["read"],
"description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
},
"location": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "The geo-location where the resource lives"
},
"managedBy": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
},
"kind": {
"type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
+ "x-ms-mutability": ["read", "create"],
"description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.",
"pattern": "^[-\\w\\._,\\(\\)]+$"
},
@@ -153,11 +130,7 @@
"additionalProperties": {
"type": "string"
},
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
+ "x-ms-mutability": ["read", "create", "update"],
"description": "Resource tags."
},
"identity": {
@@ -194,12 +167,7 @@
},
"tier": {
"type": "string",
- "enum": [
- "Free",
- "Basic",
- "Standard",
- "Premium"
- ],
+ "enum": ["Free", "Basic", "Standard", "Premium"],
"x-ms-enum": {
"name": "SkuTier",
"modelAsString": false
@@ -220,9 +188,7 @@
"description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
}
},
- "required": [
- "name"
- ]
+ "required": ["name"]
},
"Identity": {
"description": "Identity for the resource.",
@@ -241,9 +207,7 @@
"type": {
"type": "string",
"description": "The identity type.",
- "enum": [
- "SystemAssigned"
- ],
+ "enum": ["SystemAssigned"],
"x-ms-enum": {
"name": "ResourceIdentityType",
"modelAsString": false
@@ -276,11 +240,7 @@
}
},
"description": "Plan for the resource.",
- "required": [
- "name",
- "publisher",
- "product"
- ]
+ "required": ["name", "publisher", "product"]
},
"ErrorDetail": {
"description": "The error detail.",
@@ -307,10 +267,7 @@
"items": {
"$ref": "#/definitions/ErrorDetail"
},
- "x-ms-identifiers": [
- "message",
- "target"
- ],
+ "x-ms-identifiers": ["message", "target"],
"description": "The error details."
},
"additionalInfo": {
@@ -396,11 +353,7 @@
"description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
"type": "string",
"readOnly": true,
- "enum": [
- "user",
- "system",
- "user,system"
- ],
+ "enum": ["user", "system", "user,system"],
"x-ms-enum": {
"name": "Origin",
"modelAsString": true
@@ -410,9 +363,7 @@
"description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
"type": "string",
"readOnly": true,
- "enum": [
- "Internal"
- ],
+ "enum": ["Internal"],
"x-ms-enum": {
"name": "ActionType",
"modelAsString": true
@@ -429,9 +380,7 @@
"items": {
"$ref": "#/definitions/Operation"
},
- "x-ms-identifiers": [
- "name"
- ],
+ "x-ms-identifiers": ["name"],
"description": "List of operations supported by the resource provider",
"readOnly": true
},
@@ -445,9 +394,7 @@
"OperationStatusResult": {
"description": "The current status of an async operation.",
"type": "object",
- "required": [
- "status"
- ],
+ "required": ["status"],
"properties": {
"id": {
"description": "Fully qualified ID for the async operation.",
@@ -512,9 +459,7 @@
"description": "The country or region where the resource is located"
}
},
- "required": [
- "name"
- ]
+ "required": ["name"]
},
"systemData": {
"description": "Metadata pertaining to creation and last modification of the resource.",
@@ -528,12 +473,7 @@
"createdByType": {
"type": "string",
"description": "The type of identity that created the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
"x-ms-enum": {
"name": "createdByType",
"modelAsString": true
@@ -551,12 +491,7 @@
"lastModifiedByType": {
"type": "string",
"description": "The type of identity that last modified the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
"x-ms-enum": {
"name": "createdByType",
"modelAsString": true
@@ -575,10 +510,7 @@
"properties": {
"status": {
"description": "Indicates whether or not the encryption is enabled for container registry.",
- "enum": [
- "enabled",
- "disabled"
- ],
+ "enum": ["enabled", "disabled"],
"type": "string",
"x-ms-enum": {
"name": "EncryptionStatus",
@@ -629,10 +561,7 @@
"reason": {
"description": "The reason why the given name is not available.",
"type": "string",
- "enum": [
- "Invalid",
- "AlreadyExists"
- ],
+ "enum": ["Invalid", "AlreadyExists"],
"x-ms-enum": {
"name": "CheckNameAvailabilityReason",
"modelAsString": true
@@ -691,4 +620,4 @@
"x-ms-parameter-location": "method"
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/common-types/resource-management/v3/managedidentity.json b/swagger/specification/common-types/resource-management/v3/managedidentity.json
index 4d8d7da303e..3b371cb83f1 100644
--- a/swagger/specification/common-types/resource-management/v3/managedidentity.json
+++ b/swagger/specification/common-types/resource-management/v3/managedidentity.json
@@ -1,113 +1,106 @@
{
- "swagger": "2.0",
- "info": {
- "version": "3.0",
- "title": "Common types"
+ "swagger": "2.0",
+ "info": {
+ "version": "3.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "UserAssignedIdentities": {
+ "title": "User-Assigned Identities",
+ "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
},
- "paths": {},
- "definitions": {
- "UserAssignedIdentities": {
- "title": "User-Assigned Identities",
- "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.",
- "type": "object",
- "additionalProperties": {
- "$ref": "#/definitions/UserAssignedIdentity"
- }
- },
- "UserAssignedIdentity": {
- "type": "object",
- "description": "User assigned identity properties",
- "properties": {
- "principalId": {
- "description": "The principal ID of the assigned identity.",
- "format": "uuid",
- "type": "string",
- "readOnly": true
- },
- "clientId": {
- "description": "The client ID of the assigned identity.",
- "format": "uuid",
- "type": "string",
- "readOnly": true
- }
+ "UserAssignedIdentity": {
+ "type": "object",
+ "description": "User assigned identity properties",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of the assigned identity.",
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client ID of the assigned identity.",
+ "format": "uuid",
+ "type": "string",
+ "readOnly": true
}
- },
- "ManagedServiceIdentityType": {
- "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
- "enum": [
- "None",
- "SystemAssigned",
- "UserAssigned",
- "SystemAssigned,UserAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ManagedServiceIdentityType",
- "modelAsString": true
+ }
+ },
+ "ManagedServiceIdentityType": {
+ "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned,UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "ManagedServiceIdentity": {
+ "description": "Managed service identity (system assigned and/or user assigned identities)",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "format": "uuid",
+ "type": "string",
+ "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "format": "uuid",
+ "type": "string",
+ "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "$ref": "#/definitions/ManagedServiceIdentityType"
+ },
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/UserAssignedIdentities"
}
},
- "ManagedServiceIdentity": {
- "description": "Managed service identity (system assigned and/or user assigned identities)",
- "type": "object",
- "properties": {
- "principalId": {
- "readOnly": true,
- "format": "uuid",
- "type": "string",
- "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity."
- },
- "tenantId": {
- "readOnly": true,
- "format": "uuid",
- "type": "string",
- "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity."
- },
- "type": {
- "$ref": "#/definitions/ManagedServiceIdentityType"
- },
- "userAssignedIdentities": {
- "$ref": "#/definitions/UserAssignedIdentities"
- }
+ "required": ["type"]
+ },
+ "SystemAssignedServiceIdentityType": {
+ "description": "Type of managed service identity (either system assigned, or none).",
+ "enum": ["None", "SystemAssigned"],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SystemAssignedServiceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "SystemAssignedServiceIdentity": {
+ "description": "Managed service identity (either system assigned, or none)",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "format": "uuid",
+ "type": "string",
+ "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity."
},
- "required": [
- "type"
- ]
- },
- "SystemAssignedServiceIdentityType": {
- "description": "Type of managed service identity (either system assigned, or none).",
- "enum": [
- "None",
- "SystemAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "SystemAssignedServiceIdentityType",
- "modelAsString": true
+ "tenantId": {
+ "readOnly": true,
+ "format": "uuid",
+ "type": "string",
+ "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "$ref": "#/definitions/SystemAssignedServiceIdentityType"
}
},
- "SystemAssignedServiceIdentity": {
- "description": "Managed service identity (either system assigned, or none)",
- "type": "object",
- "properties": {
- "principalId": {
- "readOnly": true,
- "format": "uuid",
- "type": "string",
- "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity."
- },
- "tenantId": {
- "readOnly": true,
- "format": "uuid",
- "type": "string",
- "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity."
- },
- "type": {
- "$ref": "#/definitions/SystemAssignedServiceIdentityType"
- }
- },
- "required": [
- "type"
- ]
- }
+ "required": ["type"]
}
- }
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/common-types/resource-management/v3/privatelinks.json b/swagger/specification/common-types/resource-management/v3/privatelinks.json
index 3678f5c68ed..54de3bbbcf5 100644
--- a/swagger/specification/common-types/resource-management/v3/privatelinks.json
+++ b/swagger/specification/common-types/resource-management/v3/privatelinks.json
@@ -1,182 +1,171 @@
{
- "swagger": "2.0",
- "info": {
- "version": "3.0",
- "title": "Common types"
+ "swagger": "2.0",
+ "info": {
+ "version": "3.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "PrivateEndpoint": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ARM identifier for Private Endpoint"
+ }
+ },
+ "description": "The Private Endpoint resource."
},
- "paths": {},
- "definitions": {
- "PrivateEndpoint": {
- "type": "object",
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "properties": {
"properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "The ARM identifier for Private Endpoint"
- }
- },
- "description": "The Private Endpoint resource."
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ }
},
- "PrivateEndpointConnection": {
- "type": "object",
- "properties": {
- "properties": {
- "$ref": "#/definitions/PrivateEndpointConnectionProperties",
- "x-ms-client-flatten": true,
- "description": "Resource properties."
- }
+ "allOf": [
+ {
+ "$ref": "./types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
},
- "allOf": [
- {
- "$ref": "./types.json#/definitions/Resource"
- }
- ],
- "description": "The Private Endpoint Connection resource."
- },
- "PrivateEndpointConnectionProperties": {
- "type": "object",
- "properties": {
- "privateEndpoint": {
- "$ref": "#/definitions/PrivateEndpoint",
- "description": "The resource of private end point."
- },
- "privateLinkServiceConnectionState": {
- "$ref": "#/definitions/PrivateLinkServiceConnectionState",
- "description": "A collection of information about the state of the connection between service consumer and provider."
- },
- "provisioningState": {
- "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
- "description": "The provisioning state of the private endpoint connection resource."
- }
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
},
- "required": [
- "privateLinkServiceConnectionState"
- ],
- "description": "Properties of the PrivateEndpointConnectProperties."
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
},
- "PrivateLinkServiceConnectionState": {
- "type": "object",
- "properties": {
- "status": {
- "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
- "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
- },
- "description": {
- "type": "string",
- "description": "The reason for approval/rejection of the connection."
- },
- "actionsRequired": {
- "type": "string",
- "description": "A message indicating if changes on the service provider require any updates on the consumer."
- }
+ "required": ["privateLinkServiceConnectionState"],
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
},
- "description": "A collection of information about the state of the connection between service consumer and provider."
- },
- "PrivateEndpointServiceConnectionStatus": {
- "type": "string",
- "description": "The private endpoint connection status.",
- "enum": [
- "Pending",
- "Approved",
- "Rejected"
- ],
- "x-ms-enum": {
- "name": "PrivateEndpointServiceConnectionStatus",
- "modelAsString": true
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
}
},
- "PrivateEndpointConnectionProvisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The current provisioning state.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Failed"
- ],
- "x-ms-enum": {
- "name": "PrivateEndpointConnectionProvisioningState",
- "modelAsString": true
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": ["Pending", "Approved", "Rejected"],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": ["Succeeded", "Creating", "Deleting", "Failed"],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
}
},
- "PrivateLinkResource": {
- "type": "object",
- "properties": {
- "properties": {
- "$ref": "#/definitions/PrivateLinkResourceProperties",
- "description": "Resource properties.",
- "x-ms-client-flatten": true
- }
+ "allOf": [
+ {
+ "$ref": "./types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
},
- "allOf": [
- {
- "$ref": "./types.json#/definitions/Resource"
- }
- ],
- "description": "A private link resource"
- },
- "PrivateLinkResourceProperties": {
- "type": "object",
- "properties": {
- "groupId": {
- "description": "The private link resource group id.",
- "type": "string",
- "readOnly": true
- },
- "requiredMembers": {
- "description": "The private link resource required member names.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "readOnly": true
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
},
- "requiredZoneNames": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The private link resource Private link DNS zone name."
- }
+ "readOnly": true
},
- "description": "Properties of a private link resource."
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ }
},
- "PrivateEndpointConnectionListResult": {
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "description": "Array of private endpoint connections",
- "items": {
- "$ref": "#/definitions/PrivateEndpointConnection"
- }
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
}
- },
- "description": "List of private endpoint connection associated with the specified storage account"
+ }
},
- "PrivateLinkResourceListResult": {
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "description": "Array of private link resources",
- "items": {
- "$ref": "#/definitions/PrivateLinkResource"
- }
- }
- },
- "description": "A list of private link resources"
- }
+ "description": "List of private endpoint connection associated with the specified storage account"
},
- "parameters": {
- "PrivateEndpointConnectionName": {
- "name": "privateEndpointConnectionName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the private endpoint connection associated with the Azure resource",
- "x-ms-parameter-location": "method"
- }
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ }
+ },
+ "parameters": {
+ "PrivateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection associated with the Azure resource",
+ "x-ms-parameter-location": "method"
}
- }
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/common-types/resource-management/v3/types.json b/swagger/specification/common-types/resource-management/v3/types.json
index 102ed73b5aa..0736a8e6ce7 100644
--- a/swagger/specification/common-types/resource-management/v3/types.json
+++ b/swagger/specification/common-types/resource-management/v3/types.json
@@ -1,667 +1,607 @@
{
- "swagger": "2.0",
- "info": {
- "version": "3.0",
- "title": "Common types"
- },
- "paths": {},
- "definitions": {
- "Resource": {
- "title": "Resource",
- "description": "Common fields that are returned in the response for all Azure Resource Manager resources",
- "type": "object",
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
- },
- "systemData": {
- "readOnly": true,
- "type": "object",
- "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
- "$ref": "#/definitions/systemData"
- }
+ "swagger": "2.0",
+ "info": {
+ "version": "3.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "Resource": {
+ "title": "Resource",
+ "description": "Common fields that are returned in the response for all Azure Resource Manager resources",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
- "x-ms-azure-resource": true
- },
- "AzureEntityResource": {
- "x-ms-client-name": "AzureEntityResource",
- "title": "Entity Resource",
- "description": "The resource model definition for an Azure Resource Manager resource with an etag.",
- "type": "object",
- "properties": {
- "etag": {
- "type": "string",
- "readOnly": true,
- "description": "Resource Etag."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "TrackedResource": {
- "title": "Tracked Resource",
- "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
- "type": "object",
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "The geo-location where the resource lives"
- }
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
},
- "required": [
- "location"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "ProxyResource": {
- "title": "Proxy Resource",
- "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "ResourceModelWithAllowedPropertySet": {
- "description": "The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.",
- "type": "object",
- "properties": {
- "managedBy": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
- },
- "kind": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.",
- "pattern": "^[-\\w\\._,\\(\\)]+$"
- },
- "etag": {
- "readOnly": true,
- "type": "string",
- "description": "The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. "
- },
- "identity": {
- "allOf": [
- {
- "$ref": "#/definitions/Identity"
- }
- ]
- },
- "sku": {
- "allOf": [
- {
- "$ref": "#/definitions/Sku"
- }
- ]
- },
- "plan": {
- "allOf": [
- {
- "$ref": "#/definitions/Plan"
- }
- ]
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/TrackedResource"
- }
- ],
- "x-ms-azure-resource": true
- },
- "SkuTier": {
- "type": "string",
- "enum": [
- "Free",
- "Basic",
- "Standard",
- "Premium"
- ],
- "x-ms-enum": {
- "name": "SkuTier",
- "modelAsString": false
- },
- "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT."
- },
- "Sku": {
- "description": "The resource model definition representing SKU",
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the SKU. Ex - P3. It is typically a letter+number code"
- },
- "tier": {
- "$ref": "#/definitions/SkuTier"
- },
- "size": {
- "type": "string",
- "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
- },
- "family": {
- "type": "string",
- "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
- },
- "capacity": {
- "type": "integer",
- "format": "int32",
- "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
- }
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
},
- "required": [
- "name"
- ]
+ "systemData": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "#/definitions/systemData"
+ }
},
- "Identity": {
- "description": "Identity for the resource.",
- "type": "object",
- "properties": {
- "principalId": {
- "readOnly": true,
- "type": "string",
- "description": "The principal ID of resource identity."
- },
- "tenantId": {
- "readOnly": true,
- "type": "string",
- "description": "The tenant ID of resource."
- },
- "type": {
- "type": "string",
- "description": "The identity type.",
- "enum": [
- "SystemAssigned"
- ],
- "x-ms-enum": {
- "name": "ResourceIdentityType",
- "modelAsString": false
- }
- }
+ "x-ms-azure-resource": true
+ },
+ "AzureEntityResource": {
+ "x-ms-client-name": "AzureEntityResource",
+ "title": "Entity Resource",
+ "description": "The resource model definition for an Azure Resource Manager resource with an etag.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Etag."
}
},
- "Plan": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "description": "A user defined name of the 3rd Party Artifact that is being procured."
- },
- "publisher": {
- "type": "string",
- "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic"
- },
- "product": {
- "type": "string",
- "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. "
- },
- "promotionCode": {
- "type": "string",
- "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact."
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "TrackedResource": {
+ "title": "Tracked Resource",
+ "description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
},
- "version": {
- "type": "string",
- "description": "The version of the desired product/artifact."
- }
+ "x-ms-mutability": ["read", "create", "update"],
+ "description": "Resource tags."
},
- "description": "Plan for the resource.",
- "required": [
- "name",
- "publisher",
- "product"
- ]
- },
- "ErrorDetail": {
- "description": "The error detail.",
- "type": "object",
- "properties": {
- "code": {
- "readOnly": true,
- "type": "string",
- "description": "The error code."
- },
- "message": {
- "readOnly": true,
- "type": "string",
- "description": "The error message."
- },
- "target": {
- "readOnly": true,
- "type": "string",
- "description": "The error target."
- },
- "details": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorDetail"
- },
- "x-ms-identifiers": [
- "message",
- "target"
- ],
- "description": "The error details."
- },
- "additionalInfo": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorAdditionalInfo"
- },
- "x-ms-identifiers": [],
- "description": "The error additional info."
- }
+ "location": {
+ "type": "string",
+ "x-ms-mutability": ["read", "create"],
+ "description": "The geo-location where the resource lives"
}
},
- "ErrorResponse": {
- "title": "Error response",
- "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
- "type": "object",
- "properties": {
- "error": {
- "description": "The error object.",
- "$ref": "#/definitions/ErrorDetail"
- }
+ "required": ["location"],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
}
- },
- "ErrorAdditionalInfo": {
- "type": "object",
- "properties": {
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The additional info type."
- },
- "info": {
- "readOnly": true,
- "type": "object",
- "description": "The additional info."
- }
+ ]
+ },
+ "ProxyResource": {
+ "title": "Proxy Resource",
+ "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ResourceModelWithAllowedPropertySet": {
+ "description": "The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.",
+ "type": "object",
+ "properties": {
+ "managedBy": {
+ "type": "string",
+ "x-ms-mutability": ["read", "create", "update"],
+ "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
},
- "description": "The resource management error additional info."
- },
- "Operation": {
- "title": "REST API Operation",
- "description": "Details of a REST API operation, returned from the Resource Provider Operations API",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"",
- "type": "string",
- "readOnly": true
- },
- "isDataAction": {
- "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
- "type": "boolean",
- "readOnly": true
- },
- "display": {
- "description": "Localized display information for this particular operation.",
- "type": "object",
- "properties": {
- "provider": {
- "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
- "type": "string",
- "readOnly": true
- },
- "resource": {
- "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".",
- "type": "string",
- "readOnly": true
- },
- "operation": {
- "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.",
- "type": "string",
- "readOnly": true
- }
+ "kind": {
+ "type": "string",
+ "x-ms-mutability": ["read", "create"],
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.",
+ "pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. "
+ },
+ "identity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
}
- },
- "origin": {
- "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
- "type": "string",
- "readOnly": true,
- "enum": [
- "user",
- "system",
- "user,system"
- ],
- "x-ms-enum": {
- "name": "Origin",
- "modelAsString": true
+ ]
+ },
+ "sku": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Sku"
}
- },
- "actionType": {
- "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
- "type": "string",
- "readOnly": true,
- "enum": [
- "Internal"
- ],
- "x-ms-enum": {
- "name": "ActionType",
- "modelAsString": true
+ ]
+ },
+ "plan": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Plan"
}
- }
+ ]
}
},
- "OperationListResult": {
- "description": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- },
- "x-ms-identifiers": [
- "name"
- ],
- "description": "List of operations supported by the resource provider",
- "readOnly": true
- },
- "nextLink": {
- "type": "string",
- "description": "URL to get the next set of operation list results (if there are any).",
- "readOnly": true
- }
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
}
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SkuTier": {
+ "type": "string",
+ "enum": ["Free", "Basic", "Standard", "Premium"],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": false
},
- "OperationStatusResult": {
- "description": "The current status of an async operation.",
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "id": {
- "description": "Fully qualified ID for the async operation.",
- "type": "string"
- },
- "name": {
- "description": "Name of the async operation.",
- "type": "string"
- },
- "status": {
- "description": "Operation status.",
- "type": "string"
- },
- "percentComplete": {
- "description": "Percent of the operation that is complete.",
- "type": "number",
- "minimum": 0,
- "maximum": 100
- },
- "startTime": {
- "description": "The start time of the operation.",
- "type": "string",
- "format": "date-time"
- },
- "endTime": {
- "description": "The end time of the operation.",
- "type": "string",
- "format": "date-time"
- },
- "operations": {
- "description": "The operations list.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationStatusResult"
- }
- },
- "error": {
- "description": "If present, details of the operation error.",
- "$ref": "#/definitions/ErrorDetail"
- }
+ "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT."
+ },
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU. Ex - P3. It is typically a letter+number code"
+ },
+ "tier": {
+ "$ref": "#/definitions/SkuTier"
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
}
},
- "locationData": {
- "description": "Metadata pertaining to the geographic location of the resource.",
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "maxLength": 256,
- "description": "A canonical name for the geographic or physical location."
- },
- "city": {
- "type": "string",
- "description": "The city or locality where the resource is located."
- },
- "district": {
- "type": "string",
- "description": "The district, state, or province where the resource is located."
- },
- "countryOrRegion": {
- "type": "string",
- "description": "The country or region where the resource is located"
+ "required": ["name"]
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": ["SystemAssigned"],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
}
+ }
+ }
+ },
+ "Plan": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A user defined name of the 3rd Party Artifact that is being procured."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic"
+ },
+ "product": {
+ "type": "string",
+ "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. "
},
- "required": [
- "name"
- ]
+ "promotionCode": {
+ "type": "string",
+ "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact."
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of the desired product/artifact."
+ }
},
- "systemData": {
- "description": "Metadata pertaining to creation and last modification of the resource.",
- "type": "object",
- "readOnly": true,
- "properties": {
- "createdBy": {
- "type": "string",
- "description": "The identity that created the resource."
- },
- "createdByType": {
- "type": "string",
- "description": "The type of identity that created the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
- "x-ms-enum": {
- "name": "createdByType",
- "modelAsString": true
- }
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "The timestamp of resource creation (UTC)."
- },
- "lastModifiedBy": {
- "type": "string",
- "description": "The identity that last modified the resource."
- },
- "lastModifiedByType": {
- "type": "string",
- "description": "The type of identity that last modified the resource.",
- "enum": [
- "User",
- "Application",
- "ManagedIdentity",
- "Key"
- ],
- "x-ms-enum": {
- "name": "createdByType",
- "modelAsString": true
- }
+ "description": "Plan for the resource.",
+ "required": ["name", "publisher", "product"]
+ },
+ "ErrorDetail": {
+ "description": "The error detail.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
},
- "lastModifiedAt": {
- "type": "string",
- "format": "date-time",
- "description": "The timestamp of resource last modification (UTC)"
- }
+ "x-ms-identifiers": ["message", "target"],
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "x-ms-identifiers": [],
+ "description": "The error additional info."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "title": "Error response",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
}
},
- "encryptionProperties": {
- "description": "Configuration of key for data encryption",
- "type": "object",
- "properties": {
- "status": {
- "description": "Indicates whether or not the encryption is enabled for container registry.",
- "enum": [
- "enabled",
- "disabled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "EncryptionStatus",
- "modelAsString": true
+ "description": "The resource management error additional info."
+ },
+ "Operation": {
+ "title": "REST API Operation",
+ "description": "Details of a REST API operation, returned from the Resource Provider Operations API",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "display": {
+ "description": "Localized display information for this particular operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.",
+ "type": "string",
+ "readOnly": true
}
- },
- "keyVaultProperties": {
- "$ref": "#/definitions/KeyVaultProperties",
- "description": "Key vault properties."
+ }
+ },
+ "origin": {
+ "description": "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\"",
+ "type": "string",
+ "readOnly": true,
+ "enum": ["user", "system", "user,system"],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ }
+ },
+ "actionType": {
+ "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.",
+ "type": "string",
+ "readOnly": true,
+ "enum": ["Internal"],
+ "x-ms-enum": {
+ "name": "ActionType",
+ "modelAsString": true
}
}
- },
- "KeyVaultProperties": {
- "type": "object",
- "properties": {
- "keyIdentifier": {
- "description": "Key vault uri to access the encryption key.",
- "type": "string"
- },
- "identity": {
- "description": "The client ID of the identity which will be used to access key vault.",
- "type": "string"
+ }
+ },
+ "OperationListResult": {
+ "description": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "x-ms-identifiers": ["name"],
+ "description": "List of operations supported by the resource provider",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results (if there are any).",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationStatusResult": {
+ "description": "The current status of an async operation.",
+ "type": "object",
+ "required": ["status"],
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the async operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the async operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string"
+ },
+ "percentComplete": {
+ "description": "Percent of the operation that is complete.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "startTime": {
+ "description": "The start time of the operation.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The end time of the operation.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "operations": {
+ "description": "The operations list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationStatusResult"
}
+ },
+ "error": {
+ "description": "If present, details of the operation error.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "locationData": {
+ "description": "Metadata pertaining to the geographic location of the resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "A canonical name for the geographic or physical location."
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or locality where the resource is located."
+ },
+ "district": {
+ "type": "string",
+ "description": "The district, state, or province where the resource is located."
+ },
+ "countryOrRegion": {
+ "type": "string",
+ "description": "The country or region where the resource is located"
}
},
- "CheckNameAvailabilityRequest": {
- "description": "The check availability request body.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the resource for which availability needs to be checked.",
- "type": "string"
- },
- "type": {
- "description": "The resource type.",
- "type": "string"
+ "required": ["name"]
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": ["User", "Application", "ManagedIdentity", "Key"],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
}
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)"
}
- },
- "CheckNameAvailabilityResponse": {
- "description": "The check availability result.",
- "type": "object",
- "properties": {
- "nameAvailable": {
- "description": "Indicates if the resource name is available.",
- "type": "boolean"
- },
- "reason": {
- "description": "The reason why the given name is not available.",
- "type": "string",
- "enum": [
- "Invalid",
- "AlreadyExists"
- ],
- "x-ms-enum": {
- "name": "CheckNameAvailabilityReason",
- "modelAsString": true
- }
- },
- "message": {
- "description": "Detailed reason why the given name is available.",
- "type": "string"
+ }
+ },
+ "encryptionProperties": {
+ "description": "Configuration of key for data encryption",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether or not the encryption is enabled for container registry.",
+ "enum": ["enabled", "disabled"],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionStatus",
+ "modelAsString": true
}
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
}
}
},
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The ID of the target subscription.",
- "minLength": 1
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "The API version to use for this operation.",
- "minLength": 1
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the resource group. The name is case insensitive.",
- "minLength": 1,
- "maxLength": 90,
- "x-ms-parameter-location": "method"
- },
- "OperationIdParameter": {
- "name": "operationId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The ID of an ongoing async operation.",
- "minLength": 1,
- "x-ms-parameter-location": "method"
- },
- "LocationParameter": {
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of Azure region.",
- "minLength": 1,
- "x-ms-parameter-location": "method"
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "identity": {
+ "description": "The client ID of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "The check availability request body.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the resource for which availability needs to be checked.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type.",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResponse": {
+ "description": "The check availability result.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "Indicates if the resource name is available.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "The reason why the given name is not available.",
+ "type": "string",
+ "enum": ["Invalid", "AlreadyExists"],
+ "x-ms-enum": {
+ "name": "CheckNameAvailabilityReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Detailed reason why the given name is available.",
+ "type": "string"
+ }
}
}
- }
\ No newline at end of file
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation.",
+ "minLength": 1
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group. The name is case insensitive.",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of an ongoing async operation.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of Azure region.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_CreateOrUpdate.json
index 9b13d6016a0..e4164707ac1 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_CreateOrUpdate.json
@@ -1,53 +1,53 @@
{
- "operationId": "AwsCredentials_CreateOrUpdate",
- "title": "Create or update an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "accessKeyId": "enterAccessKeyIdHere",
- "secretAccessKey": "enterSecretAccessKey",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_CreateOrUpdate",
+ "title": "Create or update an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "accessKeyId": "enterAccessKeyIdHere",
+ "secretAccessKey": "enterSecretAccessKey",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Delete.json
index c0e5bdb0673..c84b7185b14 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Delete.json
@@ -1,14 +1,14 @@
{
- "operationId": "AwsCredentials_Delete",
- "title": "Delete an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
\ No newline at end of file
+ "operationId": "AwsCredentials_Delete",
+ "title": "Delete an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Get.json
index 91d728e6f1f..a73e93746d1 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Get.json
@@ -1,27 +1,27 @@
{
- "operationId": "AwsCredentials_Get",
- "title": "Get an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "operationId": "AwsCredentials_Get",
+ "title": "Get an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_List.json
index e89535b7fa5..ff9d1c8ce43 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_List.json
@@ -1,30 +1,30 @@
{
- "operationId": "AwsCredentials_List",
- "title": "List AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- ]
+ "operationId": "AwsCredentials_List",
+ "title": "List AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
- }
+ }
+ ]
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Update.json
index 37a1cb337e1..d6a599c0f22 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Update.json
@@ -1,53 +1,53 @@
{
- "operationId": "AwsCredentials_Update",
- "title": "Update an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "accessKeyId": "enterAccessKeyIdHere",
- "secretAccessKey": "enterSecretAccessKey",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_Update",
+ "title": "Update an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "accessKeyId": "enterAccessKeyIdHere",
+ "secretAccessKey": "enterSecretAccessKey",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_CreateOrUpdate.json
index f59f7e6f14a..91c81314e58 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_CreateOrUpdate.json
@@ -1,54 +1,54 @@
{
- "operationId": "AwsCredentials_CreateOrUpdate",
- "title": "Create or update an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleARN": "enterRoleARN",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_CreateOrUpdate",
+ "title": "Create or update an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleARN": "enterRoleARN",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleARN": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleARN": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleARN": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleARN": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Delete.json
index ceda0d303b1..9ec32c5255c 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Delete.json
@@ -1,14 +1,14 @@
{
- "operationId": "AwsCredentials_Delete",
- "title": "Delete an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
\ No newline at end of file
+ "operationId": "AwsCredentials_Delete",
+ "title": "Delete an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Get.json
index adf56c6949b..9bfc60457b0 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Get.json
@@ -1,28 +1,28 @@
{
- "operationId": "AwsCredentials_Get",
- "title": "Get an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "operationId": "AwsCredentials_Get",
+ "title": "Get an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_List.json
index da727860c8e..da09a3cc2cc 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_List.json
@@ -1,31 +1,31 @@
{
- "operationId": "AwsCredentials_List",
- "title": "List AWS IRSA credentials",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- ]
+ "operationId": "AwsCredentials_List",
+ "title": "List AWS IRSA credentials",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
- }
+ }
+ ]
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json
index b6497af3e40..94ef1474c1f 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Update.json
@@ -51,4 +51,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_List.json
index bd11cb7df23..8e6771d4bbe 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_List.json
@@ -1,30 +1,30 @@
{
- "operationId": "AwsCredentials_List",
- "title": "List AWS credentials",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- ]
+ "operationId": "AwsCredentials_List",
+ "title": "List AWS credentials",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
- }
+ }
+ ]
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_Update.json
index f636c77d2fb..a1f970d1682 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_Update.json
@@ -1,53 +1,53 @@
{
- "operationId": "AwsCredentials_Update",
- "title": "Update an AWS credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "accessKeyId": "enterAccessKeyIdHere",
- "secretAccessKey": "enterSecretAccessKey",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_Update",
+ "title": "Update an AWS credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "accessKeyId": "enterAccessKeyIdHere",
+ "secretAccessKey": "enterSecretAccessKey",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json
index 9588c4dd763..a998925356e 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_CreateOrUpdate.json
@@ -35,4 +35,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json
index 4bedace3503..a9c7a162553 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Delete.json
@@ -18,4 +18,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json
index c12de83dd0e..45d78399746 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json
index 358a3274f6e..a5bb23bbbb6 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ApiVersions_List.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsCredentials_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsCredentials_Update.json
index 8d5aacc379e..6e953700ba4 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsCredentials_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsCredentials_Update.json
@@ -1,53 +1,53 @@
{
- "operationId": "AwsCredentials_Update",
- "title": "Update a AWS credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "accessKeyId": "enterAccessKeyIdHere",
- "secretAccessKey": "enterSecretAccessKey",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_Update",
+ "title": "Update a AWS credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "accessKeyId": "enterAccessKeyIdHere",
+ "secretAccessKey": "enterSecretAccessKey",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_CreateOrUpdate.json
index 45a5e77d9bd..017683e30d0 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_CreateOrUpdate.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Delete.json
index 3c9da1db661..9d747e812e6 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Delete.json
@@ -9,4 +9,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Get.json
index 25bedd954c9..bad472c6296 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Get.json
@@ -18,4 +18,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_List.json
index 6329ebc6d5f..b5b293493dc 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_List.json
@@ -21,4 +21,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Update.json
index 9830df25ba0..bb59a7abb88 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Update.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_CreateOrUpdate.json
index 0742ef8e967..f58cd1d517f 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_CreateOrUpdate.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Delete.json
index 26330012f65..a75a902a17f 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Get.json
index 23e6142ad6d..e85df6aa0d8 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Get.json
@@ -19,11 +19,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_List.json
index 0238221ca5b..3a212b7ad6d 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_List.json
@@ -20,8 +20,8 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_CreateOrUpdate.json
index bd265833c8f..0e4052e4652 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_CreateOrUpdate.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Delete.json
index 1be9794e92e..580449ea99a 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Get.json
index 630257a9270..4d123f5b45b 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Get.json
@@ -19,11 +19,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_List.json
index 037785e4b49..11c854b89bf 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_List.json
@@ -20,8 +20,8 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Update.json
index 4a45fccfc15..eaff3a06049 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Update.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Update.json
index 5db043a3019..ef20bb5aec9 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Update.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_CreateOrUpdate.json
index 64a1cfe8e8f..d039ddcb80c 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_CreateOrUpdate.json
@@ -29,7 +29,7 @@
"kind": "WorkloadIdentity",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -44,11 +44,11 @@
"kind": "WorkloadIdentity",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Delete.json
index cd93a9d61a0..f51d775a40d 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Get.json
index 30d10597555..2c6981a6019 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Get.json
@@ -19,11 +19,11 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_List.json
index 014d17965d0..ffc4ef409dd 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_List.json
@@ -20,8 +20,8 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Update.json
index 3dc540a8f2e..2de65e1450e 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Update.json
@@ -30,7 +30,7 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -46,11 +46,11 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_CreateOrUpdate.json
index e86d26fb194..09fdee2ca36 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_CreateOrUpdate.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Delete.json
index 87273e65abf..ac74f341057 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Get.json
index 98b292f7aa0..1dc11385619 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Get.json
@@ -19,11 +19,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_List.json
index 0238221ca5b..3a212b7ad6d 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_List.json
@@ -20,8 +20,8 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Update.json
index 8e468ac5f5f..9e0ab42089e 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Update.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_CreateOrUpdate.json
index b1eebcf4d0a..474a3f5be35 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_CreateOrUpdate.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Delete.json
index 26961e2752e..a1dbada3852 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Delete.json
@@ -9,4 +9,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Get.json
index 7d195311b72..95a8fe000cf 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Get.json
@@ -19,4 +19,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_List.json
index e5cde8db4e5..e816f85bb9e 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_List.json
@@ -22,4 +22,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Update.json
index ade2edfc1e1..0087f065d1f 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Update.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json
index a96ce299861..d707cb02250 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_CreateOrUpdate.json
@@ -40,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json
index 0ed0275bfbe..d259e84eaf8 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Delete.json
@@ -17,4 +17,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json
index 63694b8ba90..b38fec3e94d 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json
index a5c18106fa1..f9305b5e3ae 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Locations_List.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Planes_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Planes_List.json
index 919ae68102e..9e9a81cdae1 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Planes_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Planes_List.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_CreateOrUpdate.json
index 0c1a4b6e02d..9458528a4de 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_CreateOrUpdate.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Delete.json
index c3cd0f69fbf..85ebd569230 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Delete.json
@@ -9,4 +9,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Get.json
index f087e41526b..f8e50968f76 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Get.json
@@ -22,4 +22,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_List.json
index e81407a2eb3..3713b9e63b8 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_List.json
@@ -25,4 +25,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Update.json
index 8c7f46843b7..633511bf6bf 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Update.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json
index 88a80d36331..1dddcb1bfb3 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_CreateOrUpdate.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Delete.json
index a6e1366c626..4bed23caf49 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Get.json
index 4eab6c512b0..cb3cfef812f 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Get.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_List.json
index 50b43e8f8ac..c5744e516c2 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_List.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json
index dae569f6d77..7d9d9b38e54 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Update.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json
index 402f2fe4dc6..6f911664e89 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_CreateOrUpdate.json
@@ -26,7 +26,7 @@
"id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
"name": "Applications.Test",
"type": "System.Resources/resourceProviders",
- "location": "global",
+ "location": "global",
"properties": {
"provisioningState": "Succeeded"
}
@@ -37,4 +37,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json
index 0d60fc0c090..2b5539c14a4 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Delete.json
@@ -16,4 +16,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json
index f6ea02f51f1..2da510131cb 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_Get.json
@@ -19,4 +19,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json
index 5d96e685820..c92648028d1 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_GetProviderSummary.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json
index 4c9fbf0003d..31c40be8156 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_List.json
@@ -21,4 +21,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json
index 71f71e262dc..5efc181bc32 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceProviders_ListProviderSummaries.json
@@ -27,4 +27,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json
index 92aa7108c21..a5068c19d31 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_CreateOrUpdate.json
@@ -40,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json
index 00212013d49..af3f9ac10c3 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Delete.json
@@ -17,4 +17,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json
index b3c29e5b519..2a5cc266ade 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json
index f77af4c566c..a7b11b87c02 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceTypes_List.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json
index 3856e126bac..90c3967ba70 100644
--- a/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json
+++ b/swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/Resources_List.json
@@ -1,28 +1,28 @@
{
- "operationId": "Resources_List",
- "title": "List resources in a resource group.",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeName": "local",
- "planeType": "radius",
- "resourceGroupName": "rg1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/containers/my-container",
- "name": "my-container",
- "type": "Applications.Core/containers"
- },
- {
- "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/my-application",
- "name": "my-application",
- "type": "Applications.Core/applications"
- }
- ]
- }
+ "operationId": "Resources_List",
+ "title": "List resources in a resource group.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "planeType": "radius",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/containers/my-container",
+ "name": "my-container",
+ "type": "Applications.Core/containers"
+ },
+ {
+ "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/my-application",
+ "name": "my-application",
+ "type": "Applications.Core/applications"
+ }
+ ]
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.json b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.json
index b31b4de32b4..6525056c545 100644
--- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.json
+++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.json
@@ -62,9 +62,7 @@
}
}
},
- "dependsOn": [
- "app"
- ]
+ "dependsOn": ["app"]
},
"containerb": {
"import": "radius",
@@ -79,9 +77,7 @@
}
}
},
- "dependsOn": [
- "app"
- ]
+ "dependsOn": ["app"]
}
}
-}
\ No newline at end of file
+}
diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph-out.json b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph-out.json
index 1ca37f9efde..aec75fbeadc 100644
--- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph-out.json
+++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph-out.json
@@ -77,4 +77,4 @@
"provisioningState": "Succeeded",
"type": "Applications.Core/containers"
}
-]
\ No newline at end of file
+]
diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/parameters/test-tls-cert.parameters.json b/test/functional-portable/corerp/noncloud/resources/testdata/parameters/test-tls-cert.parameters.json
index 23dc99fbb20..1d7bf3b21e4 100644
--- a/test/functional-portable/corerp/noncloud/resources/testdata/parameters/test-tls-cert.parameters.json
+++ b/test/functional-portable/corerp/noncloud/resources/testdata/parameters/test-tls-cert.parameters.json
@@ -1,12 +1,12 @@
{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "tlscrt": {
- "value": "-----BEGIN CERTIFICATE-----\nMIIFljCCA34CCQCClM1GARh19zANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdSZWRtb25kMRIwEAYDVQQKDAlNaWNy\nb3NvZnQxDjAMBgNVBAsMBUF6dXJlMRIwEAYDVQQDDAlsb2NhbGhvc3QxJjAkBgkq\nhkiG9w0BCQEWF3dpbGxzbWl0aEBtaWNyb3NvZnQuY29tMB4XDTIzMDQyNDA0MDcy\nM1oXDTI0MDQyMzA0MDcyM1owgYwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJXQTEQ\nMA4GA1UEBwwHUmVkbW9uZDESMBAGA1UECgwJTWljcm9zb2Z0MQ4wDAYDVQQLDAVB\nenVyZTESMBAGA1UEAwwJbG9jYWxob3N0MSYwJAYJKoZIhvcNAQkBFhd3aWxsc21p\ndGhAbWljcm9zb2Z0LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nAK/QDR+Cqaoi/q5Yv8vibcGyxVAEUSX6Szv1Vzr5ai0tDIUVjt9OjDRooyF/i2Zo\nkBlu/zqaC0/ICmjLXrpwgmAA/lyTLH5wM8rEEOygGWA0pP3g69/7dBBHcnlIX621\ntaJUzcZNugiQgWsvhALKmrPbPwklROUz3axT87jipCXwFwhPAZbPvG/O/T8dg27i\nL2g+x2bZnXYBNsOWUgbfyL/GC8AxxZK4WTL+FBBtKWBIAcrrsj0Adr1ByQ917sMG\nrIpgcH3pGjkw3mjQBURvMEfn8b8GTi14JogXCHNclJT9IqT4P8gTGsR5SeAuJ1LZ\nILwRPl6FCIw4m/BH9ym61npdJYgyzG6CCZ1L6xjh0d7lI/IiEMP1REFPtx5pJxtF\ntLQ1W8Vv/7Z4fka++I3HAzju/My+DwJ+R/lE/+jth6V5Zgc604CDFoph35g5e0Qs\nzKFWr4Xlvx5V6p9mkaA1KrfOfOhvn6YQVaTqYFFg7BbcTWRFPoNpwUrgX4ArxSUK\ngd96jLqocfYE43wEcds31RSDwtrMJoANn+dyHX4YbW/fKBI6bsCZHen45JAUWiUy\nBSZgbTO9mvcBWpNnD1kmhpE0s1ufTn2RY2xMN2j5oEeif5RT7Pl3C74UPnN0CXRb\nk8uOrw7kZ4NHDh9O70UDdgCw2m/xVA4U1etdZ5/FTqanAgMBAAEwDQYJKoZIhvcN\nAQELBQADggIBAKtjf3l8yIFPocb60VOoQjTsEp+eU77hodFro1F8LQ7ZNDaOi4cN\nu1D8pbyUi/zXMqLsLtRsZ9Vj43VM56QXeod2QyxMMnW9+fmlCXzOJNw1wHE10Era\nFC54Nfq6YI3CYE/f4EL+JHq1ch9+7TRKtAuavrmTmzmVodpU+/mhNiBPEe/OAfEO\nbwhauoqO7B8UJiggDufkgim4FoAjQWuKDPWA3uF5CY+yGKvoEAG0Fn67tygBfEbD\n3FIjnoYvl1LjvN9ZvIByl6RnVXX8IinhsU87Aj5ZTkX1sZ5XYGR7Gw1XPWRgNdaE\nVbk0x2t2mp1DVp/y/ixLLrC0LmuDor8JEST72CZxLrMIcuJeg3wWS+btN4IRKzr2\nRQlX2+CQd7gSFYNA0/ZGuGCo3Bme1p2DhEkzuwweSC9Fw1L09RZtbsc0TLHC4mvf\nSOcYWDuSrLdhj21nlEuvyVxFsGnUD5esQ+2Kfma6Ceg7vQC2jKqomZ28Nwmnetx7\nfyQ1Y5eGleXKA+s02/4zEXGV1ygWxk3CSKxa+4oEcJtE1gxrSqsSe+FgIDft8IC1\nPEVTd8pOTr2gHhBVFIkGo5C68JKe6nV/OKTNWn0xLVZvUIrdAhppcH/Jd7nmdSt8\npZkXJkkM7IR9cHCXHkGDl1grgfDSqlas4Y4ClJkiKjsKwP75RodNsD4H\n-----END CERTIFICATE-----\n"
- },
- "tlskey": {
- "value": "-----BEGIN PRIVATE KEY-----\nMIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCv0A0fgqmqIv6u\nWL/L4m3BssVQBFEl+ks79Vc6+WotLQyFFY7fTow0aKMhf4tmaJAZbv86mgtPyApo\ny166cIJgAP5ckyx+cDPKxBDsoBlgNKT94Ovf+3QQR3J5SF+ttbWiVM3GTboIkIFr\nL4QCypqz2z8JJUTlM92sU/O44qQl8BcITwGWz7xvzv0/HYNu4i9oPsdm2Z12ATbD\nllIG38i/xgvAMcWSuFky/hQQbSlgSAHK67I9AHa9QckPde7DBqyKYHB96Ro5MN5o\n0AVEbzBH5/G/Bk4teCaIFwhzXJSU/SKk+D/IExrEeUngLidS2SC8ET5ehQiMOJvw\nR/cputZ6XSWIMsxuggmdS+sY4dHe5SPyIhDD9URBT7ceaScbRbS0NVvFb/+2eH5G\nvviNxwM47vzMvg8Cfkf5RP/o7YeleWYHOtOAgxaKYd+YOXtELMyhVq+F5b8eVeqf\nZpGgNSq3znzob5+mEFWk6mBRYOwW3E1kRT6DacFK4F+AK8UlCoHfeoy6qHH2BON8\nBHHbN9UUg8LazCaADZ/nch1+GG1v3ygSOm7AmR3p+OSQFFolMgUmYG0zvZr3AVqT\nZw9ZJoaRNLNbn059kWNsTDdo+aBHon+UU+z5dwu+FD5zdAl0W5PLjq8O5GeDRw4f\nTu9FA3YAsNpv8VQOFNXrXWefxU6mpwIDAQABAoICAExO0/NSRgu3Zq0LjiuTGqpQ\nyn1Bcms2aMMcaIELUj9LZzy4L6vSrt3scKmQb1PCnJC9cX/g7nnxTDtR0crAHIZI\nyB4sLsquLnyafvIFRx5PmzEqF5a+0BBkwlXLyONfk/diMXIZuF4RQmrgU77WazEX\nPxPcHjwRN+yc/5LGpBJnU8fiasEnZxVsVNS5HZvaBlOLtAZ6+3IFctyPeQjMxpge\nAGmp8KQO6YBNcS30A1prxoNpq5H4ipD4ZakVOc1iLy9cTlcH/r7F7DK33yFl1SHQ\nlUehF/t6Q9cbkCpqC39jI09RBHX1fM+8CQmJXr4Bych2/4gM27notB4lTizJkF8R\nnY+O9VqjqdXevV0PFxc3gdUsYMvMDN5wv1o+JxtWkDrVjA0f3GlpxJk0Gvqsj8La\niagaisYXHk+EpFwFMyBMdm3RQ+JjjVTPNDCdBhW+5dTtuU9KD+lF9Gv5s75iQyUD\nhABMlvyG2RM/3KLqNdixBh3SV5qrD/CF09UxRMwvAloFwzAWBPPzqcHL6ZPKj4ET\nuvxKEcg27dycCaLQ5tzIDQo59sbT5akAoAMI5tpOx5r5tYSdE9DxFGy8nQCBxbXa\nn8AyHMN1Zu1LvxnD+WC4YRYMuKEQdNR123lf/96tO/74a0p/c4zx2seD36VVFmYQ\nLNUP5zlkoAwEQxIqXqe5AoIBAQDbQmO9iw2DA1CL3ZWaftJUgqKPxmmVrkL7DHsN\nwGUVcs7+8YZ1Xkc/JFj5wsFV56EN9naNOJuzfOEya3KSeGsR2pjBNPSlDgacEbJX\nta9LXbnsD+rmrI5tNmD7YUTzTDrIbS87TZnIgetP/U04NpFhiMCk7Gh3aNDAYnI3\nJ8xdTkcZV/BKv8+MrIpnlloGl+v4A1pQXFWy2f2p3mvY0WalnzTCM/EUHzbWGYBR\n/uGxhelpZs4ZzpLrZsYxAi96/yavS+zY5sHNy4zT7bkBaRdf4TLvfe1PRXxMQsPS\nfqpPUxyuIB2PmMoZulkFQRnupqbV2V0O03cF8bI0SSc7Ck8DAoIBAQDNRexEd9cn\nnAsHP5AJSYrhkKn9o/+qYKENDouVfe+QuvwC2NkJ7zn6vUl/zUbRCsA492jBcFQu\ndnjSNI3inQ+WRjGBB2NvqXSRMPqLKQOBsBmqoMjIvR+w/3cJFZcY2iXhpeMeyAaO\n5Ku51UxLQvRbyt5RqI624yZrcJgVe2m5VmWzX2o++qmAYU1FGMczYx92hFPvFffp\nxUdDqKP6UFLH9V1P5sf4um/eYFzaO+pYD8S+EdU5KiRXR13bIOhFNUBF3mvHgOjq\nJ26NUR3bVXd4EgPsAEL2qdF5pjZvZJaBQyf+OnrnqD7bV2FSaKJAF7Cy2RFCGIpa\nDdd5R5ihJ7aNAoIBAQCeJUaXokI+qxdfqpWLd8nxVsA1/6CMa8K4HQpsosbGL6cJ\nz99xrGyrKGZcz5JvicBqt8hOl/QGBB7SJRngd6aSnB7tzGpg2rr9uu3twYgMTjAa\nCmkdtHyOXViaOFBpRCRqCAa3OYOgUcUOTt9xmjpGJUL+Md4vspRPDzLegYAwFJPH\nvdv9rlffWVwC1zlb5Bw5KQHtUIwnkoAaE+mp22+0Kh79rEVIhDMjPgWGHtdfGf1/\nHr2tc4gY7mopUzA4AO1AJv1QfTBwZU7QVXjJgalwaJg6kZOnR7EduFJR8zaYPJRF\nK7jmqAetgvFOjuRLdDyFpmAun2wMB4bHm7QGK6tNAoIBAQCq0B+uTeb87+2BZ5Qt\nFkR6NQ4voTOTjHsXyV2/1R7v2ZjxqY7ZpHcjvjWWIrRmKUMRZFeIeDekvjMGAHN8\n+mNJEjoJe6Nz/JeiZhZmjId9eJOzF75cxHvFpp9gMNYd+RGCtq7LI3nJmGGJ7wNg\nsWNzqtnbK58uctC6oOP9JEgy0MEqRSC9LYq06MMK13aTvU0mKzFJB4fXwLDvjTp+\nhi6MdBHk9k67HDEQ5DD/7NGx29VEsMQ0oGvDMQDZ4oVFae2E9nPLfOrURmHJOJHW\nvUT/5kXbMdCHP4Kvbu9nPFW9VKvH8tPpR2iezxSOJcG2AcCo4tZooNEn5NLD+h75\nI3nVAoIBAHdexvaYQGLWD2r6LjYRp7GueRHXVfpeP3Lc1PXSwiRnGB8Qn4pqONg5\nj0MXrVYhAq/X3Z1/cd17JwZpxqp/1hcbbwlsoASeFaU9i43tU3EDF0Qt1hIpXqxG\nWfmb58ft2hcT12WspyxfaMspECtsJt6dg1VHaulQ+fEln4rT2yxHqsnrU8li9NPp\n5E5OE4xqnuisvqaNk146hMQuXHpULVg8B3cVnMFSSgxqMUkNiHzNlm+TFpTihdlo\nnlcRKVtRuPtUOsP4gcJ9MoOEkxMqQQLFUPJDGDfgxNCsnnt9twIWa9aJDi36NObc\n+Cp2E4G9rjnFoab/Fs9mEVUGUl6N0mA=\n-----END PRIVATE KEY-----\n"
- }
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "tlscrt": {
+ "value": "-----BEGIN CERTIFICATE-----\nMIIFljCCA34CCQCClM1GARh19zANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdSZWRtb25kMRIwEAYDVQQKDAlNaWNy\nb3NvZnQxDjAMBgNVBAsMBUF6dXJlMRIwEAYDVQQDDAlsb2NhbGhvc3QxJjAkBgkq\nhkiG9w0BCQEWF3dpbGxzbWl0aEBtaWNyb3NvZnQuY29tMB4XDTIzMDQyNDA0MDcy\nM1oXDTI0MDQyMzA0MDcyM1owgYwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJXQTEQ\nMA4GA1UEBwwHUmVkbW9uZDESMBAGA1UECgwJTWljcm9zb2Z0MQ4wDAYDVQQLDAVB\nenVyZTESMBAGA1UEAwwJbG9jYWxob3N0MSYwJAYJKoZIhvcNAQkBFhd3aWxsc21p\ndGhAbWljcm9zb2Z0LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nAK/QDR+Cqaoi/q5Yv8vibcGyxVAEUSX6Szv1Vzr5ai0tDIUVjt9OjDRooyF/i2Zo\nkBlu/zqaC0/ICmjLXrpwgmAA/lyTLH5wM8rEEOygGWA0pP3g69/7dBBHcnlIX621\ntaJUzcZNugiQgWsvhALKmrPbPwklROUz3axT87jipCXwFwhPAZbPvG/O/T8dg27i\nL2g+x2bZnXYBNsOWUgbfyL/GC8AxxZK4WTL+FBBtKWBIAcrrsj0Adr1ByQ917sMG\nrIpgcH3pGjkw3mjQBURvMEfn8b8GTi14JogXCHNclJT9IqT4P8gTGsR5SeAuJ1LZ\nILwRPl6FCIw4m/BH9ym61npdJYgyzG6CCZ1L6xjh0d7lI/IiEMP1REFPtx5pJxtF\ntLQ1W8Vv/7Z4fka++I3HAzju/My+DwJ+R/lE/+jth6V5Zgc604CDFoph35g5e0Qs\nzKFWr4Xlvx5V6p9mkaA1KrfOfOhvn6YQVaTqYFFg7BbcTWRFPoNpwUrgX4ArxSUK\ngd96jLqocfYE43wEcds31RSDwtrMJoANn+dyHX4YbW/fKBI6bsCZHen45JAUWiUy\nBSZgbTO9mvcBWpNnD1kmhpE0s1ufTn2RY2xMN2j5oEeif5RT7Pl3C74UPnN0CXRb\nk8uOrw7kZ4NHDh9O70UDdgCw2m/xVA4U1etdZ5/FTqanAgMBAAEwDQYJKoZIhvcN\nAQELBQADggIBAKtjf3l8yIFPocb60VOoQjTsEp+eU77hodFro1F8LQ7ZNDaOi4cN\nu1D8pbyUi/zXMqLsLtRsZ9Vj43VM56QXeod2QyxMMnW9+fmlCXzOJNw1wHE10Era\nFC54Nfq6YI3CYE/f4EL+JHq1ch9+7TRKtAuavrmTmzmVodpU+/mhNiBPEe/OAfEO\nbwhauoqO7B8UJiggDufkgim4FoAjQWuKDPWA3uF5CY+yGKvoEAG0Fn67tygBfEbD\n3FIjnoYvl1LjvN9ZvIByl6RnVXX8IinhsU87Aj5ZTkX1sZ5XYGR7Gw1XPWRgNdaE\nVbk0x2t2mp1DVp/y/ixLLrC0LmuDor8JEST72CZxLrMIcuJeg3wWS+btN4IRKzr2\nRQlX2+CQd7gSFYNA0/ZGuGCo3Bme1p2DhEkzuwweSC9Fw1L09RZtbsc0TLHC4mvf\nSOcYWDuSrLdhj21nlEuvyVxFsGnUD5esQ+2Kfma6Ceg7vQC2jKqomZ28Nwmnetx7\nfyQ1Y5eGleXKA+s02/4zEXGV1ygWxk3CSKxa+4oEcJtE1gxrSqsSe+FgIDft8IC1\nPEVTd8pOTr2gHhBVFIkGo5C68JKe6nV/OKTNWn0xLVZvUIrdAhppcH/Jd7nmdSt8\npZkXJkkM7IR9cHCXHkGDl1grgfDSqlas4Y4ClJkiKjsKwP75RodNsD4H\n-----END CERTIFICATE-----\n"
+ },
+ "tlskey": {
+ "value": "-----BEGIN PRIVATE KEY-----\nMIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCv0A0fgqmqIv6u\nWL/L4m3BssVQBFEl+ks79Vc6+WotLQyFFY7fTow0aKMhf4tmaJAZbv86mgtPyApo\ny166cIJgAP5ckyx+cDPKxBDsoBlgNKT94Ovf+3QQR3J5SF+ttbWiVM3GTboIkIFr\nL4QCypqz2z8JJUTlM92sU/O44qQl8BcITwGWz7xvzv0/HYNu4i9oPsdm2Z12ATbD\nllIG38i/xgvAMcWSuFky/hQQbSlgSAHK67I9AHa9QckPde7DBqyKYHB96Ro5MN5o\n0AVEbzBH5/G/Bk4teCaIFwhzXJSU/SKk+D/IExrEeUngLidS2SC8ET5ehQiMOJvw\nR/cputZ6XSWIMsxuggmdS+sY4dHe5SPyIhDD9URBT7ceaScbRbS0NVvFb/+2eH5G\nvviNxwM47vzMvg8Cfkf5RP/o7YeleWYHOtOAgxaKYd+YOXtELMyhVq+F5b8eVeqf\nZpGgNSq3znzob5+mEFWk6mBRYOwW3E1kRT6DacFK4F+AK8UlCoHfeoy6qHH2BON8\nBHHbN9UUg8LazCaADZ/nch1+GG1v3ygSOm7AmR3p+OSQFFolMgUmYG0zvZr3AVqT\nZw9ZJoaRNLNbn059kWNsTDdo+aBHon+UU+z5dwu+FD5zdAl0W5PLjq8O5GeDRw4f\nTu9FA3YAsNpv8VQOFNXrXWefxU6mpwIDAQABAoICAExO0/NSRgu3Zq0LjiuTGqpQ\nyn1Bcms2aMMcaIELUj9LZzy4L6vSrt3scKmQb1PCnJC9cX/g7nnxTDtR0crAHIZI\nyB4sLsquLnyafvIFRx5PmzEqF5a+0BBkwlXLyONfk/diMXIZuF4RQmrgU77WazEX\nPxPcHjwRN+yc/5LGpBJnU8fiasEnZxVsVNS5HZvaBlOLtAZ6+3IFctyPeQjMxpge\nAGmp8KQO6YBNcS30A1prxoNpq5H4ipD4ZakVOc1iLy9cTlcH/r7F7DK33yFl1SHQ\nlUehF/t6Q9cbkCpqC39jI09RBHX1fM+8CQmJXr4Bych2/4gM27notB4lTizJkF8R\nnY+O9VqjqdXevV0PFxc3gdUsYMvMDN5wv1o+JxtWkDrVjA0f3GlpxJk0Gvqsj8La\niagaisYXHk+EpFwFMyBMdm3RQ+JjjVTPNDCdBhW+5dTtuU9KD+lF9Gv5s75iQyUD\nhABMlvyG2RM/3KLqNdixBh3SV5qrD/CF09UxRMwvAloFwzAWBPPzqcHL6ZPKj4ET\nuvxKEcg27dycCaLQ5tzIDQo59sbT5akAoAMI5tpOx5r5tYSdE9DxFGy8nQCBxbXa\nn8AyHMN1Zu1LvxnD+WC4YRYMuKEQdNR123lf/96tO/74a0p/c4zx2seD36VVFmYQ\nLNUP5zlkoAwEQxIqXqe5AoIBAQDbQmO9iw2DA1CL3ZWaftJUgqKPxmmVrkL7DHsN\nwGUVcs7+8YZ1Xkc/JFj5wsFV56EN9naNOJuzfOEya3KSeGsR2pjBNPSlDgacEbJX\nta9LXbnsD+rmrI5tNmD7YUTzTDrIbS87TZnIgetP/U04NpFhiMCk7Gh3aNDAYnI3\nJ8xdTkcZV/BKv8+MrIpnlloGl+v4A1pQXFWy2f2p3mvY0WalnzTCM/EUHzbWGYBR\n/uGxhelpZs4ZzpLrZsYxAi96/yavS+zY5sHNy4zT7bkBaRdf4TLvfe1PRXxMQsPS\nfqpPUxyuIB2PmMoZulkFQRnupqbV2V0O03cF8bI0SSc7Ck8DAoIBAQDNRexEd9cn\nnAsHP5AJSYrhkKn9o/+qYKENDouVfe+QuvwC2NkJ7zn6vUl/zUbRCsA492jBcFQu\ndnjSNI3inQ+WRjGBB2NvqXSRMPqLKQOBsBmqoMjIvR+w/3cJFZcY2iXhpeMeyAaO\n5Ku51UxLQvRbyt5RqI624yZrcJgVe2m5VmWzX2o++qmAYU1FGMczYx92hFPvFffp\nxUdDqKP6UFLH9V1P5sf4um/eYFzaO+pYD8S+EdU5KiRXR13bIOhFNUBF3mvHgOjq\nJ26NUR3bVXd4EgPsAEL2qdF5pjZvZJaBQyf+OnrnqD7bV2FSaKJAF7Cy2RFCGIpa\nDdd5R5ihJ7aNAoIBAQCeJUaXokI+qxdfqpWLd8nxVsA1/6CMa8K4HQpsosbGL6cJ\nz99xrGyrKGZcz5JvicBqt8hOl/QGBB7SJRngd6aSnB7tzGpg2rr9uu3twYgMTjAa\nCmkdtHyOXViaOFBpRCRqCAa3OYOgUcUOTt9xmjpGJUL+Md4vspRPDzLegYAwFJPH\nvdv9rlffWVwC1zlb5Bw5KQHtUIwnkoAaE+mp22+0Kh79rEVIhDMjPgWGHtdfGf1/\nHr2tc4gY7mopUzA4AO1AJv1QfTBwZU7QVXjJgalwaJg6kZOnR7EduFJR8zaYPJRF\nK7jmqAetgvFOjuRLdDyFpmAun2wMB4bHm7QGK6tNAoIBAQCq0B+uTeb87+2BZ5Qt\nFkR6NQ4voTOTjHsXyV2/1R7v2ZjxqY7ZpHcjvjWWIrRmKUMRZFeIeDekvjMGAHN8\n+mNJEjoJe6Nz/JeiZhZmjId9eJOzF75cxHvFpp9gMNYd+RGCtq7LI3nJmGGJ7wNg\nsWNzqtnbK58uctC6oOP9JEgy0MEqRSC9LYq06MMK13aTvU0mKzFJB4fXwLDvjTp+\nhi6MdBHk9k67HDEQ5DD/7NGx29VEsMQ0oGvDMQDZ4oVFae2E9nPLfOrURmHJOJHW\nvUT/5kXbMdCHP4Kvbu9nPFW9VKvH8tPpR2iezxSOJcG2AcCo4tZooNEn5NLD+h75\nI3nVAoIBAHdexvaYQGLWD2r6LjYRp7GueRHXVfpeP3Lc1PXSwiRnGB8Qn4pqONg5\nj0MXrVYhAq/X3Z1/cd17JwZpxqp/1hcbbwlsoASeFaU9i43tU3EDF0Qt1hIpXqxG\nWfmb58ft2hcT12WspyxfaMspECtsJt6dg1VHaulQ+fEln4rT2yxHqsnrU8li9NPp\n5E5OE4xqnuisvqaNk146hMQuXHpULVg8B3cVnMFSSgxqMUkNiHzNlm+TFpTihdlo\nnlcRKVtRuPtUOsP4gcJ9MoOEkxMqQQLFUPJDGDfgxNCsnnt9twIWa9aJDi36NObc\n+Cp2E4G9rjnFoab/Fs9mEVUGUl6N0mA=\n-----END PRIVATE KEY-----\n"
}
+ }
}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate.json
index 58b9d41de6c..b00214dee4f 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate.json
@@ -16,13 +16,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
}
}
@@ -45,13 +40,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -63,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate_BaseManifest.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate_BaseManifest.json
index ec310a19f85..698f3d9f615 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate_BaseManifest.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_CreateOrUpdate_BaseManifest.json
@@ -16,13 +16,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"runtimes": {
@@ -50,13 +45,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"runtimes": {
@@ -73,4 +63,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Delete.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Delete.json
index 99ae7550886..346c7ab772f 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Delete.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Get.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Get.json
index 57dd6c65329..1a0dd1ff1e3 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Get.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Get.json
@@ -23,13 +23,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -41,4 +36,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_List.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_List.json
index 49439c8f9aa..bf8906fadc8 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_List.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_List.json
@@ -24,13 +24,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -55,13 +50,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -100,4 +90,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_ListByScope.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_ListByScope.json
index 94e0ec01e43..80793eb554d 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_ListByScope.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_ListByScope.json
@@ -24,13 +24,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -82,13 +77,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -103,4 +93,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Update.json b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Update.json
index 614e0bc67bc..7f0041effbd 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Update.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Containers_Update.json
@@ -10,13 +10,8 @@
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
}
}
@@ -39,13 +34,8 @@
},
"container": {
"image": "ghcr.io/radius-project/webapptutorial-todoapp",
- "command": [
- "/bin/sh"
- ],
- "args": [
- "-c",
- "while true; do echo hello; sleep 10;done"
- ],
+ "command": ["/bin/sh"],
+ "args": ["-c", "while true; do echo hello; sleep 10;done"],
"workingDir": "/app"
},
"identity": {
@@ -81,4 +71,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_CreateOrUpdate.json b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_CreateOrUpdate.json
index 84a94402791..3ac4c935a2a 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_CreateOrUpdate.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_CreateOrUpdate.json
@@ -127,4 +127,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetEnv0.json b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetEnv0.json
index dd4c320eef2..f642d68789c 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetEnv0.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetEnv0.json
@@ -92,4 +92,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetRecipeMetadata.json b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetRecipeMetadata.json
index 6baed5642ab..b36a02ff896 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetRecipeMetadata.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_GetRecipeMetadata.json
@@ -15,12 +15,12 @@
"templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb",
"parameters": {
"throughput": {
- "type" : "int",
- "defaultValue" : 400
+ "type": "int",
+ "defaultValue": 400
},
"location": {
- "type" : "string",
- "defaultValue" : "[resourceGroup().location]"
+ "type": "string",
+ "defaultValue": "[resourceGroup().location]"
}
}
}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_List.json b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_List.json
index f1bb8b2096f..4654b8cba4b 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_List.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_List.json
@@ -161,4 +161,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_PatchEnv0.json b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_PatchEnv0.json
index 8f2e4b52bbe..bf296e2d0d1 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Environments_PatchEnv0.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Environments_PatchEnv0.json
@@ -110,4 +110,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdate.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdate.json
index 76b4f159d16..fcbe3b9be02 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdate.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdate.json
@@ -1,62 +1,61 @@
{
"operationId": "Extenders_CreateOrUpdate",
"title": "Create or Update an extender resource",
- "parameters": {
- "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
- "extenderName": "extender0",
- "api-version": "2023-10-01-preview",
- "ExtenderParameters": {
+ "parameters": {
+ "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
+ "extenderName": "extender0",
+ "api-version": "2023-10-01-preview",
+ "ExtenderParameters": {
+ "location": "West US",
+ "properties": {
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "secrets": {
+ "accountSid": "sid",
+ "authToken:": "token"
+ },
+ "resourceProvisioning": "manual"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
"location": "West US",
"properties": {
+ "provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
"environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "fromNumber": "222-222-2222",
"secrets": {
- "accountSid": "sid",
- "authToken:": "token"
+ "accountSid": "sid",
+ "authToken:": "token"
},
"resourceProvisioning": "manual"
}
}
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Succeeded",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "fromNumber": "222-222-2222",
- "secrets": {
- "accountSid": "sid",
- "authToken:": "token"
- },
- "resourceProvisioning": "manual"
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
- "name": "extender1",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Accepted",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "fromNumber": "222-222-2222",
- "secrets": {
- "accountSid": "sid",
- "authToken:": "token"
- },
- "resourceProvisioning": "manual"
- }
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
+ "name": "extender1",
+ "type": "Applications.Core/extenders",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Accepted",
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "fromNumber": "222-222-2222",
+ "secrets": {
+ "accountSid": "sid",
+ "authToken:": "token"
+ },
+ "resourceProvisioning": "manual"
}
}
}
+ }
}
-
\ No newline at end of file
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdateWithRecipe.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdateWithRecipe.json
index 15503ec0808..e6114950136 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdateWithRecipe.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_CreateOrUpdateWithRecipe.json
@@ -1,13 +1,30 @@
{
"operationId": "Extenders_CreateOrUpdate",
"title": "Create or Update an extender resource with recipe",
- "parameters": {
- "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
- "extenderName": "extender0",
- "api-version": "2023-10-01-preview",
- "ExtenderParameters": {
+ "parameters": {
+ "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup",
+ "extenderName": "extender0",
+ "api-version": "2023-10-01-preview",
+ "ExtenderParameters": {
+ "location": "West US",
+ "properties": {
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "s3"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
+ "name": "extender0",
+ "type": "Applications.Core/extenders",
"location": "West US",
"properties": {
+ "provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
"environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
"recipe": {
@@ -16,39 +33,21 @@
}
}
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender0",
- "name": "extender0",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Succeeded",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "s3"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
- "name": "extender1",
- "type": "Applications.Core/extenders",
- "location": "West US",
- "properties": {
- "provisioningState": "Succeeded",
- "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
- "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
- "recipe": {
- "name": "s3"
- }
+ "201": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/extenders/extender1",
+ "name": "extender1",
+ "type": "Applications.Core/extenders",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication",
+ "environment": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/environments/env0",
+ "recipe": {
+ "name": "s3"
}
}
}
}
+ }
}
-
\ No newline at end of file
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Delete.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Delete.json
index 08aacc41cee..264542a8804 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Delete.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Get.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Get.json
index 5a8ddbe87a9..af07af0473c 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Get.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Get.json
@@ -28,4 +28,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_List.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_List.json
index 9246caa3335..079d29b7370 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_List.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_List.json
@@ -31,4 +31,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListByRootScope.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListByRootScope.json
index b5e64de39af..f1e3ca328e5 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListByRootScope.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListByRootScope.json
@@ -31,4 +31,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListSecrets.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListSecrets.json
index 502d4831043..36cecd3ce56 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListSecrets.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListSecrets.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Update.json b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Update.json
index 854d2f8b51d..f2e1d679b51 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Update.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Update.json
@@ -58,4 +58,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_CreateOrUpdate.json b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_CreateOrUpdate.json
index 71fa5cf16b9..e2958e81475 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_CreateOrUpdate.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_CreateOrUpdate.json
@@ -9,12 +9,12 @@
"location": "West US",
"properties": {
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
@@ -32,12 +32,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Get.json b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Get.json
index 7b8a09b3997..ce47781389d 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Get.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Get.json
@@ -15,12 +15,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_List.json b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_List.json
index 4a2c0e8e39a..b795a209697 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_List.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_List.json
@@ -16,12 +16,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_ListByScope.json b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_ListByScope.json
index 225b186679e..06940110b25 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_ListByScope.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_ListByScope.json
@@ -16,13 +16,13 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend",
- "path":"/"
+ "path": "/"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
@@ -37,13 +37,13 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend",
- "path":"/backend2"
+ "path": "/backend2"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Update.json b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Update.json
index a0906f47f11..13595746dc3 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Update.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Update.json
@@ -9,12 +9,12 @@
"location": "West US",
"properties": {
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": true,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
@@ -32,12 +32,12 @@
"properties": {
"provisioningState": "Succeeded",
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
- "routes":[
+ "routes": [
{
"destination": "http://frontend"
}
- ],
- "tls":{
+ ],
+ "tls": {
"sslPassthrough": false,
"hostname": "myapp.radapp.io",
"minimumProtocolVersion": "1.2",
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_CreateOrUpdate_GlobalScope.json b/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_CreateOrUpdate_GlobalScope.json
index de3ab2d199b..091432f662d 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_CreateOrUpdate_GlobalScope.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_CreateOrUpdate_GlobalScope.json
@@ -1,49 +1,49 @@
{
- "operationId": "SecretStores_CreateOrUpdate",
- "title": "Create or Update a secret store resource with global scope",
- "parameters": {
- "rootScope": "/planes/radius/local/resourceGroups/testGroup",
- "secretStoreName": "secret",
- "api-version": "2023-10-01-preview",
- "SecretStoreResource": {
+ "operationId": "SecretStores_CreateOrUpdate",
+ "title": "Create or Update a secret store resource with global scope",
+ "parameters": {
+ "rootScope": "/planes/radius/local/resourceGroups/testGroup",
+ "secretStoreName": "secret",
+ "api-version": "2023-10-01-preview",
+ "SecretStoreResource": {
+ "location": "global",
+ "properties": {
+ "type": "certificate",
+ "data": {
+ "tls.crt": {
+ "encoding": "base64",
+ "value": "certificate"
+ },
+ "tls.key": {
+ "encoding": "base64",
+ "value": "certificate"
+ }
+ },
+ "resource": "testNamespace/secret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret",
+ "name": "secret",
+ "type": "Applications.Core/secretStores",
"location": "global",
"properties": {
+ "provisioningState": "Succeeded",
"type": "certificate",
"data": {
"tls.crt": {
- "encoding": "base64",
- "value": "certificate"
+ "encoding": "base64"
},
"tls.key": {
- "encoding": "base64",
- "value": "certificate"
+ "encoding": "base64"
}
},
"resource": "testNamespace/secret"
}
}
- },
- "responses": {
- "200": {
- "body": {
- "id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/secretStores/secret",
- "name": "secret",
- "type": "Applications.Core/secretStores",
- "location": "global",
- "properties": {
- "provisioningState": "Succeeded",
- "type": "certificate",
- "data": {
- "tls.crt": {
- "encoding": "base64"
- },
- "tls.key": {
- "encoding": "base64"
- }
- },
- "resource": "testNamespace/secret"
- }
- }
- }
}
- }
\ No newline at end of file
+ }
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_Get.json b/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_Get.json
index 32a9ff7fcf2..0b3f3efb4e9 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_Get.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_Get.json
@@ -18,10 +18,8 @@
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
"type": "certificate",
"data": {
- "tls.crt": {
- },
- "tls.key": {
- }
+ "tls.crt": {},
+ "tls.key": {}
}
}
}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_List.json b/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_List.json
index 4d95d3f6653..05625e08b5f 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_List.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_List.json
@@ -19,10 +19,8 @@
"application": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/applications/app0",
"type": "certificate",
"data": {
- "tls.crt": {
- },
- "tls.key": {
- }
+ "tls.crt": {},
+ "tls.key": {}
}
}
},
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_Get.json b/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_Get.json
index 65624ce9c88..0a57a837ed3 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_Get.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_Get.json
@@ -52,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_List.json b/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_List.json
index 0bf504f3b85..31c8274beab 100644
--- a/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_List.json
+++ b/typespec/Applications.Core/examples/2023-10-01-preview/Volumes_List.json
@@ -8,7 +8,8 @@
"responses": {
"200": {
"body": {
- "value": [{
+ "value": [
+ {
"id": "/planes/radius/local/resourceGroups/testGroup/providers/Applications.Core/volumes/keyvault0",
"name": "keyvault0",
"type": "Applications.Core/volumes",
@@ -97,4 +98,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdate.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdate.json
index d3e7bcfd169..b2cba5052df 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdate.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdate.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdateWithRecipe.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdateWithRecipe.json
index 1e2a605fbfb..b1cca76a9a2 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdateWithRecipe.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_CreateOrUpdateWithRecipe.json
@@ -63,4 +63,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Delete.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Delete.json
index 63a568f43d2..40c2172e4de 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Delete.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Get.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Get.json
index 964aca70fed..36521872b7e 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Get.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Get.json
@@ -32,4 +32,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_List.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_List.json
index c792841bd77..db218545371 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_List.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_List.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_ListByRootScope.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_ListByRootScope.json
index 377dfe293c6..742c44fba97 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_ListByRootScope.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_ListByRootScope.json
@@ -53,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Update.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Update.json
index 39ee6e7a623..886bb1a15da 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Update.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Update.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdate.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdate.json
index 12d7590b534..3c2431411bd 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdate.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdate.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdateWithRecipe.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdateWithRecipe.json
index dc6c0dd2d2a..c0fd8eea28b 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdateWithRecipe.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_CreateOrUpdateWithRecipe.json
@@ -63,4 +63,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Delete.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Delete.json
index 1a2b2092807..8d4c1657ddc 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Delete.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Get.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Get.json
index a42b3a0e4a5..1c5c1491f2e 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Get.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Get.json
@@ -32,4 +32,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_List.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_List.json
index 8375beaa8bb..4754a95ad5d 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_List.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_List.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_ListByRootScope.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_ListByRootScope.json
index f339de48399..7a5b7302ba6 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_ListByRootScope.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_ListByRootScope.json
@@ -53,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Update.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Update.json
index d5c98f29d1d..58b083c8c1c 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Update.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Update.json
@@ -74,4 +74,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_CreateOrUpdate.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_CreateOrUpdate.json
index 9fd05878729..7e34284cc75 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_CreateOrUpdate.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_CreateOrUpdate.json
@@ -60,4 +60,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Delete.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Delete.json
index 0744553b204..440c2a02503 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Delete.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Get.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Get.json
index 33e674b2903..d762a9f1515 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Get.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Get.json
@@ -27,4 +27,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_List.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_List.json
index fc273195f1c..b58043435ca 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_List.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_List.json
@@ -48,4 +48,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_ListByRootScope.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_ListByRootScope.json
index b01f25fdfb1..15eaca17242 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_ListByRootScope.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_ListByRootScope.json
@@ -48,4 +48,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Update.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Update.json
index 319e3d8dc54..93e08680478 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Update.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Update.json
@@ -60,4 +60,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdate.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdate.json
index 2baaa6b55b1..1cc5b1a0d40 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdate.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdate.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdateWithRecipe.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdateWithRecipe.json
index 149fec66728..07b15806d7a 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdateWithRecipe.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_CreateOrUpdateWithRecipe.json
@@ -52,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Delete.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Delete.json
index bfe774ce31f..73d263483da 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Delete.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Get.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Get.json
index 1605c358111..bfabbb914b4 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Get.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Get.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_List.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_List.json
index 8db892bac72..ca069e4921f 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_List.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_List.json
@@ -89,4 +89,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_ListByRootScope.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_ListByRootScope.json
index 2c98dc98d6d..808dfe201b6 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_ListByRootScope.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_ListByRootScope.json
@@ -75,4 +75,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Update.json b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Update.json
index 4ffd10fdedc..3013baf8e17 100644
--- a/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Update.json
+++ b/typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Update.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateRecipe.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateRecipe.json
index 392896fcc8c..2fc3d94b805 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateRecipe.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateRecipe.json
@@ -59,4 +59,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateValues.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateValues.json
index 897dc206766..7d4b10b286e 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateValues.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_CreateOrUpdateValues.json
@@ -62,4 +62,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Delete.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Delete.json
index 752653650f7..0a05ea6d619 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Delete.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Get.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Get.json
index a0a7b8f5d0c..bea442b12a4 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Get.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Get.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_List.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_List.json
index c280d951c50..8867641fa7d 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_List.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_List.json
@@ -70,4 +70,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_ListByRootScope.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_ListByRootScope.json
index 1aa71c6e079..1014ca1a2aa 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_ListByRootScope.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_ListByRootScope.json
@@ -71,4 +71,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdate.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdate.json
index 57510928650..d478e3a3bd7 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdate.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdate.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateRecipe.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateRecipe.json
index 64512247560..d7a8f741b60 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateRecipe.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateRecipe.json
@@ -59,4 +59,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateValues.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateValues.json
index 88d9dcfb89f..4d4f6a45bd3 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateValues.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_CreateOrUpdateValues.json
@@ -56,4 +56,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Delete.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Delete.json
index e468f72cd66..cb9eec9c232 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Delete.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Get.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Get.json
index aca26b7c225..1b6ebeb4923 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Get.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Get.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_List.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_List.json
index 21e6ae05926..905f450635e 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_List.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_List.json
@@ -66,4 +66,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListByRootScope.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListByRootScope.json
index ecf024fb104..f405d6b9a1a 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListByRootScope.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListByRootScope.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListSecrets.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListSecrets.json
index 185cec6a7cd..8a7e49da322 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListSecrets.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_ListSecrets.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Update.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Update.json
index f1ac392db3f..aa1148154ee 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Update.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Update.json
@@ -65,4 +65,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_CreateOrUpdate.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_CreateOrUpdate.json
index 7f4a9de8f22..147e1958c79 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_CreateOrUpdate.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_CreateOrUpdate.json
@@ -49,4 +49,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Delete.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Delete.json
index a092eecce33..21e3e41d8ed 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Delete.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Get.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Get.json
index 2de248c7b27..4390634640c 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Get.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Get.json
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_List.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_List.json
index 04ca8b7bbf8..3afc35e8d25 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_List.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_List.json
@@ -64,4 +64,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListByRootScope.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListByRootScope.json
index 9c6de5f03ac..aab8f047895 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListByRootScope.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListByRootScope.json
@@ -69,4 +69,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListSecrets.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListSecrets.json
index 97118868ef6..c092d2ba398 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListSecrets.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_ListSecrets.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Update.json b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Update.json
index 13d60114477..c4a59f0de50 100644
--- a/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Update.json
+++ b/typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Update.json
@@ -49,4 +49,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_CreateOrUpdate.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_CreateOrUpdate.json
index 0b51ad6fdbc..d27d1aa9dea 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_CreateOrUpdate.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_CreateOrUpdate.json
@@ -56,4 +56,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Delete.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Delete.json
index d78bb91dd57..2eacd771a00 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Delete.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Delete.json
@@ -11,4 +11,4 @@
"202": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Get.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Get.json
index ddd1cb632dd..530a7c38ce8 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Get.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Get.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_List.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_List.json
index 83383819e0e..d5ecd4fa433 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_List.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_List.json
@@ -44,4 +44,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListByRootScope.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListByRootScope.json
index d932a9a7a37..5e4658bc45d 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListByRootScope.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListByRootScope.json
@@ -47,4 +47,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListSecrets.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListSecrets.json
index 686ec415e05..3be84807872 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListSecrets.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListSecrets.json
@@ -14,4 +14,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Update.json b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Update.json
index 61dff0e3234..04e9acfeca6 100644
--- a/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Update.json
+++ b/typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Update.json
@@ -56,4 +56,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_CreateOrUpdate.json
index 9b13d6016a0..e4164707ac1 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_CreateOrUpdate.json
@@ -1,53 +1,53 @@
{
- "operationId": "AwsCredentials_CreateOrUpdate",
- "title": "Create or update an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "accessKeyId": "enterAccessKeyIdHere",
- "secretAccessKey": "enterSecretAccessKey",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_CreateOrUpdate",
+ "title": "Create or update an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "accessKeyId": "enterAccessKeyIdHere",
+ "secretAccessKey": "enterSecretAccessKey",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Delete.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Delete.json
index c0e5bdb0673..c84b7185b14 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Delete.json
@@ -1,14 +1,14 @@
{
- "operationId": "AwsCredentials_Delete",
- "title": "Delete an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
\ No newline at end of file
+ "operationId": "AwsCredentials_Delete",
+ "title": "Delete an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Get.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Get.json
index 91d728e6f1f..a73e93746d1 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Get.json
@@ -1,27 +1,27 @@
{
- "operationId": "AwsCredentials_Get",
- "title": "Get an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "operationId": "AwsCredentials_Get",
+ "title": "Get an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_List.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_List.json
index e89535b7fa5..ff9d1c8ce43 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_List.json
@@ -1,30 +1,30 @@
{
- "operationId": "AwsCredentials_List",
- "title": "List AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- ]
+ "operationId": "AwsCredentials_List",
+ "title": "List AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
- }
+ }
+ ]
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Update.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Update.json
index 37a1cb337e1..d6a599c0f22 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Update.json
@@ -1,53 +1,53 @@
{
- "operationId": "AwsCredentials_Update",
- "title": "Update an AWS AccessKey credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "accessKeyId": "enterAccessKeyIdHere",
- "secretAccessKey": "enterSecretAccessKey",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_Update",
+ "title": "Update an AWS AccessKey credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "accessKeyId": "enterAccessKeyIdHere",
+ "secretAccessKey": "enterSecretAccessKey",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "AccessKey",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "AccessKey",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_CreateOrUpdate.json
index f59f7e6f14a..91c81314e58 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_CreateOrUpdate.json
@@ -1,54 +1,54 @@
{
- "operationId": "AwsCredentials_CreateOrUpdate",
- "title": "Create or update an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "aws",
- "credentialName": "default",
- "Credential": {
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleARN": "enterRoleARN",
- "storage": {
- "kind": "Internal"
- }
- }
+ "operationId": "AwsCredentials_CreateOrUpdate",
+ "title": "Create or update an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "aws",
+ "credentialName": "default",
+ "Credential": {
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleARN": "enterRoleARN",
+ "storage": {
+ "kind": "Internal"
}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleARN": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
+ }
+ }
},
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleARN": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- },
- "201": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleARN": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "201": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleARN": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Delete.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Delete.json
index ceda0d303b1..9ec32c5255c 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Delete.json
@@ -1,14 +1,14 @@
{
- "operationId": "AwsCredentials_Delete",
- "title": "Delete an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
\ No newline at end of file
+ "operationId": "AwsCredentials_Delete",
+ "title": "Delete an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Get.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Get.json
index adf56c6949b..9bfc60457b0 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Get.json
@@ -1,28 +1,28 @@
{
- "operationId": "AwsCredentials_Get",
- "title": "Get an AWS IRSA credential",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud",
- "credentialName": "default"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
+ "operationId": "AwsCredentials_Get",
+ "title": "Get an AWS IRSA credential",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud",
+ "credentialName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_List.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_List.json
index da727860c8e..da09a3cc2cc 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_List.json
@@ -1,31 +1,31 @@
{
- "operationId": "AwsCredentials_List",
- "title": "List AWS IRSA credentials",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeType": "aws",
- "planeName": "awscloud"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
- "name": "default",
- "type": "System.AWS/credentials",
- "location": "us-west-2",
- "properties": {
- "kind": "IRSA",
- "roleArn": "enterRoleARN",
- "storage": {
- "kind": "Internal",
- "secretName": "aws-awscloud-default"
- }
- }
- }
- ]
+ "operationId": "AwsCredentials_List",
+ "title": "List AWS IRSA credentials",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeType": "aws",
+ "planeName": "awscloud"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/AWS/aws/providers/System.AWS/credentials/default",
+ "name": "default",
+ "type": "System.AWS/credentials",
+ "location": "us-west-2",
+ "properties": {
+ "kind": "IRSA",
+ "roleArn": "enterRoleARN",
+ "storage": {
+ "kind": "Internal",
+ "secretName": "aws-awscloud-default"
+ }
}
- }
+ }
+ ]
+ }
}
-}
\ No newline at end of file
+ }
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json
index b6497af3e40..94ef1474c1f 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Update.json
@@ -51,4 +51,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json
index 9588c4dd763..a998925356e 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_CreateOrUpdate.json
@@ -35,4 +35,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json
index 4bedace3503..a9c7a162553 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Delete.json
@@ -18,4 +18,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json
index c12de83dd0e..45d78399746 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json
index 358a3274f6e..a5bb23bbbb6 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ApiVersions_List.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_CreateOrUpdate.json
index bd265833c8f..0e4052e4652 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_CreateOrUpdate.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Delete.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Delete.json
index 1be9794e92e..580449ea99a 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Get.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Get.json
index 630257a9270..4d123f5b45b 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Get.json
@@ -19,11 +19,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_List.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_List.json
index 037785e4b49..11c854b89bf 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_List.json
@@ -20,8 +20,8 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Update.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Update.json
index 4a45fccfc15..eaff3a06049 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Update.json
@@ -31,7 +31,7 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -47,11 +47,11 @@
"tenantId": "00000000-0000-0000-0000-000000000000",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_CreateOrUpdate.json
index 64a1cfe8e8f..d039ddcb80c 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_CreateOrUpdate.json
@@ -29,7 +29,7 @@
"kind": "WorkloadIdentity",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -44,11 +44,11 @@
"kind": "WorkloadIdentity",
"clientId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Delete.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Delete.json
index cd93a9d61a0..f51d775a40d 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Get.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Get.json
index 30d10597555..2c6981a6019 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Get.json
@@ -19,11 +19,11 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_List.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_List.json
index 014d17965d0..ffc4ef409dd 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_List.json
@@ -20,8 +20,8 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
@@ -29,4 +29,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Update.json b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Update.json
index 3dc540a8f2e..2de65e1450e 100644
--- a/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Update.json
@@ -30,7 +30,7 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal"
+ "kind": "Internal"
}
}
}
@@ -46,11 +46,11 @@
"clientId": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"storage": {
- "kind": "Internal",
- "secretName": "azure-azurecloud-default"
+ "kind": "Internal",
+ "secretName": "azure-azurecloud-default"
}
}
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json
index a96ce299861..d707cb02250 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_CreateOrUpdate.json
@@ -40,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json b/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json
index 0ed0275bfbe..d259e84eaf8 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_Delete.json
@@ -17,4 +17,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json b/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json
index 63694b8ba90..b38fec3e94d 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Locations_List.json b/typespec/UCP/examples/2023-10-01-preview/Locations_List.json
index a5c18106fa1..f9305b5e3ae 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Locations_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Locations_List.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Planes_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/Planes_CreateOrUpdate.json
index 7e5a908e363..5ca838c07c4 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Planes_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Planes_CreateOrUpdate.json
@@ -31,4 +31,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Planes_Delete.json b/typespec/UCP/examples/2023-10-01-preview/Planes_Delete.json
index 509fe433d87..b2944201b30 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Planes_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Planes_Delete.json
@@ -10,4 +10,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Planes_GetPlaneLocal.json b/typespec/UCP/examples/2023-10-01-preview/Planes_GetPlaneLocal.json
index 5ecac6dfe9d..1ad27fc78fb 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Planes_GetPlaneLocal.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Planes_GetPlaneLocal.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Planes_List.json b/typespec/UCP/examples/2023-10-01-preview/Planes_List.json
index 919ae68102e..9e9a81cdae1 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Planes_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Planes_List.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Planes_ListPlanesByType.json b/typespec/UCP/examples/2023-10-01-preview/Planes_ListPlanesByType.json
index c10863f6d38..968fa3e70fd 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Planes_ListPlanesByType.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Planes_ListPlanesByType.json
@@ -26,4 +26,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Planes_Update.json b/typespec/UCP/examples/2023-10-01-preview/Planes_Update.json
index b4788ca4bb8..78adf51b6ed 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Planes_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Planes_Update.json
@@ -31,4 +31,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json
index 88a80d36331..1dddcb1bfb3 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_CreateOrUpdate.json
@@ -30,4 +30,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Delete.json
index a6e1366c626..4bed23caf49 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Delete.json
@@ -11,4 +11,4 @@
"200": {},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Get.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Get.json
index 4eab6c512b0..cb3cfef812f 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Get.json
@@ -16,4 +16,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_List.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_List.json
index 50b43e8f8ac..c5744e516c2 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_List.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json
index dae569f6d77..7d9d9b38e54 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Update.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json
index 402f2fe4dc6..6f911664e89 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_CreateOrUpdate.json
@@ -26,7 +26,7 @@
"id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test",
"name": "Applications.Test",
"type": "System.Resources/resourceProviders",
- "location": "global",
+ "location": "global",
"properties": {
"provisioningState": "Succeeded"
}
@@ -37,4 +37,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json
index 0d60fc0c090..2b5539c14a4 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Delete.json
@@ -16,4 +16,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json
index f6ea02f51f1..2da510131cb 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_Get.json
@@ -19,4 +19,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json
index 5d96e685820..c92648028d1 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_GetProviderSummary.json
@@ -24,4 +24,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json
index 4c9fbf0003d..31c40be8156 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_List.json
@@ -21,4 +21,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json
index 71f71e262dc..5efc181bc32 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceProviders_ListProviderSummaries.json
@@ -27,4 +27,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json
index 92aa7108c21..a5068c19d31 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_CreateOrUpdate.json
@@ -40,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json
index 00212013d49..af3f9ac10c3 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Delete.json
@@ -17,4 +17,4 @@
},
"204": {}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json
index b3c29e5b519..2a5cc266ade 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_Get.json
@@ -20,4 +20,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json
index f77af4c566c..a7b11b87c02 100644
--- a/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/ResourceTypes_List.json
@@ -23,4 +23,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/typespec/UCP/examples/2023-10-01-preview/Resources_List.json b/typespec/UCP/examples/2023-10-01-preview/Resources_List.json
index 3856e126bac..90c3967ba70 100644
--- a/typespec/UCP/examples/2023-10-01-preview/Resources_List.json
+++ b/typespec/UCP/examples/2023-10-01-preview/Resources_List.json
@@ -1,28 +1,28 @@
{
- "operationId": "Resources_List",
- "title": "List resources in a resource group.",
- "parameters": {
- "api-version": "2023-10-01-preview",
- "planeName": "local",
- "planeType": "radius",
- "resourceGroupName": "rg1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/containers/my-container",
- "name": "my-container",
- "type": "Applications.Core/containers"
- },
- {
- "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/my-application",
- "name": "my-application",
- "type": "Applications.Core/applications"
- }
- ]
- }
+ "operationId": "Resources_List",
+ "title": "List resources in a resource group.",
+ "parameters": {
+ "api-version": "2023-10-01-preview",
+ "planeName": "local",
+ "planeType": "radius",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/containers/my-container",
+ "name": "my-container",
+ "type": "Applications.Core/containers"
+ },
+ {
+ "id": "/planes/radius/local/resourcegroups/rg1/providers/Applications.Core/applications/my-application",
+ "name": "my-application",
+ "type": "Applications.Core/applications"
+ }
+ ]
}
}
- }
\ No newline at end of file
+ }
+}
diff --git a/typespec/package.json b/typespec/package.json
index 44eb82d5655..bcd3008b101 100644
--- a/typespec/package.json
+++ b/typespec/package.json
@@ -16,4 +16,4 @@
"private": true,
"author": "Radius Authors",
"license": "Apache-2.0"
-}
\ No newline at end of file
+}
From 573673efd17b534fd5a60a5329862c0d0c715538 Mon Sep 17 00:00:00 2001
From: Will <28876888+willtsai@users.noreply.github.com>
Date: Fri, 18 Oct 2024 11:34:32 -0700
Subject: [PATCH 15/27] create CODEOWNERS (#8004)
# Description
_Please explain the changes you've made._
Adding a CODEOWNERS file for administering repo membership and roles.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: N/A
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [x] An overview of proposed schema changes is included in a linked
GitHub issue.
- [x] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [x] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [x] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [x] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [x] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: Will Tsai <28876888+willtsai@users.noreply.github.com>
---
CODEOWNERS | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 CODEOWNERS
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 00000000000..54efb711bda
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1,2 @@
+# These owners are the maintainers and approvers of this repo
+* @radius-project/maintainers-radius @radius-project/approvers-radius
\ No newline at end of file
From 16f16f392bf20bd845f6f10cc203a950d14d1545 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 21 Oct 2024 14:53:09 -0700
Subject: [PATCH 16/27] Bump the all group across 1 directory with 27 updates
(#8005)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the all group with 20 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
|
[github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go)
| `1.14.0` | `1.16.0` |
|
[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go)
| `1.7.0` | `1.8.0` |
|
[github.com/Azure/secrets-store-csi-driver-provider-azure](https://github.com/Azure/secrets-store-csi-driver-provider-azure)
| `1.5.3` | `1.6.0` |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) |
`1.32.0` | `1.32.2` |
|
[github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2)
| `1.27.41` | `1.28.0` |
|
[github.com/aws/aws-sdk-go-v2/service/cloudcontrol](https://github.com/aws/aws-sdk-go-v2)
| `1.22.0` | `1.22.2` |
|
[github.com/aws/aws-sdk-go-v2/service/cloudformation](https://github.com/aws/aws-sdk-go-v2)
| `1.55.0` | `1.55.3` |
|
[github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2)
| `1.181.0` | `1.183.0` |
|
[github.com/aws/aws-sdk-go-v2/service/ecr](https://github.com/aws/aws-sdk-go-v2)
| `1.36.0` | `1.36.2` |
|
[github.com/charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea)
| `1.1.0` | `1.1.1` |
|
[github.com/prometheus/client_golang](https://github.com/prometheus/client_golang)
| `1.20.4` | `1.20.5` |
| [github.com/stern/stern](https://github.com/stern/stern) | `1.30.0` |
`1.31.0` |
|
[go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib)
| `0.55.0` | `0.56.0` |
|
[go.opentelemetry.io/contrib/instrumentation/runtime](https://github.com/open-telemetry/opentelemetry-go-contrib)
| `0.55.0` | `0.56.0` |
|
[go.opentelemetry.io/otel/exporters/prometheus](https://github.com/open-telemetry/opentelemetry-go)
| `0.52.0` | `0.53.0` |
|
[go.opentelemetry.io/otel/exporters/zipkin](https://github.com/open-telemetry/opentelemetry-go)
| `1.30.0` | `1.31.0` |
| [go.uber.org/mock](https://github.com/uber/mock) | `0.4.0` | `0.5.0` |
| [helm.sh/helm/v3](https://github.com/helm/helm) | `3.16.1` | `3.16.2`
|
|
[sigs.k8s.io/secrets-store-csi-driver](https://github.com/kubernetes-sigs/secrets-store-csi-driver)
| `1.4.5` | `1.4.6` |
|
[github.com/containerd/containerd](https://github.com/containerd/containerd)
| `1.7.22` | `1.7.23` |
Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.14.0 to
1.16.0
Release notes
Sourced from github.com/Azure/azure-sdk-for-go/sdk/azcore's
releases.
sdk/azcore/v1.16.0
1.16.0 (2024-10-17)
Features Added
- Added field
Kind
to
runtime.StartSpanOptions
to allow a kind to be set when
starting a span.
Bugs Fixed
BearerTokenPolicy
now rewinds request bodies before
retrying
sdk/azcore/v1.15.0
1.15.0 (2024-10-14)
Features Added
BearerTokenPolicy
handles CAE claims challenges
Bugs Fixed
- Omit the
ResponseError.RawResponse
field from JSON
marshaling so instances can be marshaled.
- Fixed an integer overflow in the retry policy.
Other Changes
Commits
32f5e82
BearerTokenPolicy rewinds bodies before retrying (#23597)
546e099
Sync eng/common directory with azure-sdk-tools for PR 9177 (#23591)
068ef3d
Handle missing artifacts without exception (#23592)
c6c9acc
Fix missing CloseAddressedIssues in gh event processor (#23593)
07c1fcb
Set resource group env variable early so remove always works (#23594)
1e3b3f1
Sync eng/common directory with azure-sdk-tools for PR 9147 (#23595)
7a626d2
Allow the span kind to be set via StartSpanOptions (#23590)
40dcd1b
fixing the compareHeaders sorting algorithm (#23545)
7e59111
Sync .github/workflows directory with azure-sdk-tools for PR 9134 (#23589)
b9db671
[Release] sdk/resourcemanager/hybridcompute/armhybridcompute/2.0.0 (#23566)
- Additional commits viewable in compare
view
Updates `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.7.0 to
1.8.0
Release notes
Sourced from github.com/Azure/azure-sdk-for-go/sdk/azidentity's
releases.
sdk/azidentity/v1.8.0
1.8.0 (2024-10-08)
Other Changes
AzurePipelinesCredential
sets an additional OIDC
request header so that it
receives a 401 instead of a 302 after presenting an invalid system
access token
- Allow logging of debugging headers for
AzurePipelinesCredential
and include
them in error messages
sdk/azidentity/v1.8.0-beta.3
1.8.0-beta.3 (2024-09-17)
Features Added
- Added
ObjectID
type for
ManagedIdentityCredentialOptions.ID
Other Changes
- Removed redundant content from error messages
sdk/azidentity/v1.8.0-beta.2
1.8.0-beta.2 (2024-08-06)
Breaking Changes
NewManagedIdentityCredential
now returns an error when
a user-assigned identity
is specified on a platform whose managed identity API doesn't support
that.
ManagedIdentityCredential.GetToken()
formerly logged a
warning in these cases.
Returning an error instead prevents the credential authenticating an
unexpected
identity, causing a client to act with unexpected privileges. The
affected
platforms are:
- Azure Arc
- Azure ML (when a resource ID is specified; client IDs are
supported)
- Cloud Shell
- Service Fabric
Other Changes
- If
DefaultAzureCredential
receives a non-JSON response
when probing IMDS before
attempting to authenticate a managed identity, it continues to the next
credential
in the chain instead of immediately returning an error.
sdk/azidentity/v1.8.0-beta.1
1.8.0-beta.1 (2024-07-17)
Features Added
- Restored persistent token caching feature
Breaking Changes
These changes affect only code written against a beta version such as
v1.7.0-beta.1
- Redesigned the persistent caching API. Encryption is now required in
all cases
and persistent cache construction is separate from credential
construction.
The
PersistentUserAuthentication
example in the package
docs has been updated
to demonstrate the new API.
... (truncated)
Commits
Updates `github.com/Azure/secrets-store-csi-driver-provider-azure` from
1.5.3 to 1.6.0
Release notes
Sourced from github.com/Azure/secrets-store-csi-driver-provider-azure's
releases.
v1.6.0 - 2024-10-10
Changelog
Bug Fixes 🐞
- ac7d27d1dc89426039798d1e7dbcde7122003059 fix: telegraf
response_timeout to timeout (#1616)
- ea0d64d29a452cd8d8b05db0f736fad8046765b9 fix: cert chain sorting
when the leaf certificate is missing the SubjectKeyIdentifier extension
(#1509)
- 2fc9b5fd7e7090ba68c7aabd55ee240fdf5e2bc3 fix: v1.5.2 helm chart
release to upgrade msi-adapter image (#1440)
- 229d700148a9e327701d3b8a1ff0dd93983e1498 fix: updates MSI adapter
(#1439)
- eabab07fc0afc435ac0246e0d7558f430190a2d6 fix:
v1.5.1
helm chart release to fix fluentd config env var name (#1381)
- db8b56d74bb6aaec6f3e93dc2136970442de46bb fix: update fluentd env var
with new env var name (#1380)
Continuous Integration 💜
- f0c8a3aa37bf113e787e059e12ae2323f540f215 ci: skip builds goreleaser
config (#1644)
- 8166dff1e6af8b422b7a15d49f025fe2a6d59f45 ci: updates goreleaser (#1636)
- 571cde60cb87b75d9a2ae9e9a1817ee0a5202d4b ci: increase
days-before-stale to 60 (#1579)
- 2b916e423244bc4f5dbabb96ccda2db4a068be90 ci: cleanup windows pr gate
(#1539)
- 127a096d42250b26af61f936e2cf55398fecc0bf ci: bump
ossf/scorecard-action to v2.3.1 (#1528)
- b6af05dd8deb08f812cf8757db5886ac173d728c ci: remove aks-preview
pinned version and use cgv2 pool image for arc kind tests (#1484)
- ecaccb15f119e8c2cd47be70cf602e1f38eb307a ci: overwrite pool images
using demands (#1473)
- 67503d53333ee631386cfe75e6b044cfaefe3f09 ci: enable tests with
kubernetes v1.29 (#1466)
Documentation 📘
- 514318ba92cc56e26df93e2e14d8695e695d466e docs: specify service
account for pod in workload identity mode (#1327)
Features 🌈
- b551439d1ca1186535f38dc8dd87cea557097812 feat: turning off Arc ext
monitoring by default (#1618)
- 4ef5092217a67699e51643dd952cd88705d3a3ca feat: allow configuring
default cloud environment (#1555)
- 1175fd93168a2185bb3dba4e8e622573867ab700 feat: configures monitoring
pod resources for Arc extension (#1481)
- ce0c696c77405c1c82ae946fe88bd729af0ef7fb feat: make dns policy
configurable in helm charts (#1462)
Maintenance 🔧
- 675bffc8eba11a1a768b0fd144feb29be53f310b chore: bump
github/codeql-action from 2.21.4 to 3.26.5 (#1641)
- a48f93472e577733803b3eefdc65a63bfffa61b3 chore: remove direct
dependency on adal (#1611)
- e7fcef978065468b781c7f2f8e47774d5607ff07 chore: v1.5.6 chart release
to disable arc monitoring by default (#1619)
- 95ec8b6da359f1f01984088e4f5b8bb77b759c35 chore: bumps monitoring
images (#1603)
- 8296abd674fae7ae293d43c5c97d2ec8732f884c chore: bump
golang.org/x/crypto from 0.22.0 to 0.23.0 (#1559)
- 555435c35c4e663b360d3bf29f1157f9d9a9622b chore: removes conformance
image from scan (#1547)
- 733f10d7e5235f0bd9bfb3237696c462327194a5 chore: bump
golang.org/x/net from 0.17.0 to 0.24.0 (#1527)
- a17282cf71ec9977aaac2bf54e4189a24732a7d1 chore: bump trivy to 0.50.1
(#1526)
- b194d5f6b61bda9599aae4c0c9268dea61bbdff5 chore: helm chart release
for driver v1.4.2 and arc ext fixes (#1482)
- 687c494a39b61bf7d277f55e617ef7ace2bd0097 chore: disable arc ext ci
(#1465)
- 087afe696a8c10d5e3b3f18ba9c42df53c2debcf chore: bump
golang.org/x/crypto from 0.14.0 to 0.18.0 (#1410)
- 24a8729f4126f0f02d04327a4d49ad666a9f88fe chore: use base images from
mcr (#1396)
Testing 💚
- 9616f7049c3ca0880b819f62f377b4115542900e test: move all tests to use
workload identity (#1578)
Commits
Updates `github.com/aws/aws-sdk-go-v2` from 1.32.0 to 1.32.2
Commits
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.27.41 to 1.28.0
Commits
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.39 to
1.17.41
Commits
Updates `github.com/aws/aws-sdk-go-v2/service/cloudcontrol` from 1.22.0
to 1.22.2
Commits
Updates `github.com/aws/aws-sdk-go-v2/service/cloudformation` from
1.55.0 to 1.55.3
Commits
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.181.0 to
1.183.0
Commits
Updates `github.com/aws/aws-sdk-go-v2/service/ecr` from 1.36.0 to 1.36.2
Commits
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.32.0 to 1.32.2
Commits
Updates `github.com/charmbracelet/bubbletea` from 1.1.0 to 1.1.1
Release notes
Sourced from github.com/charmbracelet/bubbletea's
releases.
v1.1.1
Don't panic!
Panicking is a part of life…and a part of workin’ in Go. This release
addresses two edge cases where a panic()
could tank Bubble
Tea and break your terminal:
Panics outside of Bubble Tea
If a panic occurs outside of Bubble Tea you can use Program.Kill
to restore the terminal state before exiting:
func main() {
p := tea.NewProgram(model{})
go func() {
time.Sleep(3 * time.Second)
defer p.Kill()
panic("Urgh")
}()
if _, err := p.Run(); err != nil {
log.Fatal(err)
}
}
Panics in Cmds
If a panic occurs in a Cmd
Bubble Tea will now
automatically restore the terminal to its natural state before
exiting.
type model struct{}
// This command will totally panic.
func pancikyCmd() tea.Msg {
panic("Oh no! Jk.")
}
func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
case tea.KeyMsg:
switch msg.String() {
case "enter":
// Panic time! But everything will be OK.
return m, pancikyCmd
}
}
return m, nil
}
... (truncated)
Commits
6e71f52
fix: restore the terminal on kill
0589921
fix: recover from panics within cmds
7ca1b0b
docs(featured): clean up in the wild list (#1130)
6d43c27
chore(deps): bump github.com/charmbracelet/bubbles in /examples (#1131)
d5f1b71
docs(focus): add some GoDoc links and add note on focus support
- See full diff in compare
view
Updates `github.com/prometheus/client_golang` from 1.20.4 to 1.20.5
Release notes
Sourced from github.com/prometheus/client_golang's
releases.
v1.20.5 / 2024-10-15
We decided to revert the
testutil
change that made our util functions less
error-prone, but created a lot of work for our downstream users.
Apologies for the pain! This revert should not cause any major breaking
change, even if you already did the work--unless you depend on the exact
error message.
Going forward, we plan to reinforce our release testing strategy [1],[2]
and deliver an enhanced testutil
package/module with more flexible and safer APIs.
Thanks to @dashpole
@dgrisonnet
@kakkoyun
@ArthurSens
@vesari
@logicalhan
@krajorama
@bwplotka
who
helped in this patch release! 🤗
Changelog
[BUGFIX] testutil: Reverted #1424;
functions using compareMetricFamilies are (again) only failing if
filtered metricNames are in the expected input. #1645
Changelog
Sourced from github.com/prometheus/client_golang's
changelog.
1.20.5 / 2024-10-15
- [BUGFIX] testutil: Reverted #1424;
functions using compareMetricFamilies are (again) only failing if
filtered metricNames are in the expected input.
Commits
Updates `github.com/stern/stern` from 1.30.0 to 1.31.0
Release notes
Sourced from github.com/stern/stern's
releases.
v1.31.0
Changes
- Fix --verbosity flag to show missing logs (#317)
c2b4410 (Takashi Kusumi)
- Update dependencies for Kubernetes 1.31 (#315)
a4fdcc9 (Takashi Kusumi)
Changelog
Sourced from github.com/stern/stern's
changelog.
v1.31.0
Changes
- Fix --verbosity flag to show missing logs (#317)
c2b4410 (Takashi Kusumi)
- Update dependencies for Kubernetes 1.31 (#315)
a4fdcc9 (Takashi Kusumi)
Commits
Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp`
from 0.55.0 to 0.56.0
Release notes
Sourced from go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's
releases.
Release v1.31.0/v0.56.0/v0.25.0/v0.11.0/v0.6.0/v0.4.0/v0.3.0
Overview
Added
- The
Severitier
and SeverityVar
types are
added to go.opentelemetry.io/contrib/processors/minsev
allowing dynamic configuration of the severity used by the
LogProcessor
. (#6116)
- Move examples from
go.opentelemetry.io/otel
to this
repository under examples
directory. (#6158)
- Support yaml/json struct tags for generated code in
go.opentelemetry.io/contrib/config
. (#5433)
- Add support for parsing YAML configuration via
ParseYAML
in
go.opentelemetry.io/contrib/config
. (#5433)
- Add support for temporality preference configuration in
go.opentelemetry.io/contrib/config
. (#5860)
Changed
- The function signature of
NewLogProcessor
in
go.opentelemetry.io/contrib/processors/minsev
has changed
to accept the added Severitier
interface instead of a
log.Severity
. (#6116)
- Updated
go.opentelemetry.io/contrib/config
to use the
v0.3.0
release of schema which includes backwards incompatible changes. (#6126)
NewSDK
in
go.opentelemetry.io/contrib/config
now returns a no-op SDK
if disabled
is set to true
. (#6185)
- The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
package has found a Code Owner. The package is no longer deprecated. (#6207)
Fixed
- Possible nil dereference panic in
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
.
(#5965)
logrus.Level
transformed to appropriate
log.Severity
in
go.opentelemetry.io/contrib/bridges/otellogrus
. (#6191)
Removed
- The
Minimum
field of the LogProcessor
in
go.opentelemetry.io/contrib/processors/minsev
is removed.
Use NewLogProcessor
to configure this setting. (#6116)
- The deprecated
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
package is removed. (#6186)
- The deprecated
go.opentelemetry.io/contrib/samplers/aws/xray
package is
removed. (#6187)
What's Changed
... (truncated)
Changelog
Sourced from go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's
changelog.
[1.31.0/0.56.0/0.25.0/0.11.0/0.6.0/0.4.0/0.3.0] - 2024-10-14
Added
- The
Severitier
and SeverityVar
types are
added to go.opentelemetry.io/contrib/processors/minsev
allowing dynamic configuration of the severity used by the
LogProcessor
. (#6116)
- Move examples from
go.opentelemetry.io/otel
to this
repository under examples
directory. (#6158)
- Support yaml/json struct tags for generated code in
go.opentelemetry.io/contrib/config
. (#5433)
- Add support for parsing YAML configuration via
ParseYAML
in
go.opentelemetry.io/contrib/config
. (#5433)
- Add support for temporality preference configuration in
go.opentelemetry.io/contrib/config
. (#5860)
Changed
- The function signature of
NewLogProcessor
in
go.opentelemetry.io/contrib/processors/minsev
has changed
to accept the added Severitier
interface instead of a
log.Severity
. (#6116)
- Updated
go.opentelemetry.io/contrib/config
to use the
v0.3.0
release of schema which includes backwards incompatible changes. (#6126)
NewSDK
in
go.opentelemetry.io/contrib/config
now returns a no-op SDK
if disabled
is set to true
. (#6185)
- The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
package has found a Code Owner.
The package is no longer deprecated. (#6207)
Fixed
- Possible nil dereference panic in
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
.
(#5965)
logrus.Level
transformed to appropriate
log.Severity
in
go.opentelemetry.io/contrib/bridges/otellogrus
. (#6191)
Removed
- The
Minimum
field of the LogProcessor
in
go.opentelemetry.io/contrib/processors/minsev
is removed.
Use NewLogProcessor
to configure this setting. (#6116)
- The deprecated
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
package is removed. (#6186)
- The deprecated
go.opentelemetry.io/contrib/samplers/aws/xray
package is
removed. (#6187)
Commits
9cf5701
Release v1.31.0/v0.56.0/v0.25.0/v0.11.0/v0.6.0/v0.4.0/v0.3.0 (#6243)
d6305c0
chore(deps): update module github.com/klauspost/compress to v1.17.11 (#6232)
09cbf41
fix(deps): update module github.com/aws/aws-sdk-go-v2/service/s3 to
v1.65.3 (...
c3c8538
Update otel core to the latest release (#6233)
79bb705
otelecho: Add Code Owner and remove deprecation (#6207)
45ba204
config: support v0.3 of the config schema (#6126)
20e45af
Revert "chore(deps): update lycheeverse/lychee-action action to
v2" (#6229)
5322670
Remove otelmacaron (#6186)
87d0229
feat(instrumentation/http/otelhttp): move client metrics creation into
intern...
900fc4b
Run the test compatibility check even if tests failed (#6224)
- Additional commits viewable in compare
view
Updates `go.opentelemetry.io/contrib/instrumentation/runtime` from
0.55.0 to 0.56.0
Release notes
Sourced from go.opentelemetry.io/contrib/instrumentation/runtime's
releases.
Release v1.31.0/v0.56.0/v0.25.0/v0.11.0/v0.6.0/v0.4.0/v0.3.0
Overview
Added
- The
Severitier
and SeverityVar
types are
added to go.opentelemetry.io/contrib/processors/minsev
allowing dynamic configuration of the severity used by the
LogProcessor
. (#6116)
- Move examples from
go.opentelemetry.io/otel
to this
repository under examples
directory. (#6158)
- Support yaml/json struct tags for generated code in
go.opentelemetry.io/contrib/config
. (#5433)
- Add support for parsing YAML configuration via
ParseYAML
in
go.opentelemetry.io/contrib/config
. (#5433)
- Add support for temporality preference configuration in
go.opentelemetry.io/contrib/config
. (#5860)
Changed
- The function signature of
NewLogProcessor
in
go.opentelemetry.io/contrib/processors/minsev
has changed
to accept the added Severitier
interface instead of a
log.Severity
. (#6116)
- Updated
go.opentelemetry.io/contrib/config
to use the
v0.3.0
release of schema which includes backwards incompatible changes. (#6126)
NewSDK
in
go.opentelemetry.io/contrib/config
now returns a no-op SDK
if disabled
is set to true
. (#6185)
- The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
package has found a Code Owner. The package is no longer deprecated. (#6207)
Fixed
- Possible nil dereference panic in
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
.
(#5965)
logrus.Level
transformed to appropriate
log.Severity
in ...
_Description has been truncated_
Signed-off-by: dependabot[bot]
Signed-off-by: ytimocin
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 84 ++++-----
go.sum | 174 +++++++++---------
.../src/generator/package-lock.json | 4 +-
3 files changed, 136 insertions(+), 126 deletions(-)
diff --git a/go.mod b/go.mod
index 259dda02b56..c44b011e00e 100644
--- a/go.mod
+++ b/go.mod
@@ -1,10 +1,10 @@
module github.com/radius-project/radius
-go 1.22.0
+go 1.23.0
require (
- github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0
- github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0
+ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0
+ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0
github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2 v2.2.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/msi/armmsi v1.2.0
@@ -12,20 +12,20 @@ require (
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.3.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus/v2 v2.0.0-beta.3
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0
- github.com/Azure/secrets-store-csi-driver-provider-azure v1.5.3
+ github.com/Azure/secrets-store-csi-driver-provider-azure v1.6.0
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
github.com/agnivade/levenshtein v1.2.0
- github.com/aws/aws-sdk-go-v2 v1.32.0
- github.com/aws/aws-sdk-go-v2/config v1.27.41
- github.com/aws/aws-sdk-go-v2/credentials v1.17.39
- github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.0
- github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.0
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.181.0
- github.com/aws/aws-sdk-go-v2/service/ecr v1.36.0
- github.com/aws/aws-sdk-go-v2/service/sts v1.32.0
+ github.com/aws/aws-sdk-go-v2 v1.32.2
+ github.com/aws/aws-sdk-go-v2/config v1.28.0
+ github.com/aws/aws-sdk-go-v2/credentials v1.17.41
+ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2
+ github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3
+ github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0
+ github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2
+ github.com/aws/aws-sdk-go-v2/service/sts v1.32.2
github.com/aws/smithy-go v1.22.0
github.com/charmbracelet/bubbles v0.20.0
- github.com/charmbracelet/bubbletea v1.1.0
+ github.com/charmbracelet/bubbletea v1.1.1
github.com/charmbracelet/lipgloss v0.13.0
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562
github.com/dimchansky/utfbom v1.1.1
@@ -58,33 +58,33 @@ require (
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.0
github.com/projectcontour/contour v1.30.0
- github.com/prometheus/client_golang v1.20.4
+ github.com/prometheus/client_golang v1.20.5
github.com/spaolacci/murmur3 v1.1.0
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.19.0
- github.com/stern/stern v1.30.0
+ github.com/stern/stern v1.31.0
github.com/stretchr/testify v1.9.0
github.com/vippsas/go-cosmosdb v0.0.0-20230118095602-f4e4b9f1c352
github.com/wI2L/jsondiff v0.6.0
go.etcd.io/etcd/client/v3 v3.5.16
go.etcd.io/etcd/server/v3 v3.5.16
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0
- go.opentelemetry.io/contrib/instrumentation/runtime v0.55.0
- go.opentelemetry.io/otel v1.30.0
- go.opentelemetry.io/otel/exporters/prometheus v0.52.0
- go.opentelemetry.io/otel/exporters/zipkin v1.30.0
- go.opentelemetry.io/otel/metric v1.30.0
- go.opentelemetry.io/otel/sdk v1.30.0
- go.opentelemetry.io/otel/sdk/metric v1.30.0
- go.opentelemetry.io/otel/trace v1.30.0
+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0
+ go.opentelemetry.io/contrib/instrumentation/runtime v0.56.0
+ go.opentelemetry.io/otel v1.31.0
+ go.opentelemetry.io/otel/exporters/prometheus v0.53.0
+ go.opentelemetry.io/otel/exporters/zipkin v1.31.0
+ go.opentelemetry.io/otel/metric v1.31.0
+ go.opentelemetry.io/otel/sdk v1.31.0
+ go.opentelemetry.io/otel/sdk/metric v1.31.0
+ go.opentelemetry.io/otel/trace v1.31.0
go.uber.org/atomic v1.11.0
- go.uber.org/mock v0.4.0
+ go.uber.org/mock v0.5.0
go.uber.org/zap v1.27.0
golang.org/x/sync v0.8.0
golang.org/x/text v0.19.0
gopkg.in/yaml.v3 v3.0.1
- helm.sh/helm/v3 v3.16.1
+ helm.sh/helm/v3 v3.16.2
k8s.io/api v0.31.1
k8s.io/apiextensions-apiserver v0.31.1
k8s.io/apimachinery v0.31.1
@@ -93,7 +93,7 @@ require (
k8s.io/kubectl v0.31.1
oras.land/oras-go/v2 v2.5.0
sigs.k8s.io/controller-runtime v0.19.0
- sigs.k8s.io/secrets-store-csi-driver v1.4.5
+ sigs.k8s.io/secrets-store-csi-driver v1.4.6
)
require (
@@ -114,7 +114,7 @@ require (
github.com/charmbracelet/x/ansi v0.2.3 // indirect
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b // indirect
github.com/charmbracelet/x/term v0.2.0 // indirect
- github.com/containerd/errdefs v0.1.0 // indirect
+ github.com/containerd/errdefs v0.3.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/containerd/platforms v0.2.1 // indirect
github.com/distribution/reference v0.6.0 // indirect
@@ -175,13 +175,13 @@ require (
github.com/agext/levenshtein v1.2.3 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/atotto/clipboard v0.1.4 // indirect
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.15 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.19 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.19 // indirect
+ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/sso v1.24.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.0 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/aymanbagabas/go-udiff v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
@@ -189,7 +189,7 @@ require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/chai2010/gettext-go v1.0.3 // indirect
github.com/cloudflare/circl v1.3.9 // indirect
- github.com/containerd/containerd v1.7.22
+ github.com/containerd/containerd v1.7.23
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
@@ -220,7 +220,7 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang/protobuf v1.5.4 // indirect
- github.com/google/btree v1.1.2 // indirect
+ github.com/google/btree v1.1.3 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/gorilla/mux v1.8.1 // indirect
@@ -310,21 +310,21 @@ require (
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
- go.starlark.net v0.0.0-20240520160348-046347dcd104 // indirect
+ go.starlark.net v0.0.0-20240925182052-1207426daebd // indirect
go.uber.org/multierr v1.11.0 // indirect
- golang.org/x/crypto v0.27.0 // indirect
+ golang.org/x/crypto v0.28.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
golang.org/x/mod v0.21.0 // indirect
- golang.org/x/net v0.29.0 // indirect
+ golang.org/x/net v0.30.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sys v0.26.0 // indirect
- golang.org/x/term v0.24.0 // indirect
+ golang.org/x/term v0.25.0 // indirect
golang.org/x/time v0.7.0 // indirect
google.golang.org/genproto v0.0.0-20240624140628-dc46fd24d27d // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240624140628-dc46fd24d27d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
google.golang.org/grpc v1.65.0 // indirect
- google.golang.org/protobuf v1.34.2 // indirect
+ google.golang.org/protobuf v1.35.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
@@ -336,7 +336,7 @@ require (
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 // indirect
oras.land/oras-go v1.2.5 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
- sigs.k8s.io/kustomize/api v0.17.2 // indirect
+ sigs.k8s.io/kustomize/api v0.17.3 // indirect
sigs.k8s.io/kustomize/kyaml v0.17.2 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
diff --git a/go.sum b/go.sum
index 3965beef9b1..c399fa5eddd 100644
--- a/go.sum
+++ b/go.sum
@@ -195,10 +195,12 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 h1:JZg6HRh6W6U4OLl6lk7BZ7BLisIzM9dG1R50zUk9C/M=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0/go.mod h1:YL1xnZ6QejvQHWJrX/AvhFl4WW4rqHVoKspWNVwFk0M=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0 h1:+m0M/LFxN43KvULkDNfdXOgrjtg6UYJPFBJyuEcRCAw=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0/go.mod h1:PwOyop78lveYMRs6oCxjiVyBdyCgIYH6XHIVZO9/SFQ=
github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2 h1:wBx10efdJcl8FSewgc41kAW4AvHPgmJZmN7fpNxn8rc=
github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry v0.2.2/go.mod h1:zzmu18cpAinSbhC86oWd47nmgbb91Fl+Yac2PE8NdYk=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY=
@@ -225,8 +227,10 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0/go.mod h1:oDrbWx4ewMylP7xHivfgixbfGBT6APAwsSoHRKotnIc=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
-github.com/Azure/secrets-store-csi-driver-provider-azure v1.5.3 h1:6SefiwIRJGGPpXvVl3giD25bFAy6UE9hlr2eV6KLZ0Q=
-github.com/Azure/secrets-store-csi-driver-provider-azure v1.5.3/go.mod h1:pzCppgj8LpfhNtln9QdHuI0g5j0qJeh/ux/EQGTCLHg=
+github.com/Azure/secrets-store-csi-driver-provider-azure v1.6.0 h1:DqttF4idvkF8NYntJt4EMi2teV0pRIvHWuCWBrAVe7Q=
+github.com/Azure/secrets-store-csi-driver-provider-azure v1.6.0/go.mod h1:uAB6K5EIxrBbeIDKhVL/NuVETQ1f502aGtxPNBVdDB8=
+github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
+github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU=
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
@@ -280,38 +284,38 @@ github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn
github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo=
github.com/aws/aws-sdk-go v1.54.6 h1:HEYUib3yTt8E6vxjMWM3yAq5b+qjj/6aKA62mkgux9g=
github.com/aws/aws-sdk-go v1.54.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
-github.com/aws/aws-sdk-go-v2 v1.32.0 h1:GuHp7GvMN74PXD5C97KT5D87UhIy4bQPkflQKbfkndg=
-github.com/aws/aws-sdk-go-v2 v1.32.0/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
-github.com/aws/aws-sdk-go-v2/config v1.27.41 h1:esG3WpmEuNJ6F4kVFLumN8nCfA5VBav1KKb3JPx83O4=
-github.com/aws/aws-sdk-go-v2/config v1.27.41/go.mod h1:haUg09ebP+ClvPjU3EB/xe0HF9PguO19PD2fdjM2X14=
-github.com/aws/aws-sdk-go-v2/credentials v1.17.39 h1:tmVexAhoGqJxNE2oc4/SJqL+Jz1x1iCPt5ts9XcqZCU=
-github.com/aws/aws-sdk-go-v2/credentials v1.17.39/go.mod h1:zgOdbDI9epE608PdboJ87CYvPIejAgFevazeJW6iauQ=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.15 h1:kGjlNc2IXXcxPDcfMyCshNCjVgxUhC/vTJv7NvC9wKk=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.15/go.mod h1:rk/HmqPo+dX0Uv0Q1+4w3QKFdICEGSsTYz1hRWvH8UI=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.19 h1:Q/k5wCeJkSWs+62kDfOillkNIJ5NqmE3iOfm48g/W8c=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.19/go.mod h1:Wns1C66VvtA2Bv/cUBuKZKQKdjo7EVMhp90aAa+8oTI=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.19 h1:AYLE0lUfKvN6icFTR/p+NmD1amYKTbqHQ1Nm+jwE6BM=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.19/go.mod h1:1giLakj64GjuH1NBzF/DXqly5DWHtMTaOzRZ53nFX0I=
+github.com/aws/aws-sdk-go-v2 v1.32.2 h1:AkNLZEyYMLnx/Q/mSKkcMqwNFXMAvFto9bNsHqcTduI=
+github.com/aws/aws-sdk-go-v2 v1.32.2/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
+github.com/aws/aws-sdk-go-v2/config v1.28.0 h1:FosVYWcqEtWNxHn8gB/Vs6jOlNwSoyOCA/g/sxyySOQ=
+github.com/aws/aws-sdk-go-v2/config v1.28.0/go.mod h1:pYhbtvg1siOOg8h5an77rXle9tVG8T+BWLWAo7cOukc=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.41 h1:7gXo+Axmp+R4Z+AK8YFQO0ZV3L0gizGINCOWxSLY9W8=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.41/go.mod h1:u4Eb8d3394YLubphT4jLEwN1rLNq2wFOlT6OuxFwPzU=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 h1:TMH3f/SCAWdNtXXVPPu5D6wrr4G5hI1rAxbcocKfC7Q=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17/go.mod h1:1ZRXLdTpzdJb9fwTMXiLipENRxkGMTn1sfKexGllQCw=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 h1:UAsR3xA31QGf79WzpG/ixT9FZvQlh5HY1NRqSHBNOCk=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21/go.mod h1:JNr43NFf5L9YaG3eKTm7HQzls9J+A9YYcGI5Quh1r2Y=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 h1:6jZVETqmYCadGFvrYEQfC5fAQmlo80CeL5psbno6r0s=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21/go.mod h1:1SR0GbLlnN3QUmYaflZNiH1ql+1qrSiB2vwcJ+4UM60=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
-github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.0 h1:rCGiyhmMpkoeLSRwSSCFUzKDo3RnRpiKFTZybDI3qHk=
-github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.0/go.mod h1:yH8k8SCPtkutoc1JF8+1D0uVySB1Wc7AadvCQDUQJ6I=
-github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.0 h1:Pf3hi7g1jDoD31qetA/HuY94jga2pH4W5W3+5uVaxKY=
-github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.0/go.mod h1:WEfYjobS0jTq12V8UgB+wfHcq/tTV4mZXIc+a8OjL2A=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.181.0 h1:YzSOMQYRZQKuLz/bD6illIGwJfa1WFfeFAZM5Zr5LB8=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.181.0/go.mod h1:CudaKF0Yu5+ZfKMiiPdtJ/kOOBty7CIEJUhESP52e9M=
-github.com/aws/aws-sdk-go-v2/service/ecr v1.36.0 h1:OVg61nfvhkvneY2btZ50sdYHsvhJs46dqtuBiURZo2A=
-github.com/aws/aws-sdk-go-v2/service/ecr v1.36.0/go.mod h1:kdKXMMVpJd/N59EYI8aneYNsQNqCd99iSg2bEmQHaUI=
+github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2 h1:2UujTgol2vNJ2mz+tJ3+fs83V5y6pUUYOSx6hqNhRfY=
+github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2/go.mod h1:W+7y5K2ZrUkeyMoGaKpItSXrI9wlLy6hUnOGZ++lIj0=
+github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3 h1:b7i7TR+aETt1NDTDVOmrlz2dPArKJsqDzMB2WuxAfK8=
+github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3/go.mod h1:C5vVI6+Bu1ZRLiKeO+dQPKYTg5kxD8IdmixnN1W/srI=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0 h1:LgwYvo4kycfT/UD7vjQhSVZSatxHAI41/54q9O6jljI=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng=
+github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2 h1:VDQaVwGOokbd3VUbHF+wupiffdrbAZPdQnr5XZMJqrs=
+github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2/go.mod h1:lvUlMghKYmSxSfv0vU7pdU/8jSY+s0zpG8xXhaGKCw0=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.0 h1:AdbiDUgQZmM28rDIZbiSwFxz8+3B94aOXxzs6oH+EA0=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.0/go.mod h1:uV476Bd80tiDTX4X2redMtagQUg65aU/gzPojSJ4kSI=
-github.com/aws/aws-sdk-go-v2/service/sso v1.24.0 h1:71FvP6XFj53NK+YiAEGVzeiccLVeFnHOCvMig0zOHsE=
-github.com/aws/aws-sdk-go-v2/service/sso v1.24.0/go.mod h1:UVJqtKXSd9YppRKgdBIkyv7qgbSGv5DchM3yX0BN2mU=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.0 h1:Uco4o19bi3AmBapImNzuMk+rfzlui52BDyVK1UfJeRA=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.0/go.mod h1:+HLFhCpnG08hBee8bUdfd1mBK+rFKPt4O5igR9lXDfk=
-github.com/aws/aws-sdk-go-v2/service/sts v1.32.0 h1:GiQUjZM2KUZX68o/LpZ1xqxYMuvoxpRrOwYARYog3vc=
-github.com/aws/aws-sdk-go-v2/service/sts v1.32.0/go.mod h1:dKnu7M4MAS2SDlng1ytxd03H+y0LoUfEQ5E2VaaSw/4=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 h1:s7NA1SOw8q/5c0wr8477yOPp0z+uBaXBnLE0XYb0POA=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2/go.mod h1:fnjjWyAW/Pj5HYOxl9LJqWtEwS7W2qgcRLWP+uWbss0=
+github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 h1:bSYXVyUzoTHoKalBmwaZxs97HU9DWWI3ehHSAMa7xOk=
+github.com/aws/aws-sdk-go-v2/service/sso v1.24.2/go.mod h1:skMqY7JElusiOUjMJMOv1jJsP7YUg7DrhgqZZWuzu1U=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 h1:AhmO1fHINP9vFYUE0LHzCWg/LfUWUF+zFPEcY9QXb7o=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2/go.mod h1:o8aQygT2+MVP0NaV6kbdE1YnnIM8RRVQzoeUH45GOdI=
+github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ4CtM1Ll0XavNuVo=
+github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo=
github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM=
github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
@@ -346,8 +350,8 @@ github.com/chai2010/gettext-go v1.0.3 h1:9liNh8t+u26xl5ddmWLmsOsdNLwkdRTg5AG+JnT
github.com/chai2010/gettext-go v1.0.3/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA=
github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
-github.com/charmbracelet/bubbletea v1.1.0 h1:FjAl9eAL3HBCHenhz/ZPjkKdScmaS5SK69JAK2YJK9c=
-github.com/charmbracelet/bubbletea v1.1.0/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4=
+github.com/charmbracelet/bubbletea v1.1.1 h1:KJ2/DnmpfqFtDNVTvYZ6zpPFL9iRCRr0qqKOCvppbPY=
+github.com/charmbracelet/bubbletea v1.1.1/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4=
github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw=
github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY=
github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY=
@@ -379,12 +383,12 @@ github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSU
github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=
github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0=
github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE=
-github.com/containerd/containerd v1.7.22 h1:nZuNnNRA6T6jB975rx2RRNqqH2k6ELYKDZfqTHqwyy0=
-github.com/containerd/containerd v1.7.22/go.mod h1:e3Jz1rYRUZ2Lt51YrH9Rz0zPyJBOlSvB3ghr2jbVD8g=
+github.com/containerd/containerd v1.7.23 h1:H2CClyUkmpKAGlhQp95g2WXHfLYc7whAuvZGBNYOOwQ=
+github.com/containerd/containerd v1.7.23/go.mod h1:7QUzfURqZWCZV7RLNEn1XjUCQLEf0bkaK4GjUaZehxw=
github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM=
github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ=
-github.com/containerd/errdefs v0.1.0 h1:m0wCRBiu1WJT/Fr+iOoQHMQS/eP5myQ8lCv4Dz5ZURM=
-github.com/containerd/errdefs v0.1.0/go.mod h1:YgWiiHtLmSeBrvpw+UfPijzbLaB77mEG1WwJTDETIV0=
+github.com/containerd/errdefs v0.3.0 h1:FSZgGOeK4yuT/+DnF07/Olde/q4KBoMsaamhXxIMDp4=
+github.com/containerd/errdefs v0.3.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A=
@@ -403,6 +407,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54 h1:SG7nF6SRlWhcT7cNTs5R6Hk4V2lcmLz2NsG2VnInyNo=
github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
@@ -588,8 +594,8 @@ github.com/gomodule/redigo v1.8.2 h1:H5XSIre1MB5NbPYFp+i1NBbb5qN1W8Y8YAQoAYbkm8k
github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
-github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
+github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
+github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -754,6 +760,8 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
+github.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6 h1:IsMZxCuZqKuao2vNdfD82fjjgPLfyHLpR41Z88viRWs=
+github.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6/go.mod h1:3VeWNIJaW+O5xpRQbPp0Ybqu1vJd/pm7s2F473HRrkw=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
@@ -885,8 +893,8 @@ github.com/projectcontour/contour v1.30.0/go.mod h1:64BJdN6uIkGGt3jJ6b3OLLapysgf
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
-github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI=
-github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
+github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -901,6 +909,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
+github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4=
+github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
@@ -947,8 +957,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
-github.com/stern/stern v1.30.0 h1:4drczNgYqiVZlZ1rTMWgskokq2Owj+Wb1oYOrgM2TQI=
-github.com/stern/stern v1.30.0/go.mod h1:l4c94jBK8YEyroFNTCEwFimLK55bdRKPaeyAFWZPvNQ=
+github.com/stern/stern v1.31.0 h1:kKHVgEmIgqbC6/sFZahUeU9TbxDH+0l3l5/ornLlQLs=
+github.com/stern/stern v1.31.0/go.mod h1:BfAeaPQhkMhQPTaFV81pS8YWCBmxg6IBL8fPGalt0qY=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
@@ -1048,41 +1058,41 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI=
-go.opentelemetry.io/contrib/instrumentation/runtime v0.55.0 h1:GotCpbh7YkCHdFs+hYMdvAEyGsBZifFognqrOnBwyJM=
-go.opentelemetry.io/contrib/instrumentation/runtime v0.55.0/go.mod h1:6b0AS55EEPj7qP44khqF5dqTUq+RkakDMShFaW1EcA4=
-go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts=
-go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
+go.opentelemetry.io/contrib/instrumentation/runtime v0.56.0 h1:s7wHG+t8bEoH7ibWk1nk682h7EoWLJ5/8j+TSO3bX/o=
+go.opentelemetry.io/contrib/instrumentation/runtime v0.56.0/go.mod h1:Q8Hsv3d9DwryfIl+ebj4mY81IYVRSPy4QfxroVZwqLo=
+go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY=
+go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ=
-go.opentelemetry.io/otel/exporters/prometheus v0.52.0 h1:kmU3H0b9ufFSi8IQCcxack+sWUblKkFbqWYs6YiACGQ=
-go.opentelemetry.io/otel/exporters/prometheus v0.52.0/go.mod h1:+wsAp2+JhuGXX7YRkjlkx6hyWY3ogFPfNA4x3nyiAh0=
-go.opentelemetry.io/otel/exporters/zipkin v1.30.0 h1:1uYaSfxiCLdJATlGEtYjQe4jZYfqCjVwxeSTMXe8VF4=
-go.opentelemetry.io/otel/exporters/zipkin v1.30.0/go.mod h1:r/4BhMc3kiKxD61wGh9J3NVQ3/cZ45F2NHkQgVnql48=
-go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w=
-go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ=
-go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE=
-go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg=
-go.opentelemetry.io/otel/sdk/metric v1.30.0 h1:QJLT8Pe11jyHBHfSAgYH7kEmT24eX792jZO1bo4BXkM=
-go.opentelemetry.io/otel/sdk/metric v1.30.0/go.mod h1:waS6P3YqFNzeP01kuo/MBBYqaoBJl7efRQHOaydhy1Y=
-go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc=
-go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o=
+go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I=
+go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU=
+go.opentelemetry.io/otel/exporters/zipkin v1.31.0 h1:CgucL0tj3717DJnni7HVVB2wExzi8c2zJNEA2BhLMvI=
+go.opentelemetry.io/otel/exporters/zipkin v1.31.0/go.mod h1:rfzOVNiSwIcWtEC2J8epwG26fiaXlYvLySJ7bwsrtAE=
+go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE=
+go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY=
+go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk=
+go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0=
+go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc=
+go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8=
+go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys=
+go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
-go.starlark.net v0.0.0-20240520160348-046347dcd104 h1:3qhteRISupnJvaWshOmeqEUs2y9oc/+/ePPvDh3Eygg=
-go.starlark.net v0.0.0-20240520160348-046347dcd104/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8=
+go.starlark.net v0.0.0-20240925182052-1207426daebd h1:S+EMisJOHklQxnS3kqsY8jl2y5aF0FDEdcLnOw3q22E=
+go.starlark.net v0.0.0-20240925182052-1207426daebd/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
-go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
-go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
+go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU=
+go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
@@ -1097,8 +1107,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
-golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
+golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
+golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1191,8 +1201,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
-golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
-golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
+golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
+golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1315,8 +1325,8 @@ golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
-golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
+golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
+golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1621,8 +1631,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
-google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
+google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
+google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -1653,8 +1663,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g=
-helm.sh/helm/v3 v3.16.1 h1:cER6tI/8PgUAsaJaQCVBUg3VI9KN4oVaZJgY60RIc0c=
-helm.sh/helm/v3 v3.16.1/go.mod h1:r+xBHHP20qJeEqtvBXMf7W35QDJnzY/eiEBzt+TfHps=
+helm.sh/helm/v3 v3.16.2 h1:Y9v7ry+ubQmi+cb5zw1Llx8OKHU9Hk9NQ/+P+LGBe2o=
+helm.sh/helm/v3 v3.16.2/go.mod h1:SyTXgKBjNqi2NPsHCW5dDAsHqvGIu0kdNYNH9gQaw70=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
@@ -1695,12 +1705,12 @@ sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC
sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
-sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g=
-sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0=
+sigs.k8s.io/kustomize/api v0.17.3 h1:6GCuHSsxq7fN5yhF2XrC+AAr8gxQwhexgHflOAD/JJU=
+sigs.k8s.io/kustomize/api v0.17.3/go.mod h1:TuDH4mdx7jTfK61SQ/j1QZM/QWR+5rmEiNjvYlhzFhc=
sigs.k8s.io/kustomize/kyaml v0.17.2 h1:+AzvoJUY0kq4QAhH/ydPHHMRLijtUKiyVyh7fOSshr0=
sigs.k8s.io/kustomize/kyaml v0.17.2/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
-sigs.k8s.io/secrets-store-csi-driver v1.4.5 h1:ta4aiNbl2EAWKrn3hFnN4Nll8mC6cgBP9+O4XdzorHM=
-sigs.k8s.io/secrets-store-csi-driver v1.4.5/go.mod h1:0/wMVOv8qLx7YNVMGU+Sh7S4D6TH6GhyEpouo28OTUU=
+sigs.k8s.io/secrets-store-csi-driver v1.4.6 h1:1OBP3cf6juFc87rluIXBB3U4JoVKuE7kHZmlE8ZRiQA=
+sigs.k8s.io/secrets-store-csi-driver v1.4.6/go.mod h1:0/wMVOv8qLx7YNVMGU+Sh7S4D6TH6GhyEpouo28OTUU=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
diff --git a/hack/bicep-types-radius/src/generator/package-lock.json b/hack/bicep-types-radius/src/generator/package-lock.json
index f0249247586..b7691945071 100644
--- a/hack/bicep-types-radius/src/generator/package-lock.json
+++ b/hack/bicep-types-radius/src/generator/package-lock.json
@@ -1685,7 +1685,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
+ "extraneous": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -1696,7 +1696,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
+ "extraneous": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
From ad4610c1047394fc1342fc1b4fcdc54bb7485708 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 21 Oct 2024 16:06:19 -0700
Subject: [PATCH 17/27] Bump bicep-types from `96b34cb` to `bd917de` (#7991)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [bicep-types](https://github.com/Azure/bicep-types) from `96b34cb`
to `bd917de`.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
bicep-types | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bicep-types b/bicep-types
index 96b34cbb749..bd917deeddd 160000
--- a/bicep-types
+++ b/bicep-types
@@ -1 +1 @@
-Subproject commit 96b34cbb749f791c2b5b72f83d448568942aeb27
+Subproject commit bd917deeddd3181dc2da0feb5842bbfdcdbed1d9
From 0506657543af4a0a38ee78e72f18f18ff2e35790 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 21 Oct 2024 16:55:40 -0700
Subject: [PATCH 18/27] Bump github.com/aws/aws-sdk-go-v2/service/ec2 from
1.183.0 to 1.184.0 in the all group (#8007)
Bumps the all group with 1 update:
[github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2).
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.183.0 to
1.184.0
Commits
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/aws/aws-sdk-go-v2/service/ec2&package-manager=go_modules&previous-version=1.183.0&new-version=1.184.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index c44b011e00e..355ba869f21 100644
--- a/go.mod
+++ b/go.mod
@@ -20,7 +20,7 @@ require (
github.com/aws/aws-sdk-go-v2/credentials v1.17.41
github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0
+ github.com/aws/aws-sdk-go-v2/service/ec2 v1.184.0
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2
github.com/aws/aws-sdk-go-v2/service/sts v1.32.2
github.com/aws/smithy-go v1.22.0
diff --git a/go.sum b/go.sum
index c399fa5eddd..8ed53a0d806 100644
--- a/go.sum
+++ b/go.sum
@@ -302,8 +302,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2 h1:2UujTgol2vNJ2mz+tJ3
github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2/go.mod h1:W+7y5K2ZrUkeyMoGaKpItSXrI9wlLy6hUnOGZ++lIj0=
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3 h1:b7i7TR+aETt1NDTDVOmrlz2dPArKJsqDzMB2WuxAfK8=
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3/go.mod h1:C5vVI6+Bu1ZRLiKeO+dQPKYTg5kxD8IdmixnN1W/srI=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0 h1:LgwYvo4kycfT/UD7vjQhSVZSatxHAI41/54q9O6jljI=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.183.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.184.0 h1:SZnuDlml1uFv5ojh+QTxS+Yru89Hr3QYIUwWoY71frI=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.184.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng=
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2 h1:VDQaVwGOokbd3VUbHF+wupiffdrbAZPdQnr5XZMJqrs=
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2/go.mod h1:lvUlMghKYmSxSfv0vU7pdU/8jSY+s0zpG8xXhaGKCw0=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
From 719cb51a0cb09c1d55f37e3030769031cf48bffc Mon Sep 17 00:00:00 2001
From: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Date: Mon, 21 Oct 2024 22:25:18 -0400
Subject: [PATCH 19/27] Functional test with cloud workflow logging update
(#8008)
# Description
This PR updates the logging statements for the functional tests with
cloud resources. The removed logging statement triggers a security
warning, and the information being logged is similar to what is logged
in the next line of the workflow.
## Type of change
- This pull request fixes a bug in Radius and has an approved issue
(issue link required).
Fixes:
https://github.com/radius-project/radius/security/code-scanning/492
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
---
.github/workflows/functional-test-cloud.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/.github/workflows/functional-test-cloud.yaml b/.github/workflows/functional-test-cloud.yaml
index 6ce1cf83f3a..43f041d1c56 100644
--- a/.github/workflows/functional-test-cloud.yaml
+++ b/.github/workflows/functional-test-cloud.yaml
@@ -122,7 +122,6 @@ jobs:
# https://github.com/radius-project/radius/issues/7782
if [[ "${{ github.event_name }}" == "workflow_run" ]]; then
echo "Triggered by workflow_run."
- echo "Head Ref: ${{ github.head_ref }}"
echo "Ref: ${{ github.ref }}"
echo "Head Branch Name: ${{ github.event.workflow_run.head_branch }}"
echo "SHA Value: ${{ github.event.workflow_run.head_sha }}"
From 851c1d54d635a854458fb41163c09219c9e32266 Mon Sep 17 00:00:00 2001
From: Yetkin Timocin
Date: Tue, 22 Oct 2024 12:15:14 -0700
Subject: [PATCH 20/27] Updating the directory for the devcontainer in
dependabot.yml (#8009)
# Description
Updating the directory for the devcontainer in dependabot.yml.
![image](https://github.com/user-attachments/assets/4d67187c-11ea-4435-b056-778299eb4bea)
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: ytimocin
---
.github/dependabot.yml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 39fa4e6600b..a24ee0ed6c0 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -7,7 +7,7 @@ updates:
groups:
all:
patterns:
- - "*"
+ - "*"
- package-ecosystem: "gomod"
directory: "/"
schedule:
@@ -15,15 +15,15 @@ updates:
groups:
all:
patterns:
- - "*"
+ - "*"
- package-ecosystem: "devcontainers"
- directory: "/.devcontainer"
+ directory: "/.devcontainer/contributor"
schedule:
interval: weekly
groups:
all:
patterns:
- - "*"
+ - "*"
- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
From 571bc45758701bcfedd256827af4a669fad412d3 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 22 Oct 2024 13:15:19 -0700
Subject: [PATCH 21/27] Bump github.com/fatih/color from 1.17.0 to 1.18.0 in
the all group (#8011)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the all group with 1 update:
[github.com/fatih/color](https://github.com/fatih/color).
Updates `github.com/fatih/color` from 1.17.0 to 1.18.0
Release notes
Sourced from github.com/fatih/color's
releases.
v1.18.0
What's Changed
New Contributors
Full Changelog: https://github.com/fatih/color/compare/v1.17.0...v1.18.0
Commits
1c8d870
Update README.md
546c2d0
Merge pull request #225 from
fatih/add-rgb-api
1ff0f97
Apply suggestions from code review
5723903
Add RGB API support
f203fbc
Merge pull request #237 from
fatih/dependabot/go_modules/golang.org/x/sys-0.25.0
60aa7fb
Bump golang.org/x/sys from 0.24.0 to 0.25.0
741c2f4
Merge pull request #236 from
fatih/dependabot/go_modules/golang.org/x/sys-0.24.0
0d24b42
Bump golang.org/x/sys from 0.18.0 to 0.24.0
cb154c0
Merge pull request #235 from
deining/fix-typo
9b9653e
Bump GitHub workflow actions
- See full diff in compare
view
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/fatih/color&package-manager=go_modules&previous-version=1.17.0&new-version=1.18.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 355ba869f21..e66c61f87d6 100644
--- a/go.mod
+++ b/go.mod
@@ -29,7 +29,7 @@ require (
github.com/charmbracelet/lipgloss v0.13.0
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562
github.com/dimchansky/utfbom v1.1.1
- github.com/fatih/color v1.17.0
+ github.com/fatih/color v1.18.0
github.com/go-chi/chi/v5 v5.1.0
github.com/go-git/go-git/v5 v5.12.0
github.com/go-logr/logr v1.4.2
diff --git a/go.sum b/go.sum
index 8ed53a0d806..6cc9dab0cd8 100644
--- a/go.sum
+++ b/go.sum
@@ -460,8 +460,8 @@ github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4=
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
-github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
+github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
+github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI=
From ab674873b3ebd3d490458cd450a9057cab3a9ad0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 22 Oct 2024 13:52:05 -0700
Subject: [PATCH 22/27] Bump bicep-types from `bd917de` to `0fdd291` (#8010)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [bicep-types](https://github.com/Azure/bicep-types) from `bd917de`
to `0fdd291`.
Commits
0fdd291
Bump @types/node
from 22.7.5 to 22.7.7 in /src/bicep-types
(#537)
1df2ac0
Bump nerdbank-gitversioning from 3.6.143 to 3.6.146 in /src/bicep-types
(#535)
c4b39e6
Bump Nerdbank.GitVersioning from 3.6.143 to 3.6.146 (#534)
- See full diff in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
bicep-types | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bicep-types b/bicep-types
index bd917deeddd..0fdd29165ba 160000
--- a/bicep-types
+++ b/bicep-types
@@ -1 +1 @@
-Subproject commit bd917deeddd3181dc2da0feb5842bbfdcdbed1d9
+Subproject commit 0fdd29165ba5a9628ea46fcea8a78ea4774b3903
From dd86d60c700fbd6069046994e6fd26ebdb68ba5b Mon Sep 17 00:00:00 2001
From: Shruthi Kumar
Date: Wed, 23 Oct 2024 10:34:40 -0700
Subject: [PATCH 23/27] Cleanup bicepconfig (#8012)
# Description
Some experimental features in the bicepconfig were consolidated in the
Bicep repo: https://github.com/Azure/bicep/pull/14944. This PR removes
the unnecessary features.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: #issue_number
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [x] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR. PR:
https://github.com/radius-project/samples/pull/1879
- [x] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made. PR: https://github.com/radius-project/docs/pull/1265
- [x] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR. PR:
https://github.com/radius-project/recipes/pull/80
Signed-off-by: sk593
---
.github/workflows/functional-test-cloud.yaml | 8 ++------
.github/workflows/functional-test-noncloud.yaml | 4 +---
bicepconfig.json | 4 +---
.../contributing-code-schema-changes/README.md | 4 +---
pkg/cli/setup/application.go | 4 +---
5 files changed, 6 insertions(+), 18 deletions(-)
diff --git a/.github/workflows/functional-test-cloud.yaml b/.github/workflows/functional-test-cloud.yaml
index 43f041d1c56..6b1f5d5364e 100644
--- a/.github/workflows/functional-test-cloud.yaml
+++ b/.github/workflows/functional-test-cloud.yaml
@@ -392,9 +392,7 @@ jobs:
cat < ./test/bicepconfig.json
{
"experimentalFeaturesEnabled": {
- "extensibility": true,
- "extensionRegistry": true,
- "dynamicTypeLoading": true
+ "extensibility": true
},
"extensions": {
"radius": "br:${{ env.BICEP_TYPES_REGISTRY }}/test/radius:$RADIUS_VERSION",
@@ -696,9 +694,7 @@ jobs:
cat < ./test/bicepconfig.json
{
"experimentalFeaturesEnabled": {
- "extensibility": true,
- "extensionRegistry": true,
- "dynamicTypeLoading": true
+ "extensibility": true
},
"extensions": {
"radius": "br:${{ env.BICEP_TYPES_REGISTRY }}/test/radius:$RADIUS_VERSION",
diff --git a/.github/workflows/functional-test-noncloud.yaml b/.github/workflows/functional-test-noncloud.yaml
index 06d482ca491..f16f6f7b1e6 100644
--- a/.github/workflows/functional-test-noncloud.yaml
+++ b/.github/workflows/functional-test-noncloud.yaml
@@ -338,9 +338,7 @@ jobs:
cat < ./test/bicepconfig.json
{
"experimentalFeaturesEnabled": {
- "extensibility": true,
- "extensionRegistry": true,
- "dynamicTypeLoading": true
+ "extensibility": true
},
"extensions": {
"radius": "br:${{ env.LOCAL_REGISTRY_SERVER }}:${{ env.LOCAL_REGISTRY_PORT }}/radius:$RADIUS_VERSION",
diff --git a/bicepconfig.json b/bicepconfig.json
index 65aa584422a..02917501c97 100644
--- a/bicepconfig.json
+++ b/bicepconfig.json
@@ -1,8 +1,6 @@
{
"experimentalFeaturesEnabled": {
- "extensibility": true,
- "extensionRegistry": true,
- "dynamicTypeLoading": true
+ "extensibility": true
},
"extensions": {
"radius": "br:biceptypes.azurecr.io/radius:latest",
diff --git a/docs/contributing/contributing-code/contributing-code-schema-changes/README.md b/docs/contributing/contributing-code/contributing-code-schema-changes/README.md
index be192f2146a..a94f75f5c09 100644
--- a/docs/contributing/contributing-code/contributing-code-schema-changes/README.md
+++ b/docs/contributing/contributing-code/contributing-code-schema-changes/README.md
@@ -85,9 +85,7 @@ Note: Alternatively, if you already have the Radius CLI installed, you can choos
```json
{
"experimentalFeaturesEnabled": {
- "extensibility": true,
- "extensionRegistry": true,
- "dynamicTypeLoading": true
+ "extensibility": true
},
"extensions": {
"radius": "",
diff --git a/pkg/cli/setup/application.go b/pkg/cli/setup/application.go
index 00ab1024833..6ab307bcde8 100644
--- a/pkg/cli/setup/application.go
+++ b/pkg/cli/setup/application.go
@@ -52,9 +52,7 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = {
bicepConfigTemplate = `{
"experimentalFeaturesEnabled": {
- "extensibility": true,
- "extensionRegistry": true,
- "dynamicTypeLoading": true
+ "extensibility": true
},
"extensions": {
"radius": "br:biceptypes.azurecr.io/radius:%s",
From d6fc9302a59671050d37a4ca6d51c008d8bab8dc Mon Sep 17 00:00:00 2001
From: Lakshmi Javadekar <103459615+lakshmimsft@users.noreply.github.com>
Date: Sat, 26 Oct 2024 18:48:46 -0700
Subject: [PATCH 24/27] Update document for troubleshooting error (#8015)
# Description
Update document for running control plane locally with troubleshooting
steps for error encountered.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of
Radius.
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
---
.../running-controlplane-locally.md | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/docs/contributing/contributing-code/contributing-code-control-plane/running-controlplane-locally.md b/docs/contributing/contributing-code/contributing-code-control-plane/running-controlplane-locally.md
index e8b96354b33..6e26d515110 100644
--- a/docs/contributing/contributing-code/contributing-code-control-plane/running-controlplane-locally.md
+++ b/docs/contributing/contributing-code/contributing-code-control-plane/running-controlplane-locally.md
@@ -164,3 +164,28 @@ dotnet --list-sdks
Make sure you see a `6.0` entry in `--list-runtimes` for `Microsoft.AspNetCore.App` and a `6.0` or newer entry for `--list-sdks`.
If you run into issues here, please re-read the prerequisites related to installing .NET.
+
+### I got a "InvalidTemplate" error when deploying a bicep file
+
+> sample error message:
+```json
+{
+ "code": "InvalidTemplate",
+ "message": "Deployment template validation failed: 'The template language version '2.1-experimental' is not recognized.'.",
+}
+```
+
+Pull latest of the `radius-project/deployment-engine` project.
+Run submodule update to update bicep extensibility support for extensible resources:
+
+```bash
+git submodule update --init --recursive
+```
+
+Build deployment-engine project
+
+```bash
+dotnet build
+```
+
+After building the Deployment Engine, build the radius project and redeploy bicep file by running steps from [Debugging](#debugging).
\ No newline at end of file
From 6842289269e9932156548018b5fdae54c390021b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 28 Oct 2024 13:09:10 -0700
Subject: [PATCH 25/27] Bump the all group with 10 updates (#8018)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps the all group with 10 updates:
| Package | From | To |
| --- | --- | --- |
|
[github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2)
| `1.184.0` | `1.186.0` |
|
[github.com/charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea)
| `1.1.1` | `1.1.2` |
|
[github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss)
| `0.13.0` | `0.13.1` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.31.1` | `0.31.2`
|
|
[k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver)
| `0.31.1` | `0.31.2` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) |
`0.31.1` | `0.31.2` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) |
`0.31.1` | `0.31.2` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.31.1`
| `0.31.2` |
| [k8s.io/kubectl](https://github.com/kubernetes/kubectl) | `0.31.1` |
`0.31.2` |
|
[sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime)
| `0.19.0` | `0.19.1` |
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.184.0 to
1.186.0
Commits
Updates `github.com/charmbracelet/bubbletea` from 1.1.1 to 1.1.2
Release notes
Sourced from github.com/charmbracelet/bubbletea's
releases.
v1.1.2
A tiny tiny release that fixes the tests on Windows, and uses the
latest ansi
package definitions.
Changelog
New Features
- 12b04c5d6001056875bc712f81fa1efd470fa592: feat(ci): use meta lint
workflow (
@aymanbagabas
)
- 3209d62ae751da63a38237666d6706ab7c9f0006: feat(ci): use meta
lint-sync workflow to sync linter config (
@aymanbagabas
)
Bug fixes
- 566879aa33ce13f27a6bdab4a274e08be01bac9c: fix(ci): run lint workflow
on all platforms (
@aymanbagabas
)
- cd1e4d34a7e0232ea94afcc168eec107450aa332: fix: exec tests on windows
(
@aymanbagabas
)
Documentation updates
- d928d8dcabcd4bca0efc22fb661de0cc27c66b21: docs: update contributing
guidelines (#1186)
(
@bashbunni
)
- de4788dc763d5a6ce7ca555c5ee6fce3179dedc4: docs: update readme badge
images (
@aymanbagabas
)
Thoughts? Questions? We love hearing from you. Feel free to reach out
on Twitter, The Fediverse, or on Discord.
Commits
c07fa72
chore(ci): sync golangci-lint config
3209d62
feat(ci): use meta lint-sync workflow to sync linter config
fc066c0
chore(examples): go mod tidy
2b4accc
chore(deps): bump ansi from 0.3.2 to 0.4.0
1c01f2b
chore(lint): remove lint-soft; use meta
12b04c5
feat(ci): use meta lint workflow
566879a
fix(ci): run lint workflow on all platforms
cd1e4d3
fix: exec tests on windows
d928d8d
docs: update contributing guidelines (#1186)
f945f2e
chore(examples): go mod tidy
- Additional commits viewable in compare
view
Updates `github.com/charmbracelet/lipgloss` from 0.13.0 to 0.13.1
Release notes
Sourced from github.com/charmbracelet/lipgloss's
releases.
v0.13.1
Table improvements, on stream
@bashbunni
went to town in this release and fixed a bunch of bugs, mostly around
table. Best of all, she did most of it on stream.
Changelog
Table
Other Stuff
Bonus
New Contributors
Full Changelog: https://github.com/charmbracelet/lipgloss/compare/v0.13.0...v0.13.1
Thoughts? Questions? We love hearing from you. Feel free to reach out
on Twitter, The Fediverse, or on Discord.
Commits
284c0c5
docs(list): fix list examples in godoc (#404)
d858132
fix(table): include margins in cell width (#401)
80b4221
chore(lint): update linter (#405)
fa2f4b0
docs(readme): update example screenshot with blend
68ca848
docs: update contributing guidelines (#396)
24258b8
fix(examples): draw nested structure in file tree example
a5618cb
fix(table): do not shrink table with offset (#373)
9b809dc
fix(examples): fix out of range error (#395)
199d3c8
fix(render): strip carriage returns from strings (#386)
07d1841
docs(example): rainbow string (#96)
- Additional commits viewable in compare
view
Updates `k8s.io/api` from 0.31.1 to 0.31.2
Commits
Updates `k8s.io/apiextensions-apiserver` from 0.31.1 to 0.31.2
Commits
Updates `k8s.io/apimachinery` from 0.31.1 to 0.31.2
Commits
Updates `k8s.io/cli-runtime` from 0.31.1 to 0.31.2
Commits
Updates `k8s.io/client-go` from 0.31.1 to 0.31.2
Commits
Updates `k8s.io/kubectl` from 0.31.1 to 0.31.2
Commits
Updates `sigs.k8s.io/controller-runtime` from 0.19.0 to 0.19.1
Release notes
Sourced from sigs.k8s.io/controller-runtime's
releases.
v0.19.1
What's Changed
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.0...v0.19.1
Commits
013f46f
Merge pull request #2992
from k8s-infra-cherrypick-robot/cherry-pick-2980-to-...
4421425
bug: Fakeclient: Fix TOCTOU races
aa14005
Merge pull request #2974
from k8s-infra-cherrypick-robot/cherry-pick-2973-to-...
f883b25
Fix PR verify action
409ae31
Merge pull request #2965
from k8s-infra-cherrypick-robot/cherry-pick-2964-to-...
465b62a
pr-verify: use env var for passing the PR title
d32b491
Merge pull request #2962
from k8s-infra-cherrypick-robot/cherry-pick-2961-to-...
b400366
pr-verify: use env var for passing the PR title
22d9eab
Merge pull request #2951
from k8s-infra-cherrypick-robot/cherry-pick-2949-to-...
f0e55af
Preserve TypeMeta for PartialObjectMeta resources
- Additional commits viewable in compare
view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore ` will
remove the ignore condition of the specified dependency and ignore
conditions
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 26 +++++++++++++-------------
go.sum | 52 ++++++++++++++++++++++++++--------------------------
2 files changed, 39 insertions(+), 39 deletions(-)
diff --git a/go.mod b/go.mod
index e66c61f87d6..fe734a9acb3 100644
--- a/go.mod
+++ b/go.mod
@@ -20,13 +20,13 @@ require (
github.com/aws/aws-sdk-go-v2/credentials v1.17.41
github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.184.0
+ github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2
github.com/aws/aws-sdk-go-v2/service/sts v1.32.2
github.com/aws/smithy-go v1.22.0
github.com/charmbracelet/bubbles v0.20.0
- github.com/charmbracelet/bubbletea v1.1.1
- github.com/charmbracelet/lipgloss v0.13.0
+ github.com/charmbracelet/bubbletea v1.1.2
+ github.com/charmbracelet/lipgloss v0.13.1
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562
github.com/dimchansky/utfbom v1.1.1
github.com/fatih/color v1.18.0
@@ -85,14 +85,14 @@ require (
golang.org/x/text v0.19.0
gopkg.in/yaml.v3 v3.0.1
helm.sh/helm/v3 v3.16.2
- k8s.io/api v0.31.1
- k8s.io/apiextensions-apiserver v0.31.1
- k8s.io/apimachinery v0.31.1
- k8s.io/cli-runtime v0.31.1
- k8s.io/client-go v0.31.1
- k8s.io/kubectl v0.31.1
+ k8s.io/api v0.31.2
+ k8s.io/apiextensions-apiserver v0.31.2
+ k8s.io/apimachinery v0.31.2
+ k8s.io/cli-runtime v0.31.2
+ k8s.io/client-go v0.31.2
+ k8s.io/kubectl v0.31.2
oras.land/oras-go/v2 v2.5.0
- sigs.k8s.io/controller-runtime v0.19.0
+ sigs.k8s.io/controller-runtime v0.19.1
sigs.k8s.io/secrets-store-csi-driver v1.4.6
)
@@ -111,7 +111,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
- github.com/charmbracelet/x/ansi v0.2.3 // indirect
+ github.com/charmbracelet/x/ansi v0.4.0 // indirect
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b // indirect
github.com/charmbracelet/x/term v0.2.0 // indirect
github.com/containerd/errdefs v0.3.0 // indirect
@@ -329,8 +329,8 @@ require (
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
- k8s.io/apiserver v0.31.1 // indirect
- k8s.io/component-base v0.31.1 // indirect
+ k8s.io/apiserver v0.31.2 // indirect
+ k8s.io/component-base v0.31.2 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 // indirect
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 // indirect
diff --git a/go.sum b/go.sum
index 6cc9dab0cd8..074860a55bb 100644
--- a/go.sum
+++ b/go.sum
@@ -302,8 +302,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2 h1:2UujTgol2vNJ2mz+tJ3
github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.22.2/go.mod h1:W+7y5K2ZrUkeyMoGaKpItSXrI9wlLy6hUnOGZ++lIj0=
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3 h1:b7i7TR+aETt1NDTDVOmrlz2dPArKJsqDzMB2WuxAfK8=
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.55.3/go.mod h1:C5vVI6+Bu1ZRLiKeO+dQPKYTg5kxD8IdmixnN1W/srI=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.184.0 h1:SZnuDlml1uFv5ojh+QTxS+Yru89Hr3QYIUwWoY71frI=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.184.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0 h1:n2l2WeV+lEABrGwG/4MsE0WFEbd3j7yKsmZzbnEm5CY=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.186.0/go.mod h1:kYXaB4FzyhEJjvrJ84oPnMElLiEAjGxxUunVW2tBSng=
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2 h1:VDQaVwGOokbd3VUbHF+wupiffdrbAZPdQnr5XZMJqrs=
github.com/aws/aws-sdk-go-v2/service/ecr v1.36.2/go.mod h1:lvUlMghKYmSxSfv0vU7pdU/8jSY+s0zpG8xXhaGKCw0=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
@@ -350,12 +350,12 @@ github.com/chai2010/gettext-go v1.0.3 h1:9liNh8t+u26xl5ddmWLmsOsdNLwkdRTg5AG+JnT
github.com/chai2010/gettext-go v1.0.3/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA=
github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
-github.com/charmbracelet/bubbletea v1.1.1 h1:KJ2/DnmpfqFtDNVTvYZ6zpPFL9iRCRr0qqKOCvppbPY=
-github.com/charmbracelet/bubbletea v1.1.1/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4=
-github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw=
-github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY=
-github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY=
-github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
+github.com/charmbracelet/bubbletea v1.1.2 h1:naQXF2laRxyLyil/i7fxdpiz1/k06IKquhm4vBfHsIc=
+github.com/charmbracelet/bubbletea v1.1.2/go.mod h1:9HIU/hBV24qKjlehyj8z1r/tR9TYTQEag+cWZnuXo8E=
+github.com/charmbracelet/lipgloss v0.13.1 h1:Oik/oqDTMVA01GetT4JdEC033dNzWoQHdWnHnQmXE2A=
+github.com/charmbracelet/lipgloss v0.13.1/go.mod h1:zaYVJ2xKSKEnTEEbX6uAHabh2d975RJ+0yfkFpRBz5U=
+github.com/charmbracelet/x/ansi v0.4.0 h1:NqwHA4B23VwsDn4H3VcNX1W1tOmgnvY1NDx5tOXdnOU=
+github.com/charmbracelet/x/ansi v0.4.0/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b h1:MnAMdlwSltxJyULnrYbkZpp4k58Co7Tah3ciKhSNo0Q=
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562 h1:8ePTYvWHJvthAosOpbQ6LO3Oxn/eWl8QZ9s5OTF1jdU=
@@ -1672,26 +1672,26 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
-k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
-k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
-k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
-k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
-k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
-k8s.io/apiserver v0.31.1 h1:Sars5ejQDCRBY5f7R3QFHdqN3s61nhkpaX8/k1iEw1c=
-k8s.io/apiserver v0.31.1/go.mod h1:lzDhpeToamVZJmmFlaLwdYZwd7zB+WYRYIboqA1kGxM=
-k8s.io/cli-runtime v0.31.1 h1:/ZmKhmZ6hNqDM+yf9s3Y4KEYakNXUn5sod2LWGGwCuk=
-k8s.io/cli-runtime v0.31.1/go.mod h1:pKv1cDIaq7ehWGuXQ+A//1OIF+7DI+xudXtExMCbe9U=
-k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
-k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
-k8s.io/component-base v0.31.1 h1:UpOepcrX3rQ3ab5NB6g5iP0tvsgJWzxTyAo20sgYSy8=
-k8s.io/component-base v0.31.1/go.mod h1:WGeaw7t/kTsqpVTaCoVEtillbqAhF2/JgvO0LDOMa0w=
+k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0=
+k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk=
+k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnywBLxd0=
+k8s.io/apiextensions-apiserver v0.31.2/go.mod h1:i+Geh+nGCJEGiCGR3MlBDkS7koHIIKWVfWeRFiOsUcM=
+k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw=
+k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
+k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4=
+k8s.io/apiserver v0.31.2/go.mod h1:o3nKZR7lPlJqkU5I3Ove+Zx3JuoFjQobGX1Gctw6XuE=
+k8s.io/cli-runtime v0.31.2 h1:7FQt4C4Xnqx8V1GJqymInK0FFsoC+fAZtbLqgXYVOLQ=
+k8s.io/cli-runtime v0.31.2/go.mod h1:XROyicf+G7rQ6FQJMbeDV9jqxzkWXTYD6Uxd15noe0Q=
+k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc=
+k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs=
+k8s.io/component-base v0.31.2 h1:Z1J1LIaC0AV+nzcPRFqfK09af6bZ4D1nAOpWsy9owlA=
+k8s.io/component-base v0.31.2/go.mod h1:9PeyyFN/drHjtJZMCTkSpQJS3U9OXORnHQqMLDz0sUQ=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 h1:1dWzkmJrrprYvjGwh9kEUxmcUV/CtNU8QM7h1FLWQOo=
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38/go.mod h1:coRQXBK9NxO98XUv3ZD6AK3xzHCxV6+b7lrquKwaKzA=
-k8s.io/kubectl v0.31.1 h1:ih4JQJHxsEggFqDJEHSOdJ69ZxZftgeZvYo7M/cpp24=
-k8s.io/kubectl v0.31.1/go.mod h1:aNuQoR43W6MLAtXQ/Bu4GDmoHlbhHKuyD49lmTC8eJM=
+k8s.io/kubectl v0.31.2 h1:gTxbvRkMBwvTSAlobiTVqsH6S8Aa1aGyBcu5xYLsn8M=
+k8s.io/kubectl v0.31.2/go.mod h1:EyASYVU6PY+032RrTh5ahtSOMgoDRIux9V1JLKtG5xM=
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 h1:MDF6h2H/h4tbzmtIKTuctcwZmY0tY9mD9fNT47QO6HI=
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo=
@@ -1701,8 +1701,8 @@ oras.land/oras-go/v2 v2.5.0/go.mod h1:z4eisnLP530vwIOUOJeBIj0aGI0L1C3d53atvCBqZH
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q=
-sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
+sigs.k8s.io/controller-runtime v0.19.1 h1:Son+Q40+Be3QWb+niBXAg2vFiYWolDjjRfO8hn/cxOk=
+sigs.k8s.io/controller-runtime v0.19.1/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/kustomize/api v0.17.3 h1:6GCuHSsxq7fN5yhF2XrC+AAr8gxQwhexgHflOAD/JJU=
From 95409fe179d7adca884a3fc1d82f326bc81c8da0 Mon Sep 17 00:00:00 2001
From: Vishwanath Hiremath <100623239+vishwahiremat@users.noreply.github.com>
Date: Wed, 30 Oct 2024 13:01:45 -0700
Subject: [PATCH 26/27] Setting cli prompt width to the user's terminal width
(#8016)
# Description
- Getting the terminal size when the prompt model is created and setting
the width to be terminal width.
## Type of change
- This pull request fixes a bug in Radius and has an approved issue
(issue link required).
- This pull request adds or changes features of Radius and has an
approved issue (issue link required).
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
Fixes: https://github.com/radius-project/radius/issues/5467
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
---------
Signed-off-by: Vishwanath Hiremath
---
go.mod | 2 +-
pkg/cli/cmd/radinit/display.go | 13 ++++++++++---
pkg/cli/prompt/list/list.go | 7 +++++--
pkg/cli/prompt/text/text.go | 7 +++++--
4 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/go.mod b/go.mod
index fe734a9acb3..23bf88074ee 100644
--- a/go.mod
+++ b/go.mod
@@ -27,6 +27,7 @@ require (
github.com/charmbracelet/bubbles v0.20.0
github.com/charmbracelet/bubbletea v1.1.2
github.com/charmbracelet/lipgloss v0.13.1
+ github.com/charmbracelet/x/ansi v0.4.0
github.com/charmbracelet/x/exp/teatest v0.0.0-20240408110044-525ba71bb562
github.com/dimchansky/utfbom v1.1.1
github.com/fatih/color v1.18.0
@@ -111,7 +112,6 @@ require (
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
- github.com/charmbracelet/x/ansi v0.4.0 // indirect
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b // indirect
github.com/charmbracelet/x/term v0.2.0 // indirect
github.com/containerd/errdefs v0.3.0 // indirect
diff --git a/pkg/cli/cmd/radinit/display.go b/pkg/cli/cmd/radinit/display.go
index 5237117b786..9bfcc88eeb1 100644
--- a/pkg/cli/cmd/radinit/display.go
+++ b/pkg/cli/cmd/radinit/display.go
@@ -26,6 +26,7 @@ import (
"github.com/charmbracelet/bubbles/spinner"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/charmbracelet/x/ansi"
"github.com/radius-project/radius/pkg/cli/aws"
"github.com/radius-project/radius/pkg/cli/azure"
"github.com/radius-project/radius/pkg/cli/prompt"
@@ -134,6 +135,7 @@ type summaryModel struct {
style lipgloss.Style
result summaryResult
options initOptions
+ width int
}
// NewSummaryModel creates a new model for the options summary shown during 'rad init'.
@@ -163,6 +165,8 @@ func (m *summaryModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
// This function handles messages and state transitions. We don't need to update
// any UI here, just return the next model and command.
switch msg := msg.(type) {
+ case tea.WindowSizeMsg:
+ m.width = msg.Width
case tea.KeyMsg:
if msg.Type == tea.KeyCtrlC {
// User is quitting
@@ -260,7 +264,7 @@ func (m *summaryModel) View() string {
message.WriteString(summaryFooter)
- return m.style.Render(message.String())
+ return m.style.Render(ansi.Hardwrap(message.String(), m.width, true))
}
var _ tea.Model = &progressModel{}
@@ -285,6 +289,7 @@ type progressModel struct {
// suppressSpinner is used to suppress the ticking of the spinner for testing.
suppressSpinner bool
+ width int
}
// Init implements the init function for tea.Model. This will be called when the model is started, before View or
@@ -307,7 +312,9 @@ func (m *progressModel) Init() tea.Cmd {
// and returns a tea.Cmd to quit the program if the progress is complete.
func (m *progressModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
-
+ case tea.WindowSizeMsg:
+ m.width = msg.Width
+ return m, nil
// Update our internal state when we receive a progress update message.
case progressMsg:
m.progress = msg
@@ -400,7 +407,7 @@ func (m *progressModel) View() string {
message.WriteString(progressCompleteFooter)
}
- return m.style.Render(message.String())
+ return m.style.Render(ansi.Hardwrap(message.String(), m.width, true))
}
func (m *progressModel) isComplete() bool {
diff --git a/pkg/cli/prompt/list/list.go b/pkg/cli/prompt/list/list.go
index 7959d5e6c8c..dbf30d8116a 100644
--- a/pkg/cli/prompt/list/list.go
+++ b/pkg/cli/prompt/list/list.go
@@ -23,6 +23,7 @@ import (
"github.com/charmbracelet/bubbles/list"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/charmbracelet/x/ansi"
)
const listHeight = 14
@@ -116,6 +117,7 @@ type ListModel struct {
// Style configures the style applied to all rendering for the list. This can be used to apply padding and borders.
Style lipgloss.Style
Quitting bool
+ width int
}
// Init used for creating an initial tea command if needed.
@@ -130,7 +132,8 @@ func (m ListModel) Init() tea.Cmd {
// the list and quit the application.
func (m ListModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
-
+ case tea.WindowSizeMsg:
+ m.width = msg.Width
case tea.KeyMsg:
switch keypress := msg.String(); keypress {
case "ctrl+c", "q":
@@ -159,5 +162,5 @@ func (m ListModel) View() string {
return ""
}
- return m.Style.Render(m.List.View())
+ return m.Style.Render(ansi.Hardwrap(m.List.View(), m.width, true))
}
diff --git a/pkg/cli/prompt/text/text.go b/pkg/cli/prompt/text/text.go
index 023e5462050..55d9a6724ad 100644
--- a/pkg/cli/prompt/text/text.go
+++ b/pkg/cli/prompt/text/text.go
@@ -22,6 +22,7 @@ import (
"github.com/charmbracelet/bubbles/textinput"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
+ "github.com/charmbracelet/x/ansi"
)
var (
@@ -58,6 +59,7 @@ type Model struct {
prompt string
textInput textinput.Model
valueEntered bool
+ width int
}
// NewTextModel returns a new text model with prompt message.
@@ -74,7 +76,6 @@ func NewTextModel(prompt string, options TextModelOptions) Model {
// so it will be blocked. This means you can't type `prod-aws` which is a valid name.
ti := textinput.New()
ti.Focus()
- ti.Width = 40
ti.Placeholder = options.Placeholder
ti.EchoMode = options.EchoMode
@@ -101,6 +102,8 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
var cmd tea.Cmd
switch msg := msg.(type) {
+ case tea.WindowSizeMsg:
+ m.width = msg.Width
case tea.KeyMsg:
switch msg.Type {
case tea.KeyEnter:
@@ -157,7 +160,7 @@ func (m Model) View() string {
view.WriteString(m.ErrStyle.Render(m.textInput.Err.Error()))
}
- return m.Style.Render(view.String())
+ return m.Style.Render(ansi.Hardwrap(view.String(), m.width, true))
}
// GetValue returns the input from the user, or the default value if the user did not enter anything.
From 0ed8f0875dd5366bf6a71506d6ec048546642737 Mon Sep 17 00:00:00 2001
From: Ryan Nowak
Date: Thu, 31 Oct 2024 11:30:45 -0700
Subject: [PATCH 27/27] Add *.tgz to .gitignore (#8020)
# Description
Building a private Bicep extension for local testing will create a
`.tgz` file. We shouldn't check these in.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- [ ] An overview of proposed schema changes is included in a linked
GitHub issue.
- [ ] A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [ ] If applicable, design document has been reviewed and approved by
Radius maintainers/approvers.
- [ ] A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
Signed-off-by: Ryan Nowak
---
.gitignore | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.gitignore b/.gitignore
index de5d23cab40..b247a5d8acf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,3 +66,6 @@ tmp-*
# Auto-generated Bicep markdown files
hack/bicep-types-radius/generated/**/*.md
+
+# Bicep extensions
+*.tgz
\ No newline at end of file