From 826992a5f6166870da396cf4f76f36178d8e9e49 Mon Sep 17 00:00:00 2001 From: Pavithra S Date: Mon, 21 Nov 2022 19:26:47 +0530 Subject: [PATCH 01/21] NPT-644 Add support to upgrade nexus DM using compiler Nexus node spec updates made by users may result in backward incompatibility. User should be able to upgrade datamodel based on the force flag and observe the incompatible changes This PR calls common-library to see if the old and new crd have undergone any modifications, and if there have been any incompatible changes - Compiler should iterate through all created datamodel objects to ensure backward compatibility - If there are incompatible modifications and the force flag is enabled, the message notice will be logged in the console - If the force flag is deactivated and there are incompatible changes, the operation should fail with incompatible errors --- compiler/Makefile | 21 +- .../generate-openapischema.go | 16 +- compiler/go.mod | 38 ++- compiler/go.sum | 109 ++++++++- compiler/pkg/openapi_generator/generator.go | 88 ++++++- .../openapi_generator/generator_suite_test.go | 10 +- .../pkg/openapi_generator/generator_test.go | 225 +++++++++++++++++- .../test_data/01_simple_schema.yaml | 6 + .../test_data/02_ref_in_property.yaml | 3 + .../test_data/03_ref_in_items_single.yaml | 3 + .../test_data/04_ref_in_items_multiple.yaml | 3 + .../05_ref_in_additional_property.yaml | 3 + .../test_data/06_enum_in_property.yaml | 3 + .../test_data/07_enum_in_array_property.yaml | 3 + .../test_data/08_kubernetes_flags.yaml | 3 + .../pkg/openapi_generator/test_data/foos.yaml | 49 ++++ .../{00_proto_schema.yaml => foowrapper.yaml} | 3 + 17 files changed, 542 insertions(+), 44 deletions(-) create mode 100644 compiler/pkg/openapi_generator/test_data/foos.yaml rename compiler/pkg/openapi_generator/test_data/{00_proto_schema.yaml => foowrapper.yaml} (96%) diff --git a/compiler/Makefile b/compiler/Makefile index ca9b3286c..676bedfb2 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -19,6 +19,7 @@ DATAMODEL_PATH ?= datamodel CONFIG_FILE ?= "" GENERATED_OUTPUT_DIRECTORY ?= generated COMPILER_SRC_DIRECTORY ?= "" +FORCE ?= false NEXUS_KUBEOPENAPI_VERSION ?= 7416bd4754d3c0dd8b3fa37fff53d36594f11607 NEXUS_GRAPHQLGEN_VERSION ?= 32f028bce22efeb70b47a640195bd969dbb337f0 @@ -133,10 +134,17 @@ generate_example_in_container: test_in_container: ${BUILDER_NAME}\:${BUILDER_TAG}.image.exists $(call run_in_container, make test) -.PHONY: generate_code + generate_code: + $(MAKE) run_generate_code || { $(MAKE) run_backup ; exit 1; } + +.PHONY: generate_code +run_generate_code: @echo "Nexus Compiler: Running compiler code generation" @echo "Cleaning up workdir" + rm -rf /tmp/old_files || echo "Folder not present" + mkdir -p /tmp/old_files + cp -rf $(GENERATED_OUTPUT_DIRECTORY)/* /tmp/old_files rm -rf _generated ${GOPATH}/src/nexustempmodule @echo "Copying generated_base_structure to create directory structure" @echo "COMPILER_SRC_DIRECTORY: ${COMPILER_SRC_DIRECTORY}" @@ -155,7 +163,7 @@ generate_code: @echo "Nexus Compiler: Generating openapi schema" ./scripts/generate_openapi_schema.sh @echo "Nexus Compiler: Generating CRD yamls" - go run cmd/generate-openapischema/generate-openapischema.go -yamls-path _generated/crds + go run cmd/generate-openapischema/generate-openapischema.go -yamls-path _generated/crds -old-yamls-path /tmp/old_files/crds -force ${FORCE} git checkout -- pkg/openapi_generator/openapi/openapi_generated.go cp -r _generated/{client,apis,crds,common,nexus-client,helper,nexus-gql} ${GENERATED_OUTPUT_DIRECTORY} @echo "Nexus Compiler: Generating GRAPHQL PKG" @@ -178,6 +186,15 @@ generate_code: cp -r ${GOPATH}/src/nexustempmodule/nexus-gql/graphql.so ${GENERATED_OUTPUT_DIRECTORY}/nexus-gql @echo "Nexus Compiler: Compiler code generation completed" + +run_backup: + echo "Detected failure in build" + if find /tmp/old_files -mindepth 1 -maxdepth 1 | read; then \ + cp -rf /tmp/old_files/* ${GENERATED_OUTPUT_DIRECTORY} ;\ + else \ + echo "No files present"; \ + fi + .PHONY: test_generate_code_in_container test_generate_code_in_container: ${BUILDER_NAME}\:${BUILDER_TAG}.image.exists init_submodules $(call run_in_container, go install ../kube-openapi/cmd/nexus-openapi-gen && \ diff --git a/compiler/cmd/generate-openapischema/generate-openapischema.go b/compiler/cmd/generate-openapischema/generate-openapischema.go index 9dfe05f37..47c562dcf 100644 --- a/compiler/cmd/generate-openapischema/generate-openapischema.go +++ b/compiler/cmd/generate-openapischema/generate-openapischema.go @@ -3,6 +3,7 @@ package main import ( "flag" "fmt" + "strconv" "strings" generator "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/openapi_generator" @@ -11,13 +12,24 @@ import ( ) func main() { - var yamlsPath string + var ( + yamlsPath string + oldYamlPath string + forceUpgrade string // Used to denote the forced upgrade of a data model. + ) flag.StringVar(&yamlsPath, "yamls-path", "", "Path to directory containing CRD YAML definitions") + flag.StringVar(&oldYamlPath, "old-yamls-path", "", "Path to directory containing existing CRD YAML definitions") + flag.StringVar(&forceUpgrade, "force", "", "Set to true to force the nexus datamodel upgrade. \"+\n\t\t\t\"Defaults to `false`") flag.Parse() if yamlsPath == "" { panic("yamls-path is empty. Run with -h for help") } + force, err := strconv.ParseBool(forceUpgrade) + if err != nil { + panic("invalid flag for nexus datamodel upgrade") + } + ref := func(pkg string) spec.Ref { r, err := spec.NewRef(strings.ToLower(pkg)) if err != nil { @@ -44,7 +56,7 @@ func main() { "Refer to %q for possible causes and solutions\n", readmePath) panic("Missing schemas!") } - err = g.UpdateYAMLs(yamlsPath) + err = g.UpdateYAMLs(yamlsPath, oldYamlPath, force) if err != nil { panic(err) } diff --git a/compiler/go.mod b/compiler/go.mod index 04f53fe26..e946150b1 100644 --- a/compiler/go.mod +++ b/compiler/go.mod @@ -7,51 +7,69 @@ require ( github.com/ghodss/yaml v1.0.0 github.com/gogo/protobuf v1.3.2 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.19.0 + github.com/onsi/gomega v1.20.2 github.com/sirupsen/logrus v1.8.1 + github.com/vmware-tanzu/graph-framework-for-microservices/common-library v0.0.0-20221129104902-06818e531062 github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen v0.0.0-00010101000000-000000000000 github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi v0.0.0-20220603123335-7416bd4754d3 github.com/vmware-tanzu/graph-framework-for-microservices/nexus v0.0.0-00010101000000-000000000000 - golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 - golang.org/x/text v0.3.7 - golang.org/x/tools v0.1.10 + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 + golang.org/x/text v0.3.8 + golang.org/x/tools v0.1.12 k8s.io/apiextensions-apiserver v0.24.0 - k8s.io/apimachinery v0.24.0 k8s.io/gengo v0.0.0-20220307231824-4627b89bbf1b ) require ( + github.com/BurntSushi/toml v1.2.1 // indirect github.com/agnivade/levenshtein v1.1.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect - github.com/elliotchance/orderedmap v1.4.0 // indirect github.com/emicklei/go-restful v2.15.0+incompatible // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/swag v0.21.1 // indirect github.com/golang/protobuf v1.5.2 // indirect + github.com/gonvenience/bunt v1.3.4 // indirect + github.com/gonvenience/neat v1.3.11 // indirect + github.com/gonvenience/term v1.0.2 // indirect + github.com/gonvenience/text v1.0.7 // indirect + github.com/gonvenience/wrap v1.1.2 // indirect + github.com/gonvenience/ytbx v1.4.4 // indirect github.com/google/gnostic v0.6.9 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect + github.com/homeport/dyff v1.5.6 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mailru/easyjson v0.7.6 // indirect + github.com/mattn/go-ciede2000 v0.0.0-20170301095244-782e8c62fec3 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/mitchellh/hashstructure v1.1.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/sergi/go-diff v1.2.0 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/urfave/cli/v2 v2.8.1 // indirect github.com/vektah/gqlparser/v2 v2.5.0 // indirect + github.com/virtuald/go-ordered-json v0.0.0-20170621173500-b18e6e673d74 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect - golang.org/x/sys v0.0.0-20220209214540-3681064d5158 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect + golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde // indirect + golang.org/x/sys v0.1.0 // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect google.golang.org/protobuf v1.28.0 // indirect gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + k8s.io/apimachinery v0.24.0 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect diff --git a/compiler/go.sum b/compiler/go.sum index 5e996eb23..73f81d0b0 100644 --- a/compiler/go.sum +++ b/compiler/go.sum @@ -46,7 +46,10 @@ github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935 github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= @@ -111,6 +114,7 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -122,8 +126,7 @@ github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elliotchance/orderedmap v1.4.0 h1:wZtfeEONCbx6in1CZyE6bELEt/vFayMvsxqI5SgsR+A= -github.com/elliotchance/orderedmap v1.4.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys= +github.com/elliotchance/orderedmap v1.5.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= @@ -147,8 +150,9 @@ github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getkin/kin-openapi v0.94.0/go.mod h1:LWZfzOd7PRy8GJ1dJ6mCU6tNdSfOwRac1BUPam4aw6Q= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= @@ -222,6 +226,24 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/gonvenience/bunt v1.3.2/go.mod h1:oTOZqb1TVL1KqZm57zUCJCiwUliNfY8+d3QndOVqxpg= +github.com/gonvenience/bunt v1.3.3/go.mod h1:XjlODZ8sTL9jQs9c4Kj1ZBTrHSsbUGdoRy7ROCtw8nU= +github.com/gonvenience/bunt v1.3.4 h1:Row599Ohja2BPooaqd1tHYdTAKu6SWq7W/UeakTXddM= +github.com/gonvenience/bunt v1.3.4/go.mod h1:j8eqHLBo8eWCCYuc34oFdlgyxL1rZ4ywYz4BZa4b09w= +github.com/gonvenience/neat v1.3.8/go.mod h1:4SFVz5TfDxRwOWEijaQrR+3g0j5ZRyoYO3HeyNsfTlk= +github.com/gonvenience/neat v1.3.11 h1:xxxCdGSuikMm7/Qp9/NwPfxLefKJM2XQiobGwPu63+Q= +github.com/gonvenience/neat v1.3.11/go.mod h1:aMdiynsB60zmUXaLgOIXQGiRgVGJQNNE/nr2F4BbIUA= +github.com/gonvenience/term v1.0.1/go.mod h1:TrQEhxBNE/ng5kTV+S0OvQowTDJSfhlBeZbcOmTR6qI= +github.com/gonvenience/term v1.0.2 h1:qKa2RydbWIrabGjR/fegJwpW5m+JvUwFL8mLhHzDXn0= +github.com/gonvenience/term v1.0.2/go.mod h1:wThTR+3MzWtWn7XGVW6qQ65uaVf8GHED98KmwpuEQeo= +github.com/gonvenience/text v1.0.7 h1:YmIqmgTwxnACYCG59DykgMbomwteYyNhAmEUEJtPl14= +github.com/gonvenience/text v1.0.7/go.mod h1:OAjH+mohRszffLY6OjgQcUXiSkbrIavooFpfIt1ZwAs= +github.com/gonvenience/wrap v1.1.0/go.mod h1:L47Cm1sK1G8QmFAYQfkHcF/sQ1IBJUa0u4sjqiLqPdM= +github.com/gonvenience/wrap v1.1.1/go.mod h1:u27bruNdIB6U5nnR0qq+GRRKbAJzEqC0H3DBHxl7YNM= +github.com/gonvenience/wrap v1.1.2 h1:xPKxNwL1HCguwyM+HlP/1CIuc9LRd7k8RodLwe9YTZA= +github.com/gonvenience/wrap v1.1.2/go.mod h1:GiryBSXoI3BAAhbWD1cZVj7RZmtiu0ERi/6R6eJfslI= +github.com/gonvenience/ytbx v1.4.4 h1:jQopwyaLsVGuwdxSiN4WkXjsEaFNPJ3V4lUj7eyEpzo= +github.com/gonvenience/ytbx v1.4.4/go.mod h1:w37+MKCPcCMY/jpPNmEklD4xKqrOAVBO6kIWW2+uI6M= 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.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= @@ -241,8 +263,9 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -268,6 +291,7 @@ github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -298,6 +322,8 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/homeport/dyff v1.5.6 h1:6PNzGM0azeYXs401RZSLyIUS4sIX+YY3WBEZ3bnzkiE= +github.com/homeport/dyff v1.5.6/go.mod h1:cMmplDz/DeUWPB4T/sD9GDpuTnMD2nk3rjn2f+5roEU= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= 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= @@ -334,24 +360,35 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxAlxggSjiwMnCUc= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/matryer/moq v0.2.7/go.mod h1:kITsx543GOENm48TUAQyJ9+SAvFSr7iGQXPoth/VUBk= +github.com/mattn/go-ciede2000 v0.0.0-20170301095244-782e8c62fec3 h1:BXxTozrOU8zgC5dkpn3J6NTRdoP+hjok/e+ACr4Hibk= +github.com/mattn/go-ciede2000 v0.0.0-20170301095244-782e8c62fec3/go.mod h1:x1uk6vxTiVuNt6S5R2UYgdhpj3oKojXvOXauHZ7dEnI= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.1.0 h1:P6P1hdjqAAknpY/M1CGipelZgp+4y9ja9kmUZPXP+H0= +github.com/mitchellh/hashstructure v1.1.0/go.mod h1:xUDAozZz0Wmdiufv0uyhnHkUTN6/6d8ulp4AwfLKrmA= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -380,25 +417,39 @@ github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg= +github.com/onsi/ginkgo v1.15.2/go.mod h1:Dd6YFfwBW84ETqqtL0CPyPXillHgY6XhQH3uuCCTr/o= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU= +github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48= +github.com/onsi/gomega v1.11.0/go.mod h1:azGKhqFUon9Vuj0YmTfLSmx0FUwqXYSTl5re8lQLTUg= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.18.0/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.20.2 h1:8uQq0zMgLEfa0vRrrBgaJF2gyW9Da9BmfGV+OyUzfkY= +github.com/onsi/gomega v1.20.2/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -437,6 +488,8 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -455,6 +508,7 @@ github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -463,21 +517,31 @@ github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= 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= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/urfave/cli/v2 v2.8.1 h1:CGuYNZF9IKZY/rfBe3lJpccSoIY1ytfvmgQT90cNOl4= github.com/urfave/cli/v2 v2.8.1/go.mod h1:Z41J9TPoffeoqP0Iza0YbAhGvymRdZAd2uPmZ5JxRdY= github.com/vektah/gqlparser/v2 v2.5.0 h1:GwEwy7AJsqPWrey0bHnn+3JLaHLZVT66wY/+O+Tf9SU= github.com/vektah/gqlparser/v2 v2.5.0/go.mod h1:mPgqFBu/woKTVYWyNk8cO3kh4S/f4aRFZrvOnp3hmCs= +github.com/virtuald/go-ordered-json v0.0.0-20170621173500-b18e6e673d74 h1:JwtAtbp7r/7QSyGz8mKUbYJBg2+6Cd7OjM8o/GNOcVo= +github.com/virtuald/go-ordered-json v0.0.0-20170621173500-b18e6e673d74/go.mod h1:RmMWU37GKR2s6pgrIEB4ixgpVCt/cf7dnJv3fuH1J1c= +github.com/vmware-tanzu/graph-framework-for-microservices/common-library v0.0.0-20221129104902-06818e531062 h1:afp7MoPbx2O0whu3TnMlwrDBbKSGVyci+/znk1EPDWU= +github.com/vmware-tanzu/graph-framework-for-microservices/common-library v0.0.0-20221129104902-06818e531062/go.mod h1:HxDTcKIU+3yARjpmhAC4P1xNeAJ3XQsz9dBQh7uLjo8= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= @@ -490,6 +554,7 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= @@ -575,8 +640,9 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 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.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= 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-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -626,9 +692,12 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220121210141-e204ce36a2ba/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= 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= @@ -653,6 +722,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde h1:ejfdSekXMDxDLbRrJMwUk6KnSLZ2McaUCVcIKM+N6jc= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -678,6 +750,7 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -719,9 +792,18 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/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 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= @@ -731,8 +813,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= 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= @@ -798,12 +881,12 @@ golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10-0.20220218145154-897bd77cd717/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= 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= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= diff --git a/compiler/pkg/openapi_generator/generator.go b/compiler/pkg/openapi_generator/generator.go index 96ce548c8..23c300ea5 100644 --- a/compiler/pkg/openapi_generator/generator.go +++ b/compiler/pkg/openapi_generator/generator.go @@ -1,7 +1,9 @@ package openapi_generator import ( + "bytes" "encoding/json" + "errors" "fmt" "io/ioutil" "os" @@ -9,6 +11,9 @@ import ( "strings" "github.com/ghodss/yaml" + log "github.com/sirupsen/logrus" + + "github.com/vmware-tanzu/graph-framework-for-microservices/common-library/pkg/nexus-compare" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) @@ -334,8 +339,47 @@ func (g *Generator) resolveRefsInProperty(propSchema *extensionsv1.JSONSchemaPro } } -func (g *Generator) UpdateYAMLs(yamlsPath string) error { - return filepath.Walk(yamlsPath, func(path string, info os.FileInfo, err error) error { +func splitCRDs(content []byte) []string { + return strings.Split(string(content), "---") +} + +func CheckBackwardCompatibility(inCompatibleCRDs []*bytes.Buffer, crd extensionsv1.CustomResourceDefinition, oldCRDContent []byte) ([]*bytes.Buffer, error) { + oldCRDParts := splitCRDs(oldCRDContent) + for _, oldPart := range oldCRDParts { + if oldPart == "" { + continue + } + oldCRD := &extensionsv1.CustomResourceDefinition{} + err := yaml.Unmarshal([]byte(oldPart), oldCRD) + if err != nil { + return nil, fmt.Errorf("error unmarshaling existing crd: %v", err) + } + + newCRDPart, err := yaml.Marshal(&crd) + if err != nil { + return nil, fmt.Errorf("error marshaling new crd: %v", err) + } + + if oldCRD.Name != crd.Name { + continue + } + + // When there is a backward incompatibility, we fail the build if we don't force an upgrade. + isInCompatible, message, err := nexus_compare.CompareFiles([]byte(oldPart), newCRDPart) + if err != nil { + log.Errorf("Error occurred while checking CRD's %q backward compatibility: %v", crd.Name, err) + } + if isInCompatible { + log.Warnf("CRD %q is incompatible with the previous version", crd.Name) + inCompatibleCRDs = append(inCompatibleCRDs, message) + } + } + return inCompatibleCRDs, nil +} + +func (g *Generator) UpdateYAMLs(yamlsPath, oldYamlsPath string, force bool) error { + var inCompatibleCRDs []*bytes.Buffer + if err := filepath.Walk(yamlsPath, func(path string, info os.FileInfo, err error) error { if err != nil { return fmt.Errorf("walking files: %v", err) } @@ -350,7 +394,7 @@ func (g *Generator) UpdateYAMLs(yamlsPath string) error { return fmt.Errorf("reading file %q: %v", path, err) } - parts := strings.Split(string(content), "---") + parts := splitCRDs(content) crds := make([]extensionsv1.CustomResourceDefinition, len(parts)) for _, part := range parts { if part == "" { @@ -373,6 +417,31 @@ func (g *Generator) UpdateYAMLs(yamlsPath string) error { if err != nil { return err } + + /* + yamlsPath - indicates the directory path of new crd yamls + Ex: the path will be `_generated/crds` + + path - indicates the file path of node + Ex: For the node `Config` the path will be `_generated/crds/config_config.yaml` + + oldYamlsPath - indicates the directory path of the existing crd yamls + Ex: the path will be `tmp/old-files/old-crds` + */ + oldFilePath := oldYamlsPath + strings.TrimPrefix(path, yamlsPath) + oldCRDContent, err := os.ReadFile(oldFilePath) + if err != nil { + if !errors.Is(err, os.ErrNotExist) { + return fmt.Errorf("error reading the existing crd file on path %q: %v", oldFilePath, err) + } + log.Debugf("Can't find the existing crd file on path %s", oldFilePath) + } + + if oldCRDContent != nil { + if inCompatibleCRDs, err = CheckBackwardCompatibility(inCompatibleCRDs, crd, oldCRDContent); err != nil { + return err + } + } crds = append(crds, crd) } @@ -401,7 +470,18 @@ func (g *Generator) UpdateYAMLs(yamlsPath string) error { } } return nil - }) + }); err != nil { + return err + } + + if inCompatibleCRDs != nil { + if !force { + // If the CRD are incompatible with the previous version, this will fail the build. + return fmt.Errorf("datamodel upgrade failed due to backward incompatible changes:\n %v", inCompatibleCRDs) + } + log.Warnf("Upgrading the data model that is incompatible with the previous version: %v", inCompatibleCRDs) + } + return nil } func (g *Generator) addCustomResourceValidation(crd *extensionsv1.CustomResourceDefinition) error { diff --git a/compiler/pkg/openapi_generator/generator_suite_test.go b/compiler/pkg/openapi_generator/generator_suite_test.go index d9221a35b..6510a4bcb 100644 --- a/compiler/pkg/openapi_generator/generator_suite_test.go +++ b/compiler/pkg/openapi_generator/generator_suite_test.go @@ -29,10 +29,13 @@ func createFileWithEmptyYAMLDefinitions(tmpDir string, names []string) string { } func getEmptyYAMLDefinition(name string) string { - format := `--- + format := fmt.Sprintf(`--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":%q,"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: NAMEs.test.it spec: @@ -44,7 +47,7 @@ spec: listKind: CAPITAL_NAMEList plural: NAMEs shortNames: - - NAME + - NAME singular: NAME scope: Namespaced versions: @@ -57,7 +60,8 @@ status: plural: "" conditions: null storedVersions: - - v1` + - v1 +`, name) capitalName := strings.ToUpper(name[:1]) + name[1:] format = strings.ReplaceAll(format, "CAPITAL_NAME", capitalName) return strings.ReplaceAll(format, "NAME", name) diff --git a/compiler/pkg/openapi_generator/generator_test.go b/compiler/pkg/openapi_generator/generator_test.go index c09e55161..f4177169c 100644 --- a/compiler/pkg/openapi_generator/generator_test.go +++ b/compiler/pkg/openapi_generator/generator_test.go @@ -1,27 +1,35 @@ package openapi_generator_test import ( + "bytes" + "encoding/json" "fmt" "io/ioutil" + "os" "strings" + "github.com/ghodss/yaml" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + generator2 "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/generator" generator "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/openapi_generator" "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/openapi_generator/test_data/openapi" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/validation/spec" + extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) var _ = Describe("Generator", func() { var ( tmpDir string + oldDir string ) BeforeEach(func() { var err error tmpDir, err = ioutil.TempDir("", "generator-test-") + oldDir = "test_data" Expect(err).NotTo(HaveOccurred()) }) @@ -73,8 +81,9 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"foowrapper"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) - compareTmpFileWithExpectedFile(tmpFile, "test_data/00_proto_schema.yaml") + // should pass the backward compatibility check + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + compareTmpFileWithExpectedFile(tmpFile, "test_data/foowrapper.yaml") }) It("01 creates schemas for simple types", func() { @@ -107,7 +116,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"foo", "fizz"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/01_simple_schema.yaml") }) @@ -141,7 +150,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/02_ref_in_property.yaml") }) @@ -181,7 +190,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/03_ref_in_items_single.yaml") }) @@ -228,7 +237,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/04_ref_in_items_multiple.yaml") }) @@ -296,7 +305,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/05_ref_in_additional_property.yaml") }) }) @@ -328,7 +337,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/06_enum_in_property.yaml") }) @@ -379,7 +388,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/07_enum_in_array_property.yaml") }) }) @@ -457,7 +466,203 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"fizz"}) - Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/08_kubernetes_flags.yaml") }) + + Context("checks backward compatibility", func() { + It("should detect any incompatible changes to crds successfully", func() { + var inCompatibleCRDBuffer []*bytes.Buffer + crd := &extensionsv1.CustomResourceDefinition{} + parts := strings.Split(baseSpec, "---") + err := yaml.Unmarshal([]byte(parts[1]), crd) + Expect(err).ToNot(HaveOccurred()) + + // change in annotation + nexusAnnotation := crd.ObjectMeta.Annotations["nexus"] + n := generator2.NexusAnnotation{} + err = json.Unmarshal([]byte(nexusAnnotation), &n) + Expect(err).ToNot(HaveOccurred()) + + // modify singleton field to `true` + n.IsSingleton = true + b, err := json.Marshal(n) + Expect(err).ToNot(HaveOccurred()) + crd.ObjectMeta.Annotations["nexus"] = string(b) + + // change in type + doubleVal := crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["spec"].Properties["name"] + doubleVal.Type = "integer" + doubleVal.Format = "integer" + crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["spec"].Properties["name"] = doubleVal + + // adding a new field + crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["spec"].Properties["new-field"] = extensionsv1.JSONSchemaProps{Type: "string"} + + // deleting a field + delete(crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["status"].Properties, "nexus") + + inCompatibleCRDBuffer, err = generator.CheckBackwardCompatibility(inCompatibleCRDBuffer, *crd, []byte(baseSpec)) + Expect(err).ToNot(HaveOccurred()) + for _, c := range inCompatibleCRDBuffer { + Expect(c.String()).To(Equal("detected changes in model stored in ignorechilds.gns.tsm.tanzu.vmware.com\n\nspec changes: " + + "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/type\n ± value change\n - string\n + integer\n \n\nstatus changes: " + + "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/status\n - one field removed:\n properties:\n nexus:\n type: object\n " + + " required:\n - sourceGeneration\n - remoteGeneration\n properties:\n remoteGeneration:\n type: integer\n " + + "format: int64\n sourceGeneration:\n type: integer\n format: int64\n \n " + + "\n\nnexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n")) + } + }) + + It("should check for incompatible changes when forcing flag enable/disable between new and existing CRDs", func() { + rawDefs := map[string]common.OpenAPIDefinition{ + getSchemaName("foo"): { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "spec": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "changePassword": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "string", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"changePassword"}, + }, + }, + }, + }, + }, + }, + } + gen, err := generator.NewGenerator(rawDefs) + Expect(err).NotTo(HaveOccurred()) + + Expect(gen.ResolveRefs()).To(Succeed()) + + // create a new CRD with following changes + // removing a required field `password`. + // adding a new field `changePassword` + // modifying the `name` type from `string` to `int32` + tmpFile := fmt.Sprintf("%s/%s.yaml", tmpDir, "foos") + err = os.WriteFile(tmpFile, []byte(newFooCRD), 0665) + Expect(err).NotTo(HaveOccurred()) + + // should be unsuccessful due to the incompatibility of the new and old CDs + forcing an upgrade=false + err = gen.UpdateYAMLs(tmpDir, oldDir, false) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to backward incompatible changes:\n " + + "[detected changes in model stored in foos\n\nspec changes: " + + "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n - " + + "one field removed:\n " + + " password:\n " + + "type: string\n " + + "format: string\n " + + "\n \n\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/format\n " + + "± value change\n " + + "- string\n " + + "+ int32\n " + + "\n\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/type\n " + + " ± value change\n " + + "- string\n " + + "+ integer\n " + + "\n\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required/0\n " + + " ± value change\n " + + "- password\n " + + "+ changePassword\n \n\n]")) + + // should succeed even if there are incompatible changes when force upgrade is true. + err = gen.UpdateYAMLs(tmpDir, oldDir, true) + Expect(err).To(BeNil()) + }) + + }) }) + +var baseSpec = ` +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + nexus: > + {"name":"gns.IgnoreChild","hierarchy":["roots.root.tsm.tanzu.vmware.com","configs.config.tsm.tanzu.vmware.com","gnses.gns.tsm.tanzu.vmware.com"],"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} + creationTimestamp: null + name: ignorechilds.gns.tsm.tanzu.vmware.com +spec: + conversion: + strategy: None + group: gns.tsm.tanzu.vmware.com + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + spec: + properties: + name: + type: string + required: + - name + type: object + status: + properties: + nexus: + properties: + remoteGeneration: + format: int64 + type: integer + sourceGeneration: + format: int64 + type: integer + required: + - sourceGeneration + - remoteGeneration + type: object + type: object + type: object +` + +var newFooCRD = `--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + nexus: | + {"name":"gns.Foo","hierarchy":["roots.root.tsm.tanzu.vmware.com","configs.config.tsm.tanzu.vmware.com","gnses.gns.tsm.tanzu.vmware.com"],"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} + creationTimestamp: null + name: foos +spec: + conversion: + strategy: None + group: test.it + names: + kind: Foo + listKind: FooList + plural: foos + shortNames: + - foo + singular: foo + scope: Cluster + versions: + - name: v1 + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: + - v1 +` diff --git a/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml b/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml index f59851279..6e5a4819b 100644 --- a/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml +++ b/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"foo","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: foos.test.it spec: @@ -41,6 +44,9 @@ status: apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"fizzs","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null creationTimestamp: null name: fizzs.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml b/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml index 27ac88b1d..a0e205c64 100644 --- a/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml b/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml index 8e88d52d8..72f34482a 100644 --- a/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml +++ b/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml b/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml index 5ce6bfbc6..04303de19 100644 --- a/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml +++ b/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml b/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml index 6f6591077..5e20453ff 100644 --- a/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml b/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml index 530618073..976953736 100644 --- a/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml b/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml index 080d0290b..4c491aed0 100644 --- a/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml b/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml index 832474b86..f18b7933c 100644 --- a/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml +++ b/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"fizz","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: fizzs.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/foos.yaml b/compiler/pkg/openapi_generator/test_data/foos.yaml new file mode 100644 index 000000000..7cdb750b1 --- /dev/null +++ b/compiler/pkg/openapi_generator/test_data/foos.yaml @@ -0,0 +1,49 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + nexus: | + {"name":"gns.Foo","hierarchy":["roots.root.tsm.tanzu.vmware.com","configs.config.tsm.tanzu.vmware.com","gnses.gns.tsm.tanzu.vmware.com"],"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} + creationTimestamp: null + name: foos +spec: + conversion: + strategy: None + group: test.it + names: + kind: Foo + listKind: FooList + plural: foos + shortNames: + - foo + singular: foo + scope: Cluster + versions: + - name: v1 + schema: + openAPIV3Schema: + properties: + metadata: + type: object + spec: + properties: + password: + format: string + type: string + name: + format: string + type: string + required: + - password + type: object + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: + - v1 diff --git a/compiler/pkg/openapi_generator/test_data/00_proto_schema.yaml b/compiler/pkg/openapi_generator/test_data/foowrapper.yaml similarity index 96% rename from compiler/pkg/openapi_generator/test_data/00_proto_schema.yaml rename to compiler/pkg/openapi_generator/test_data/foowrapper.yaml index f7ecf32a7..1d3091bfb 100644 --- a/compiler/pkg/openapi_generator/test_data/00_proto_schema.yaml +++ b/compiler/pkg/openapi_generator/test_data/foowrapper.yaml @@ -2,6 +2,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + nexus: | + {"name":"foowrapper","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: foowrappers.test.it spec: From 3415482e64bb024ae833854cfde7a7007a6652f8 Mon Sep 17 00:00:00 2001 From: Pavithra S Date: Wed, 30 Nov 2022 14:52:09 +0530 Subject: [PATCH 02/21] Fix pkg import --- compiler/pkg/openapi_generator/generator.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/pkg/openapi_generator/generator.go b/compiler/pkg/openapi_generator/generator.go index 23c300ea5..8503ff15d 100644 --- a/compiler/pkg/openapi_generator/generator.go +++ b/compiler/pkg/openapi_generator/generator.go @@ -13,7 +13,7 @@ import ( "github.com/ghodss/yaml" log "github.com/sirupsen/logrus" - "github.com/vmware-tanzu/graph-framework-for-microservices/common-library/pkg/nexus-compare" + nexus_compare "github.com/vmware-tanzu/graph-framework-for-microservices/common-library/pkg/nexus-compare" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) From a54ae25570272c56a1c88dd93bd97625899f017d Mon Sep 17 00:00:00 2001 From: Pavithra S Date: Wed, 30 Nov 2022 17:46:11 +0530 Subject: [PATCH 03/21] Fix makefile --- compiler/Makefile | 4 +- .../check-backward-compatibility.go | 46 ++++++++++++++++++ compiler/pkg/openapi_generator/generator.go | 48 +++---------------- 3 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 compiler/pkg/openapi_generator/check-backward-compatibility.go diff --git a/compiler/Makefile b/compiler/Makefile index 676bedfb2..9781dd744 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -144,7 +144,9 @@ run_generate_code: @echo "Cleaning up workdir" rm -rf /tmp/old_files || echo "Folder not present" mkdir -p /tmp/old_files - cp -rf $(GENERATED_OUTPUT_DIRECTORY)/* /tmp/old_files + if find $(GENERATED_OUTPUT_DIRECTORY) -mindepth 1 | read; then \ + cp -rf $(GENERATED_OUTPUT_DIRECTORY)/* /tmp/old_files ;\ + fi rm -rf _generated ${GOPATH}/src/nexustempmodule @echo "Copying generated_base_structure to create directory structure" @echo "COMPILER_SRC_DIRECTORY: ${COMPILER_SRC_DIRECTORY}" diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go new file mode 100644 index 000000000..e12fa98a0 --- /dev/null +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -0,0 +1,46 @@ +package openapi_generator + +import ( + "bytes" + "fmt" + + "github.com/ghodss/yaml" + log "github.com/sirupsen/logrus" + + nexus_compare "github.com/vmware-tanzu/graph-framework-for-microservices/common-library/pkg/nexus-compare" + extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" +) + +func CheckBackwardCompatibility(inCompatibleCRDs []*bytes.Buffer, crd extensionsv1.CustomResourceDefinition, oldCRDContent []byte) ([]*bytes.Buffer, error) { + oldCRDParts := splitCRDs(oldCRDContent) + for _, oldPart := range oldCRDParts { + if oldPart == "" { + continue + } + oldCRD := &extensionsv1.CustomResourceDefinition{} + err := yaml.Unmarshal([]byte(oldPart), oldCRD) + if err != nil { + return nil, fmt.Errorf("error unmarshaling existing crd: %v", err) + } + + newCRDPart, err := yaml.Marshal(&crd) + if err != nil { + return nil, fmt.Errorf("error marshaling new crd: %v", err) + } + + if oldCRD.Name != crd.Name { + continue + } + + // When there is a backward incompatibility, we fail the build if we don't force an upgrade. + isInCompatible, message, err := nexus_compare.CompareFiles([]byte(oldPart), newCRDPart) + if err != nil { + log.Errorf("Error occurred while checking CRD's %q backward compatibility: %v", crd.Name, err) + } + if isInCompatible { + log.Warnf("CRD %q is incompatible with the previous version", crd.Name) + inCompatibleCRDs = append(inCompatibleCRDs, message) + } + } + return inCompatibleCRDs, nil +} diff --git a/compiler/pkg/openapi_generator/generator.go b/compiler/pkg/openapi_generator/generator.go index 8503ff15d..f98421176 100644 --- a/compiler/pkg/openapi_generator/generator.go +++ b/compiler/pkg/openapi_generator/generator.go @@ -13,7 +13,6 @@ import ( "github.com/ghodss/yaml" log "github.com/sirupsen/logrus" - nexus_compare "github.com/vmware-tanzu/graph-framework-for-microservices/common-library/pkg/nexus-compare" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) @@ -343,40 +342,6 @@ func splitCRDs(content []byte) []string { return strings.Split(string(content), "---") } -func CheckBackwardCompatibility(inCompatibleCRDs []*bytes.Buffer, crd extensionsv1.CustomResourceDefinition, oldCRDContent []byte) ([]*bytes.Buffer, error) { - oldCRDParts := splitCRDs(oldCRDContent) - for _, oldPart := range oldCRDParts { - if oldPart == "" { - continue - } - oldCRD := &extensionsv1.CustomResourceDefinition{} - err := yaml.Unmarshal([]byte(oldPart), oldCRD) - if err != nil { - return nil, fmt.Errorf("error unmarshaling existing crd: %v", err) - } - - newCRDPart, err := yaml.Marshal(&crd) - if err != nil { - return nil, fmt.Errorf("error marshaling new crd: %v", err) - } - - if oldCRD.Name != crd.Name { - continue - } - - // When there is a backward incompatibility, we fail the build if we don't force an upgrade. - isInCompatible, message, err := nexus_compare.CompareFiles([]byte(oldPart), newCRDPart) - if err != nil { - log.Errorf("Error occurred while checking CRD's %q backward compatibility: %v", crd.Name, err) - } - if isInCompatible { - log.Warnf("CRD %q is incompatible with the previous version", crd.Name) - inCompatibleCRDs = append(inCompatibleCRDs, message) - } - } - return inCompatibleCRDs, nil -} - func (g *Generator) UpdateYAMLs(yamlsPath, oldYamlsPath string, force bool) error { var inCompatibleCRDs []*bytes.Buffer if err := filepath.Walk(yamlsPath, func(path string, info os.FileInfo, err error) error { @@ -419,14 +384,15 @@ func (g *Generator) UpdateYAMLs(yamlsPath, oldYamlsPath string, force bool) erro } /* - yamlsPath - indicates the directory path of new crd yamls - Ex: the path will be `_generated/crds` + Find the old CRD for the file with the same name as the new CRD file and compare it to the new CRD spec provided. + yamlsPath - indicates the directory path of new crd yamls + Ex: the path will be `_generated/crds` - path - indicates the file path of node - Ex: For the node `Config` the path will be `_generated/crds/config_config.yaml` + path - indicates the file path of node + Ex: For the node `Config` the path will be `_generated/crds/config_config.yaml` - oldYamlsPath - indicates the directory path of the existing crd yamls - Ex: the path will be `tmp/old-files/old-crds` + oldYamlsPath - indicates the directory path of the existing crd yamls + Ex: the path will be `tmp/old-files/old-crds` */ oldFilePath := oldYamlsPath + strings.TrimPrefix(path, yamlsPath) oldCRDContent, err := os.ReadFile(oldFilePath) From 8a67e72293fddb1bc3983c5ef8534ebd1e835938 Mon Sep 17 00:00:00 2001 From: Pavithra S Date: Wed, 7 Dec 2022 12:32:50 +0530 Subject: [PATCH 04/21] Fix review remarks --- compiler/Makefile | 22 +- .../generate-openapischema.go | 16 +- .../output/generated/crds/config_footype.yaml | 95 -------- .../output/generated/crds/gns_emptydata.yaml | 65 ------ .../check-backward-compatibility.go | 95 ++++++-- compiler/pkg/openapi_generator/generator.go | 48 +--- .../openapi_generator/generator_suite_test.go | 10 +- .../pkg/openapi_generator/generator_test.go | 209 ++++++++---------- .../{foowrapper.yaml => 00_proto_schema.yaml} | 3 - .../test_data/01_simple_schema.yaml | 3 - .../test_data/02_ref_in_property.yaml | 3 - .../test_data/03_ref_in_items_single.yaml | 3 - .../test_data/04_ref_in_items_multiple.yaml | 3 - .../05_ref_in_additional_property.yaml | 3 - .../test_data/06_enum_in_property.yaml | 3 - .../test_data/07_enum_in_array_property.yaml | 3 - .../test_data/08_kubernetes_flags.yaml | 3 - 17 files changed, 187 insertions(+), 400 deletions(-) delete mode 100644 compiler/example/output/generated/crds/config_footype.yaml delete mode 100644 compiler/example/output/generated/crds/gns_emptydata.yaml rename compiler/pkg/openapi_generator/test_data/{foowrapper.yaml => 00_proto_schema.yaml} (96%) diff --git a/compiler/Makefile b/compiler/Makefile index 9781dd744..c5d81fb18 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -134,19 +134,10 @@ generate_example_in_container: test_in_container: ${BUILDER_NAME}\:${BUILDER_TAG}.image.exists $(call run_in_container, make test) - -generate_code: - $(MAKE) run_generate_code || { $(MAKE) run_backup ; exit 1; } - .PHONY: generate_code -run_generate_code: +generate_code: @echo "Nexus Compiler: Running compiler code generation" @echo "Cleaning up workdir" - rm -rf /tmp/old_files || echo "Folder not present" - mkdir -p /tmp/old_files - if find $(GENERATED_OUTPUT_DIRECTORY) -mindepth 1 | read; then \ - cp -rf $(GENERATED_OUTPUT_DIRECTORY)/* /tmp/old_files ;\ - fi rm -rf _generated ${GOPATH}/src/nexustempmodule @echo "Copying generated_base_structure to create directory structure" @echo "COMPILER_SRC_DIRECTORY: ${COMPILER_SRC_DIRECTORY}" @@ -165,7 +156,7 @@ run_generate_code: @echo "Nexus Compiler: Generating openapi schema" ./scripts/generate_openapi_schema.sh @echo "Nexus Compiler: Generating CRD yamls" - go run cmd/generate-openapischema/generate-openapischema.go -yamls-path _generated/crds -old-yamls-path /tmp/old_files/crds -force ${FORCE} + go run cmd/generate-openapischema/generate-openapischema.go -yamls-path _generated/crds -existing-CRDs-Path ${GENERATED_OUTPUT_DIRECTORY}/crds -force ${FORCE} git checkout -- pkg/openapi_generator/openapi/openapi_generated.go cp -r _generated/{client,apis,crds,common,nexus-client,helper,nexus-gql} ${GENERATED_OUTPUT_DIRECTORY} @echo "Nexus Compiler: Generating GRAPHQL PKG" @@ -188,15 +179,6 @@ run_generate_code: cp -r ${GOPATH}/src/nexustempmodule/nexus-gql/graphql.so ${GENERATED_OUTPUT_DIRECTORY}/nexus-gql @echo "Nexus Compiler: Compiler code generation completed" - -run_backup: - echo "Detected failure in build" - if find /tmp/old_files -mindepth 1 -maxdepth 1 | read; then \ - cp -rf /tmp/old_files/* ${GENERATED_OUTPUT_DIRECTORY} ;\ - else \ - echo "No files present"; \ - fi - .PHONY: test_generate_code_in_container test_generate_code_in_container: ${BUILDER_NAME}\:${BUILDER_TAG}.image.exists init_submodules $(call run_in_container, go install ../kube-openapi/cmd/nexus-openapi-gen && \ diff --git a/compiler/cmd/generate-openapischema/generate-openapischema.go b/compiler/cmd/generate-openapischema/generate-openapischema.go index 47c562dcf..3492601e2 100644 --- a/compiler/cmd/generate-openapischema/generate-openapischema.go +++ b/compiler/cmd/generate-openapischema/generate-openapischema.go @@ -13,12 +13,12 @@ import ( func main() { var ( - yamlsPath string - oldYamlPath string - forceUpgrade string // Used to denote the forced upgrade of a data model. + yamlsPath string + existingCRDsPath string + forceUpgrade string // Used to denote the forced upgrade of a data model. ) flag.StringVar(&yamlsPath, "yamls-path", "", "Path to directory containing CRD YAML definitions") - flag.StringVar(&oldYamlPath, "old-yamls-path", "", "Path to directory containing existing CRD YAML definitions") + flag.StringVar(&existingCRDsPath, "existing-CRDs-Path", "", "Path to directory containing existing CRD YAML definitions") flag.StringVar(&forceUpgrade, "force", "", "Set to true to force the nexus datamodel upgrade. \"+\n\t\t\t\"Defaults to `false`") flag.Parse() if yamlsPath == "" { @@ -27,7 +27,7 @@ func main() { force, err := strconv.ParseBool(forceUpgrade) if err != nil { - panic("invalid flag for nexus datamodel upgrade") + panic(fmt.Sprintf("invalid flag for nexus datamodel upgrade %v", err)) } ref := func(pkg string) spec.Ref { @@ -56,8 +56,12 @@ func main() { "Refer to %q for possible causes and solutions\n", readmePath) panic("Missing schemas!") } - err = g.UpdateYAMLs(yamlsPath, oldYamlPath, force) + err = g.UpdateYAMLs(yamlsPath) if err != nil { panic(err) } + + if err = generator.CheckBackwardCompatibility(existingCRDsPath, yamlsPath, force); err != nil { + panic(fmt.Sprintf("Error occurred when checking datamodel compatibility: %v", err)) + } } diff --git a/compiler/example/output/generated/crds/config_footype.yaml b/compiler/example/output/generated/crds/config_footype.yaml deleted file mode 100644 index c74e4ac4b..000000000 --- a/compiler/example/output/generated/crds/config_footype.yaml +++ /dev/null @@ -1,95 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - nexus: | - {"name":"config.FooType","hierarchy":["roots.root.tsm.tanzu.vmware.com","configs.config.tsm.tanzu.vmware.com"],"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} - creationTimestamp: null - name: footypes.config.tsm.tanzu.vmware.com -spec: - conversion: - strategy: None - group: config.tsm.tanzu.vmware.com - names: - kind: FooType - listKind: FooTypeList - plural: footypes - shortNames: - - footype - singular: footype - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - properties: - FooC: - format: byte - type: integer - FooD: - format: float - type: number - fooA: - additionalProperties: - type: string - type: object - fooB: - items: - type: string - type: array - fooE: - format: byte - type: integer - fooF: - format: float - type: number - required: - - fooA - - fooB - - FooC - - FooD - - fooE - - fooF - type: object - status: - properties: - nexus: - properties: - remoteGeneration: - format: int64 - type: integer - sourceGeneration: - format: int64 - type: integer - required: - - sourceGeneration - - remoteGeneration - type: object - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: - - v1 diff --git a/compiler/example/output/generated/crds/gns_emptydata.yaml b/compiler/example/output/generated/crds/gns_emptydata.yaml deleted file mode 100644 index 01bd47517..000000000 --- a/compiler/example/output/generated/crds/gns_emptydata.yaml +++ /dev/null @@ -1,65 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - nexus: | - {"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} - creationTimestamp: null - name: emptydatas.gns.tsm.tanzu.vmware.com -spec: - conversion: - strategy: None - group: gns.tsm.tanzu.vmware.com - names: - kind: EmptyData - listKind: EmptyDataList - plural: emptydatas - shortNames: - - emptydata - singular: emptydata - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - status: - properties: - nexus: - properties: - remoteGeneration: - format: int64 - type: integer - sourceGeneration: - format: int64 - type: integer - required: - - sourceGeneration - - remoteGeneration - type: object - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: - - v1 diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index e12fa98a0..cf56379ef 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -3,6 +3,9 @@ package openapi_generator import ( "bytes" "fmt" + "os" + "path/filepath" + "strings" "github.com/ghodss/yaml" log "github.com/sirupsen/logrus" @@ -11,36 +14,102 @@ import ( extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) -func CheckBackwardCompatibility(inCompatibleCRDs []*bytes.Buffer, crd extensionsv1.CustomResourceDefinition, oldCRDContent []byte) ([]*bytes.Buffer, error) { - oldCRDParts := splitCRDs(oldCRDContent) - for _, oldPart := range oldCRDParts { - if oldPart == "" { +func compareCRDs(inCompatibleCRDs []*bytes.Buffer, existingCRDContent string, newCRDContent []byte) ([]*bytes.Buffer, error) { + newCRDParts := splitCRDs(newCRDContent) + for _, newCRDPart := range newCRDParts { + if newCRDPart == "" { continue } - oldCRD := &extensionsv1.CustomResourceDefinition{} - err := yaml.Unmarshal([]byte(oldPart), oldCRD) + + newCRD := &extensionsv1.CustomResourceDefinition{} + err := yaml.Unmarshal([]byte(newCRDPart), newCRD) if err != nil { - return nil, fmt.Errorf("error unmarshaling existing crd: %v", err) + return nil, fmt.Errorf("error unmarshaling new CRD: %v", err) } - newCRDPart, err := yaml.Marshal(&crd) + existingCRD := &extensionsv1.CustomResourceDefinition{} + err = yaml.Unmarshal([]byte(existingCRDContent), existingCRD) if err != nil { - return nil, fmt.Errorf("error marshaling new crd: %v", err) + return nil, fmt.Errorf("error unmarshaling existing CRD: %v", err) } - if oldCRD.Name != crd.Name { + if newCRD.Name != existingCRD.Name { continue } // When there is a backward incompatibility, we fail the build if we don't force an upgrade. - isInCompatible, message, err := nexus_compare.CompareFiles([]byte(oldPart), newCRDPart) + isInCompatible, message, err := nexus_compare.CompareFiles([]byte(existingCRDContent), []byte(newCRDPart)) if err != nil { - log.Errorf("Error occurred while checking CRD's %q backward compatibility: %v", crd.Name, err) + panic(fmt.Sprintf("Error occurred while checking CRD's %q backward compatibility: %v", existingCRD.Name, err)) } if isInCompatible { - log.Warnf("CRD %q is incompatible with the previous version", crd.Name) + log.Warnf("CRD %q is incompatible with the previous version", existingCRD.Name) inCompatibleCRDs = append(inCompatibleCRDs, message) } } return inCompatibleCRDs, nil } + +func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) error { + var inCompatibleCRDs []*bytes.Buffer + if err := filepath.Walk(existingCRDsPath, func(path string, info os.FileInfo, err error) error { + if err != nil { + return fmt.Errorf("walking existing CRD files: %v", err) + } + + if !strings.HasSuffix(info.Name(), ".yaml") { + return nil + } + + if info.IsDir() { + fmt.Printf("Skipping dir %q\n", path) + return nil + } + + existingCRDContent, err := os.ReadFile(path) + if err != nil { + return fmt.Errorf("error reading the existing CRD file on path %q: %v", path, err) + } + + /* + Find the new CRD for the file with the same name as the existing CRD file and compare it to the new CRD spec provided. + existingCRDsPath - indicates the directory path of the existing crd yamls + Ex: the path will be `example/output/generated/crds` + + path - indicates the file path of node + Ex: For the node `Config` the path will be `example/output/generated/crds/config_config.yaml` + + yamlsPath - indicates the directory path of new crd yamls + Ex: the path will be `_generated/crds` + */ + + newFilePath := yamlsPath + strings.TrimPrefix(path, existingCRDsPath) + newCRDContent, err := os.ReadFile(newFilePath) + if err != nil || len(newCRDContent) == 0 { + return fmt.Errorf("error reading the crd file on the path, appears CRD is removed %q: %v", newFilePath, err) + } + + existingCRDParts := splitCRDs(existingCRDContent) + for _, existingCRDPart := range existingCRDParts { + if existingCRDPart == "" { + continue + } + + if inCompatibleCRDs, err = compareCRDs(inCompatibleCRDs, existingCRDPart, newCRDContent); err != nil { + return err + } + } + return nil + }); err != nil { + return err + } + + if inCompatibleCRDs != nil { + if !force { + // If the CRD are incompatible with the previous version, this will fail the build. + return fmt.Errorf("datamodel upgrade failed due to incompatible datamodel changes:\n %v", inCompatibleCRDs) + } + log.Warnf("Upgrading the data model that is incompatible with the previous version: %v", inCompatibleCRDs) + } + return nil +} diff --git a/compiler/pkg/openapi_generator/generator.go b/compiler/pkg/openapi_generator/generator.go index f98421176..032ae1e03 100644 --- a/compiler/pkg/openapi_generator/generator.go +++ b/compiler/pkg/openapi_generator/generator.go @@ -1,9 +1,7 @@ package openapi_generator import ( - "bytes" "encoding/json" - "errors" "fmt" "io/ioutil" "os" @@ -11,8 +9,6 @@ import ( "strings" "github.com/ghodss/yaml" - log "github.com/sirupsen/logrus" - "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) @@ -342,9 +338,8 @@ func splitCRDs(content []byte) []string { return strings.Split(string(content), "---") } -func (g *Generator) UpdateYAMLs(yamlsPath, oldYamlsPath string, force bool) error { - var inCompatibleCRDs []*bytes.Buffer - if err := filepath.Walk(yamlsPath, func(path string, info os.FileInfo, err error) error { +func (g *Generator) UpdateYAMLs(yamlsPath string) error { + return filepath.Walk(yamlsPath, func(path string, info os.FileInfo, err error) error { if err != nil { return fmt.Errorf("walking files: %v", err) } @@ -382,32 +377,6 @@ func (g *Generator) UpdateYAMLs(yamlsPath, oldYamlsPath string, force bool) erro if err != nil { return err } - - /* - Find the old CRD for the file with the same name as the new CRD file and compare it to the new CRD spec provided. - yamlsPath - indicates the directory path of new crd yamls - Ex: the path will be `_generated/crds` - - path - indicates the file path of node - Ex: For the node `Config` the path will be `_generated/crds/config_config.yaml` - - oldYamlsPath - indicates the directory path of the existing crd yamls - Ex: the path will be `tmp/old-files/old-crds` - */ - oldFilePath := oldYamlsPath + strings.TrimPrefix(path, yamlsPath) - oldCRDContent, err := os.ReadFile(oldFilePath) - if err != nil { - if !errors.Is(err, os.ErrNotExist) { - return fmt.Errorf("error reading the existing crd file on path %q: %v", oldFilePath, err) - } - log.Debugf("Can't find the existing crd file on path %s", oldFilePath) - } - - if oldCRDContent != nil { - if inCompatibleCRDs, err = CheckBackwardCompatibility(inCompatibleCRDs, crd, oldCRDContent); err != nil { - return err - } - } crds = append(crds, crd) } @@ -436,18 +405,7 @@ func (g *Generator) UpdateYAMLs(yamlsPath, oldYamlsPath string, force bool) erro } } return nil - }); err != nil { - return err - } - - if inCompatibleCRDs != nil { - if !force { - // If the CRD are incompatible with the previous version, this will fail the build. - return fmt.Errorf("datamodel upgrade failed due to backward incompatible changes:\n %v", inCompatibleCRDs) - } - log.Warnf("Upgrading the data model that is incompatible with the previous version: %v", inCompatibleCRDs) - } - return nil + }) } func (g *Generator) addCustomResourceValidation(crd *extensionsv1.CustomResourceDefinition) error { diff --git a/compiler/pkg/openapi_generator/generator_suite_test.go b/compiler/pkg/openapi_generator/generator_suite_test.go index 6510a4bcb..d9221a35b 100644 --- a/compiler/pkg/openapi_generator/generator_suite_test.go +++ b/compiler/pkg/openapi_generator/generator_suite_test.go @@ -29,13 +29,10 @@ func createFileWithEmptyYAMLDefinitions(tmpDir string, names []string) string { } func getEmptyYAMLDefinition(name string) string { - format := fmt.Sprintf(`--- + format := `--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":%q,"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: NAMEs.test.it spec: @@ -47,7 +44,7 @@ spec: listKind: CAPITAL_NAMEList plural: NAMEs shortNames: - - NAME + - NAME singular: NAME scope: Namespaced versions: @@ -60,8 +57,7 @@ status: plural: "" conditions: null storedVersions: - - v1 -`, name) + - v1` capitalName := strings.ToUpper(name[:1]) + name[1:] format = strings.ReplaceAll(format, "CAPITAL_NAME", capitalName) return strings.ReplaceAll(format, "NAME", name) diff --git a/compiler/pkg/openapi_generator/generator_test.go b/compiler/pkg/openapi_generator/generator_test.go index f4177169c..14c11c6f4 100644 --- a/compiler/pkg/openapi_generator/generator_test.go +++ b/compiler/pkg/openapi_generator/generator_test.go @@ -1,35 +1,35 @@ package openapi_generator_test import ( - "bytes" "encoding/json" "fmt" "io/ioutil" "os" + "path/filepath" "strings" "github.com/ghodss/yaml" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + log "github.com/sirupsen/logrus" - generator2 "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/generator" + extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + + pkg_generator "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/generator" generator "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/openapi_generator" "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/openapi_generator/test_data/openapi" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/validation/spec" - extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) var _ = Describe("Generator", func() { var ( tmpDir string - oldDir string ) BeforeEach(func() { var err error tmpDir, err = ioutil.TempDir("", "generator-test-") - oldDir = "test_data" Expect(err).NotTo(HaveOccurred()) }) @@ -81,9 +81,8 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"foowrapper"}) - // should pass the backward compatibility check - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) - compareTmpFileWithExpectedFile(tmpFile, "test_data/foowrapper.yaml") + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) + compareTmpFileWithExpectedFile(tmpFile, "test_data/00_proto_schema.yaml") }) It("01 creates schemas for simple types", func() { @@ -116,7 +115,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"foo", "fizz"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/01_simple_schema.yaml") }) @@ -150,7 +149,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/02_ref_in_property.yaml") }) @@ -190,7 +189,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/03_ref_in_items_single.yaml") }) @@ -237,7 +236,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/04_ref_in_items_multiple.yaml") }) @@ -305,7 +304,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/05_ref_in_additional_property.yaml") }) }) @@ -337,7 +336,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/06_enum_in_property.yaml") }) @@ -388,7 +387,7 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"bar"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/07_enum_in_array_property.yaml") }) }) @@ -466,54 +465,11 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) tmpFile := createFileWithEmptyYAMLDefinitions(tmpDir, []string{"fizz"}) - Expect(gen.UpdateYAMLs(tmpDir, oldDir, false)).To(Succeed()) + Expect(gen.UpdateYAMLs(tmpDir)).To(Succeed()) compareTmpFileWithExpectedFile(tmpFile, "test_data/08_kubernetes_flags.yaml") }) Context("checks backward compatibility", func() { - It("should detect any incompatible changes to crds successfully", func() { - var inCompatibleCRDBuffer []*bytes.Buffer - crd := &extensionsv1.CustomResourceDefinition{} - parts := strings.Split(baseSpec, "---") - err := yaml.Unmarshal([]byte(parts[1]), crd) - Expect(err).ToNot(HaveOccurred()) - - // change in annotation - nexusAnnotation := crd.ObjectMeta.Annotations["nexus"] - n := generator2.NexusAnnotation{} - err = json.Unmarshal([]byte(nexusAnnotation), &n) - Expect(err).ToNot(HaveOccurred()) - - // modify singleton field to `true` - n.IsSingleton = true - b, err := json.Marshal(n) - Expect(err).ToNot(HaveOccurred()) - crd.ObjectMeta.Annotations["nexus"] = string(b) - - // change in type - doubleVal := crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["spec"].Properties["name"] - doubleVal.Type = "integer" - doubleVal.Format = "integer" - crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["spec"].Properties["name"] = doubleVal - - // adding a new field - crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["spec"].Properties["new-field"] = extensionsv1.JSONSchemaProps{Type: "string"} - - // deleting a field - delete(crd.Spec.Versions[0].Schema.OpenAPIV3Schema.Properties["status"].Properties, "nexus") - - inCompatibleCRDBuffer, err = generator.CheckBackwardCompatibility(inCompatibleCRDBuffer, *crd, []byte(baseSpec)) - Expect(err).ToNot(HaveOccurred()) - for _, c := range inCompatibleCRDBuffer { - Expect(c.String()).To(Equal("detected changes in model stored in ignorechilds.gns.tsm.tanzu.vmware.com\n\nspec changes: " + - "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/type\n ± value change\n - string\n + integer\n \n\nstatus changes: " + - "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/status\n - one field removed:\n properties:\n nexus:\n type: object\n " + - " required:\n - sourceGeneration\n - remoteGeneration\n properties:\n remoteGeneration:\n type: integer\n " + - "format: int64\n sourceGeneration:\n type: integer\n format: int64\n \n " + - "\n\nnexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n")) - } - }) - It("should check for incompatible changes when forcing flag enable/disable between new and existing CRDs", func() { rawDefs := map[string]common.OpenAPIDefinition{ getSchemaName("foo"): { @@ -559,81 +515,90 @@ var _ = Describe("Generator", func() { err = os.WriteFile(tmpFile, []byte(newFooCRD), 0665) Expect(err).NotTo(HaveOccurred()) + // should fail when change in annotation + fooContent, err := os.ReadFile(tmpFile) + Expect(err).To(BeNil()) + + var crd extensionsv1.CustomResourceDefinition + err = yaml.Unmarshal(fooContent, &crd) + Expect(err).To(BeNil()) + + f, err := os.OpenFile(tmpFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0755) + Expect(err).To(BeNil()) + + ann := crd.Annotations["nexus"] + nexusAnnotation := &pkg_generator.NexusAnnotation{} + err = json.Unmarshal([]byte(ann), &nexusAnnotation) + Expect(err).To(BeNil()) + + // modify singleton field to `true` which leads to DM incompatible with previous version + nexusAnnotation.IsSingleton = true + annotationInByte, err := yaml.Marshal(nexusAnnotation) + Expect(err).To(BeNil()) + + crd.Annotations["nexus"] = string(annotationInByte) + serialized, err := yaml.Marshal(crd) + Expect(err).To(BeNil()) + + _, err = f.Write(serialized) + Expect(err).To(BeNil()) + + oldCRDDir := exampleTempTestDir("test_data/foos.yaml") + // should be unsuccessful due to the incompatibility of the new and old CDs + forcing an upgrade=false - err = gen.UpdateYAMLs(tmpDir, oldDir, false) - Expect(err.Error()).To(Equal("datamodel upgrade failed due to backward incompatible changes:\n " + + err = gen.UpdateYAMLs(tmpDir) + Expect(err).To(BeNil()) + + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes:\n " + "[detected changes in model stored in foos\n\nspec changes: " + - "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n - " + - "one field removed:\n " + - " password:\n " + + "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n " + + "- one field removed:\n " + + "password:\n " + "type: string\n " + - "format: string\n " + - "\n \n\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/format\n " + + "format: string\n \n \n\n" + + "/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/format\n " + "± value change\n " + "- string\n " + - "+ int32\n " + - "\n\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/type\n " + - " ± value change\n " + + "+ int32\n \n\n" + + "/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/type\n " + + "± value change\n " + "- string\n " + - "+ integer\n " + - "\n\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required/0\n " + - " ± value change\n " + + "+ integer\n \n\n" + + "/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required/0\n " + + "± value change\n " + "- password\n " + - "+ changePassword\n \n\n]")) + "+ changePassword\n \n\n" + + "nexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n]")) - // should succeed even if there are incompatible changes when force upgrade is true. - err = gen.UpdateYAMLs(tmpDir, oldDir, true) - Expect(err).To(BeNil()) + // should fail when CRD is removed in the new list + oldCRDDir = exampleTempTestDir("test_data/zoos.yaml") + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) + Expect(err.Error()).Should(ContainSubstring("error reading the crd file on the path, appears CRD is removed")) }) - }) }) -var baseSpec = ` ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - nexus: > - {"name":"gns.IgnoreChild","hierarchy":["roots.root.tsm.tanzu.vmware.com","configs.config.tsm.tanzu.vmware.com","gnses.gns.tsm.tanzu.vmware.com"],"is_singleton":false,"nexus-rest-api-gen":{"uris":null}} - creationTimestamp: null - name: ignorechilds.gns.tsm.tanzu.vmware.com -spec: - conversion: - strategy: None - group: gns.tsm.tanzu.vmware.com - versions: - - name: v1 - schema: - openAPIV3Schema: - properties: - spec: - properties: - name: - type: string - required: - - name - type: object - status: - properties: - nexus: - properties: - remoteGeneration: - format: int64 - type: integer - sourceGeneration: - format: int64 - type: integer - required: - - sourceGeneration - - remoteGeneration - type: object - type: object - type: object -` - -var newFooCRD = `--- +func exampleTempTestDir(path string) string { + dir, err := os.MkdirTemp("", "compatibility-test-") + if err != nil { + log.Fatal(err) + } + + data, err := os.ReadFile(path) + if err != nil { + fmt.Println(err) + } + + fileName := filepath.Base(path) + file := filepath.Join(dir, fileName) + if err := os.WriteFile(file, data, 0666); err != nil { + log.Fatal(err) + } + return dir +} + +var newFooCRD = ` apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: diff --git a/compiler/pkg/openapi_generator/test_data/foowrapper.yaml b/compiler/pkg/openapi_generator/test_data/00_proto_schema.yaml similarity index 96% rename from compiler/pkg/openapi_generator/test_data/foowrapper.yaml rename to compiler/pkg/openapi_generator/test_data/00_proto_schema.yaml index 1d3091bfb..f7ecf32a7 100644 --- a/compiler/pkg/openapi_generator/test_data/foowrapper.yaml +++ b/compiler/pkg/openapi_generator/test_data/00_proto_schema.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"foowrapper","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: foowrappers.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml b/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml index 6e5a4819b..e87abe27a 100644 --- a/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml +++ b/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"foo","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: foos.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml b/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml index a0e205c64..27ac88b1d 100644 --- a/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/02_ref_in_property.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml b/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml index 72f34482a..8e88d52d8 100644 --- a/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml +++ b/compiler/pkg/openapi_generator/test_data/03_ref_in_items_single.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml b/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml index 04303de19..5ce6bfbc6 100644 --- a/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml +++ b/compiler/pkg/openapi_generator/test_data/04_ref_in_items_multiple.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml b/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml index 5e20453ff..6f6591077 100644 --- a/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/05_ref_in_additional_property.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml b/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml index 976953736..530618073 100644 --- a/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/06_enum_in_property.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml b/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml index 4c491aed0..080d0290b 100644 --- a/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml +++ b/compiler/pkg/openapi_generator/test_data/07_enum_in_array_property.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"bar","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: bars.test.it spec: diff --git a/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml b/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml index f18b7933c..832474b86 100644 --- a/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml +++ b/compiler/pkg/openapi_generator/test_data/08_kubernetes_flags.yaml @@ -2,9 +2,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"fizz","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null name: fizzs.test.it spec: From 5176e5caff287018f9a5e2b5ec8da01c099673fc Mon Sep 17 00:00:00 2001 From: pavithras Date: Sat, 17 Dec 2022 13:30:34 +0530 Subject: [PATCH 05/21] Fix tests --- .../check-backward-compatibility.go | 65 +++++++++++++------ compiler/pkg/openapi_generator/generator.go | 6 +- .../pkg/openapi_generator/generator_test.go | 29 +++++---- .../test_data/01_simple_schema.yaml | 3 - 4 files changed, 63 insertions(+), 40 deletions(-) diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index cf56379ef..42305fa4a 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -2,6 +2,7 @@ package openapi_generator import ( "bytes" + "errors" "fmt" "os" "path/filepath" @@ -14,7 +15,11 @@ import ( extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" ) -func compareCRDs(inCompatibleCRDs []*bytes.Buffer, existingCRDContent string, newCRDContent []byte) ([]*bytes.Buffer, error) { +func splitCRDs(content []byte) []string { + return strings.Split(string(content), "---") +} + +func compareCRDs(inCompatibleCRDs []*bytes.Buffer, existingCRDName, existingCRDContent string, newCRDContent []byte) ([]*bytes.Buffer, error) { newCRDParts := splitCRDs(newCRDContent) for _, newCRDPart := range newCRDParts { if newCRDPart == "" { @@ -27,23 +32,17 @@ func compareCRDs(inCompatibleCRDs []*bytes.Buffer, existingCRDContent string, ne return nil, fmt.Errorf("error unmarshaling new CRD: %v", err) } - existingCRD := &extensionsv1.CustomResourceDefinition{} - err = yaml.Unmarshal([]byte(existingCRDContent), existingCRD) - if err != nil { - return nil, fmt.Errorf("error unmarshaling existing CRD: %v", err) - } - - if newCRD.Name != existingCRD.Name { + if newCRD.Name != existingCRDName { continue } // When there is a backward incompatibility, we fail the build if we don't force an upgrade. isInCompatible, message, err := nexus_compare.CompareFiles([]byte(existingCRDContent), []byte(newCRDPart)) if err != nil { - panic(fmt.Sprintf("Error occurred while checking CRD's %q backward compatibility: %v", existingCRD.Name, err)) + panic(fmt.Sprintf("Error occurred while checking CRD's %q backward compatibility: %v", existingCRDName, err)) } if isInCompatible { - log.Warnf("CRD %q is incompatible with the previous version", existingCRD.Name) + log.Warnf("CRD %q is incompatible with the previous version", existingCRDName) inCompatibleCRDs = append(inCompatibleCRDs, message) } } @@ -51,18 +50,22 @@ func compareCRDs(inCompatibleCRDs []*bytes.Buffer, existingCRDContent string, ne } func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) error { - var inCompatibleCRDs []*bytes.Buffer + var ( + removedCRDs []string + inCompatibleCRDs []*bytes.Buffer + ) + if err := filepath.Walk(existingCRDsPath, func(path string, info os.FileInfo, err error) error { if err != nil { return fmt.Errorf("walking existing CRD files: %v", err) } - if !strings.HasSuffix(info.Name(), ".yaml") { + if info.IsDir() { + fmt.Printf("Skipping dir %q\n", path) return nil } - if info.IsDir() { - fmt.Printf("Skipping dir %q\n", path) + if !strings.HasSuffix(info.Name(), ".yaml") { return nil } @@ -85,8 +88,8 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) newFilePath := yamlsPath + strings.TrimPrefix(path, existingCRDsPath) newCRDContent, err := os.ReadFile(newFilePath) - if err != nil || len(newCRDContent) == 0 { - return fmt.Errorf("error reading the crd file on the path, appears CRD is removed %q: %v", newFilePath, err) + if err != nil && !errors.Is(err, os.ErrNotExist) { + return fmt.Errorf("error reading the crd file on the path %q: %v", newFilePath, err) } existingCRDParts := splitCRDs(existingCRDContent) @@ -95,7 +98,19 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) continue } - if inCompatibleCRDs, err = compareCRDs(inCompatibleCRDs, existingCRDPart, newCRDContent); err != nil { + existingCRD := &extensionsv1.CustomResourceDefinition{} + err := yaml.Unmarshal([]byte(existingCRDPart), existingCRD) + if err != nil { + return fmt.Errorf("error unmarshaling existing CRD: %v", err) + } + + // Appears node is removed in the latest version + if len(newCRDContent) == 0 { + removedCRDs = append(removedCRDs, existingCRD.Name) + continue + } + + if inCompatibleCRDs, err = compareCRDs(inCompatibleCRDs, existingCRD.Name, existingCRDPart, newCRDContent); err != nil { return err } } @@ -104,12 +119,20 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) return err } - if inCompatibleCRDs != nil { + if len(inCompatibleCRDs) > 0 || len(removedCRDs) > 0 { + inCompatibleCRDsChanges := &bytes.Buffer{} + for _, crd := range inCompatibleCRDs { + inCompatibleCRDsChanges.Write(crd.Bytes()) + } + for _, crd := range removedCRDs { + inCompatibleCRDsChanges.WriteString(fmt.Sprintf("%q is deleted", crd)) + } + // If the CRD are incompatible with the previous version, this will fail the build. if !force { - // If the CRD are incompatible with the previous version, this will fail the build. - return fmt.Errorf("datamodel upgrade failed due to incompatible datamodel changes:\n %v", inCompatibleCRDs) + return fmt.Errorf("datamodel upgrade failed due to incompatible datamodel changes: \n %v", inCompatibleCRDsChanges) } - log.Warnf("Upgrading the data model that is incompatible with the previous version: %v", inCompatibleCRDs) + log.Warnf("Upgrading the data model that is incompatible with the previous version: %v", inCompatibleCRDsChanges) } + return nil } diff --git a/compiler/pkg/openapi_generator/generator.go b/compiler/pkg/openapi_generator/generator.go index 032ae1e03..96ce548c8 100644 --- a/compiler/pkg/openapi_generator/generator.go +++ b/compiler/pkg/openapi_generator/generator.go @@ -334,10 +334,6 @@ func (g *Generator) resolveRefsInProperty(propSchema *extensionsv1.JSONSchemaPro } } -func splitCRDs(content []byte) []string { - return strings.Split(string(content), "---") -} - func (g *Generator) UpdateYAMLs(yamlsPath string) error { return filepath.Walk(yamlsPath, func(path string, info os.FileInfo, err error) error { if err != nil { @@ -354,7 +350,7 @@ func (g *Generator) UpdateYAMLs(yamlsPath string) error { return fmt.Errorf("reading file %q: %v", path, err) } - parts := splitCRDs(content) + parts := strings.Split(string(content), "---") crds := make([]extensionsv1.CustomResourceDefinition, len(parts)) for _, part := range parts { if part == "" { diff --git a/compiler/pkg/openapi_generator/generator_test.go b/compiler/pkg/openapi_generator/generator_test.go index 14c11c6f4..9a1c8ea24 100644 --- a/compiler/pkg/openapi_generator/generator_test.go +++ b/compiler/pkg/openapi_generator/generator_test.go @@ -543,16 +543,16 @@ var _ = Describe("Generator", func() { _, err = f.Write(serialized) Expect(err).To(BeNil()) - oldCRDDir := exampleTempTestDir("test_data/foos.yaml") - // should be unsuccessful due to the incompatibility of the new and old CDs + forcing an upgrade=false err = gen.UpdateYAMLs(tmpDir) Expect(err).To(BeNil()) + oldCRDDir := exampleTempTestDir("foos.yaml") err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) - Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes:\n " + - "[detected changes in model stored in foos\n\nspec changes: " + - "\n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n " + + cleanTempTestDir(oldCRDDir) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n " + + "detected changes in model stored in foos\n\n" + + "spec changes: \n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n " + "- one field removed:\n " + "password:\n " + "type: string\n " + @@ -569,28 +569,28 @@ var _ = Describe("Generator", func() { "± value change\n " + "- password\n " + "+ changePassword\n \n\n" + - "nexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n]")) + "nexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n")) // should fail when CRD is removed in the new list - oldCRDDir = exampleTempTestDir("test_data/zoos.yaml") + oldCRDDir = exampleTempTestDir("zoos.yaml") err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) - Expect(err.Error()).Should(ContainSubstring("error reading the crd file on the path, appears CRD is removed")) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n \"foos\" is deleted")) + cleanTempTestDir(oldCRDDir) }) }) }) -func exampleTempTestDir(path string) string { +func exampleTempTestDir(fileName string) string { dir, err := os.MkdirTemp("", "compatibility-test-") if err != nil { log.Fatal(err) } - data, err := os.ReadFile(path) + data, err := os.ReadFile("test_data/foos.yaml") if err != nil { fmt.Println(err) } - fileName := filepath.Base(path) file := filepath.Join(dir, fileName) if err := os.WriteFile(file, data, 0666); err != nil { log.Fatal(err) @@ -598,6 +598,13 @@ func exampleTempTestDir(path string) string { return dir } +func cleanTempTestDir(dir string) { + err := os.RemoveAll(dir) + if err != nil { + fmt.Println(err) + } +} + var newFooCRD = ` apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition diff --git a/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml b/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml index e87abe27a..f59851279 100644 --- a/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml +++ b/compiler/pkg/openapi_generator/test_data/01_simple_schema.yaml @@ -41,9 +41,6 @@ status: apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - annotations: - nexus: | - {"name":"fizzs","is_singleton":false,"nexus-rest-api-gen":{"uris":null}} creationTimestamp: null creationTimestamp: null name: fizzs.test.it spec: From 377795ff51182a42efbb75ab9a755c5808a7b282 Mon Sep 17 00:00:00 2001 From: pavithras Date: Mon, 19 Dec 2022 12:32:39 +0530 Subject: [PATCH 06/21] make file changes --- compiler/Makefile | 1 + .../pkg/openapi_generator/check-backward-compatibility.go | 4 ++-- compiler/pkg/openapi_generator/generator_test.go | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index c5d81fb18..aa48bcf14 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -158,6 +158,7 @@ generate_code: @echo "Nexus Compiler: Generating CRD yamls" go run cmd/generate-openapischema/generate-openapischema.go -yamls-path _generated/crds -existing-CRDs-Path ${GENERATED_OUTPUT_DIRECTORY}/crds -force ${FORCE} git checkout -- pkg/openapi_generator/openapi/openapi_generated.go + rm -rf ${GENERATED_OUTPUT_DIRECTORY}/{client,apis,crds,common,nexus-client,helper,nexus-gql} cp -r _generated/{client,apis,crds,common,nexus-client,helper,nexus-gql} ${GENERATED_OUTPUT_DIRECTORY} @echo "Nexus Compiler: Generating GRAPHQL PKG" cd _generated && goimports -w . diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index 42305fa4a..7c45be78e 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -125,13 +125,13 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) inCompatibleCRDsChanges.Write(crd.Bytes()) } for _, crd := range removedCRDs { - inCompatibleCRDsChanges.WriteString(fmt.Sprintf("%q is deleted", crd)) + inCompatibleCRDsChanges.WriteString(fmt.Sprintf("%q is deleted\n", crd)) } // If the CRD are incompatible with the previous version, this will fail the build. if !force { return fmt.Errorf("datamodel upgrade failed due to incompatible datamodel changes: \n %v", inCompatibleCRDsChanges) } - log.Warnf("Upgrading the data model that is incompatible with the previous version: %v", inCompatibleCRDsChanges) + log.Warnf("Upgrading the data model that is incompatible with the previous version: \n %v", inCompatibleCRDsChanges) } return nil diff --git a/compiler/pkg/openapi_generator/generator_test.go b/compiler/pkg/openapi_generator/generator_test.go index 9a1c8ea24..75590a73d 100644 --- a/compiler/pkg/openapi_generator/generator_test.go +++ b/compiler/pkg/openapi_generator/generator_test.go @@ -574,7 +574,7 @@ var _ = Describe("Generator", func() { // should fail when CRD is removed in the new list oldCRDDir = exampleTempTestDir("zoos.yaml") err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) - Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n \"foos\" is deleted")) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n \"foos\" is deleted\n")) cleanTempTestDir(oldCRDDir) }) }) From e72c21f55c09e55a5d6885be75bb0537a91b1dd0 Mon Sep 17 00:00:00 2001 From: pavithras Date: Mon, 19 Dec 2022 17:19:27 +0530 Subject: [PATCH 07/21] Handle empty crds file --- .../check-backward-compatibility.go | 4 ++ .../pkg/openapi_generator/generator_test.go | 37 ++++++++++++++----- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index 7c45be78e..f98d24d62 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -57,6 +57,10 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) if err := filepath.Walk(existingCRDsPath, func(path string, info os.FileInfo, err error) error { if err != nil { + if errors.Is(err, os.ErrNotExist) { + fmt.Printf("No files exists on the path %q: %v", existingCRDsPath, err) + return nil + } return fmt.Errorf("walking existing CRD files: %v", err) } diff --git a/compiler/pkg/openapi_generator/generator_test.go b/compiler/pkg/openapi_generator/generator_test.go index 75590a73d..0c41414f5 100644 --- a/compiler/pkg/openapi_generator/generator_test.go +++ b/compiler/pkg/openapi_generator/generator_test.go @@ -11,8 +11,6 @@ import ( "github.com/ghodss/yaml" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - log "github.com/sirupsen/logrus" - extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" pkg_generator "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/generator" @@ -547,7 +545,9 @@ var _ = Describe("Generator", func() { err = gen.UpdateYAMLs(tmpDir) Expect(err).To(BeNil()) - oldCRDDir := exampleTempTestDir("foos.yaml") + oldCRDDir, err := exampleFileTempTestDir("foos.yaml") + Expect(err).NotTo(HaveOccurred()) + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) cleanTempTestDir(oldCRDDir) Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n " + @@ -572,30 +572,47 @@ var _ = Describe("Generator", func() { "nexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n")) // should fail when CRD is removed in the new list - oldCRDDir = exampleTempTestDir("zoos.yaml") + oldCRDDir, err = exampleFileTempTestDir("zoos.yaml") + Expect(err).NotTo(HaveOccurred()) + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n \"foos\" is deleted\n")) cleanTempTestDir(oldCRDDir) + + // shouldn't fail when no crds exists + emptyDir, err := exampleTestDir() + Expect(err).NotTo(HaveOccurred()) + err = generator.CheckBackwardCompatibility(emptyDir, tmpDir, false) + Expect(err).ToNot(HaveOccurred()) }) }) }) -func exampleTempTestDir(fileName string) string { +func exampleTestDir() (string, error) { dir, err := os.MkdirTemp("", "compatibility-test-") if err != nil { - log.Fatal(err) + return "", err } + return dir, nil +} + +func exampleFileTempTestDir(fileName string) (string, error) { + dir, err := exampleTestDir() + if err != nil { + return "", err + } data, err := os.ReadFile("test_data/foos.yaml") if err != nil { - fmt.Println(err) + return "", err } file := filepath.Join(dir, fileName) - if err := os.WriteFile(file, data, 0666); err != nil { - log.Fatal(err) + err = os.WriteFile(file, data, 0666) + if err != nil { + return "", err } - return dir + return dir, err } func cleanTempTestDir(dir string) { From afa82a2f59067bd700a3e828080552cb87d5aed2 Mon Sep 17 00:00:00 2001 From: pavithras Date: Wed, 11 Jan 2023 13:40:58 +0530 Subject: [PATCH 08/21] Ignore go mod errors --- compiler/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index aa48bcf14..a78b5f4dd 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -150,7 +150,7 @@ generate_code: CRD_MODULE_PATH=${CRD_MODULE_PATH} go run cmd/nexus-sdk/main.go -config-file ${CONFIG_FILE} -dsl ${DATAMODEL_PATH} -crd-output _generated -log-level ${LOG_LEVEL} mv _generated/api_names.sh scripts/ @echo "Nexus Compiler: Resolving datamodel dependencies" - cd _generated && ../scripts/pin_deps.sh ${COMPILER_SRC_DIRECTORY} && go mod tidy -e + cd _generated && ../scripts/pin_deps.sh ${COMPILER_SRC_DIRECTORY} && go mod tidy -e 2>/dev/null @echo "Nexus Compiler: Generating kuberenetes APIs" ./scripts/generate_k8s_api.sh @echo "Nexus Compiler: Generating openapi schema" @@ -167,7 +167,7 @@ generate_code: cd ${GOPATH}/src/nexustempmodule && cd nexus-gql && go mod init && \ go mod edit -replace nexustempmodule=${GOPATH}/src/nexustempmodule && \ ${COMPILER_SRC_DIRECTORY}/scripts/pin_graphql_build_version.sh ${COMPILER_SRC_DIRECTORY} && \ - go mod tidy -e && \ + go mod tidy -e 2>/dev/null && \ CGO_ENABLED=1 GOOS=linux \ go build --trimpath -o graphql.so -buildmode=plugin server.go @echo "Updating module name" From 340603484768c240ca948017039badb9c25f342c Mon Sep 17 00:00:00 2001 From: pavithras Date: Wed, 11 Jan 2023 18:40:35 +0530 Subject: [PATCH 09/21] Update go.mod with common-library --- compiler/Dockerfile | 2 +- compiler/Makefile | 2 +- compiler/go.mod | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/Dockerfile b/compiler/Dockerfile index b32726f26..09b477c72 100644 --- a/compiler/Dockerfile +++ b/compiler/Dockerfile @@ -6,7 +6,7 @@ ADD cmd/nexus-openapi-gen /go/bin/nexus-openapi-gen ADD cmd/gqlgen /go/bin/gqlgen WORKDIR /go/src/github.com/vmware-tanzu/graph-framework-for-microservices/compiler -RUN mv .git .gitmodules kube-openapi gqlgen nexus .. +RUN mv .git .gitmodules kube-openapi gqlgen nexus common-library .. RUN git config --global --add safe.directory '*' && git config --global --add url."https://github.com/".insteadOf "git@github.com:" RUN make init_submodules diff --git a/compiler/Makefile b/compiler/Makefile index a78b5f4dd..10b0a3d49 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -60,7 +60,7 @@ docker.builder: .PHONY: docker docker: init_submodules ${BUILDER_NAME}\:${BUILDER_TAG}.image.exists build_openapigen_in_container build_gqlgen_in_container git archive -o compiler.tar --format=tar HEAD - tar -rf compiler.tar ../.git ../.gitmodules ../gqlgen ../kube-openapi ../nexus + tar -rf compiler.tar ../.git ../.gitmodules ../gqlgen ../kube-openapi ../nexus ../common-library docker build --no-cache \ --build-arg BUILDER_TAG=${BUILDER_TAG} \ -t ${IMAGE_NAME}:${TAG} . diff --git a/compiler/go.mod b/compiler/go.mod index e946150b1..e4dc70936 100644 --- a/compiler/go.mod +++ b/compiler/go.mod @@ -81,3 +81,5 @@ replace github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi = replace github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen => ../gqlgen replace github.com/vmware-tanzu/graph-framework-for-microservices/nexus => ../nexus + +replace github.com/vmware-tanzu/graph-framework-for-microservices/common-library => ../common-library From 90e61832770bc5206a8cc0528214cbf20ac28862 Mon Sep 17 00:00:00 2001 From: rjanakiraman Date: Fri, 13 Jan 2023 15:21:59 +0530 Subject: [PATCH 10/21] change permisssions to _generated folder --- compiler/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/Makefile b/compiler/Makefile index 10b0a3d49..156e1cd4c 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -142,6 +142,7 @@ generate_code: @echo "Copying generated_base_structure to create directory structure" @echo "COMPILER_SRC_DIRECTORY: ${COMPILER_SRC_DIRECTORY}" cp -R _generated_base_structure _generated + chmod -R 0775 _generated @echo "Copying go.mod file of datamodel" cp ${DATAMODEL_PATH}/go.mod _generated/go.mod sed -i'.bak' -e "1s|.*|module nexustempmodule|" _generated/go.mod From d97dba79d3c82f86525eb83264e7d5ac34d5becf Mon Sep 17 00:00:00 2001 From: rjanakiraman Date: Mon, 16 Jan 2023 12:22:13 +0530 Subject: [PATCH 11/21] change permission for build directory instead of _generated --- compiler/Makefile | 2 +- .../openapi/openapi_generated.go.bak | 3418 +++++++++++++++++ 2 files changed, 3419 insertions(+), 1 deletion(-) create mode 100644 compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak diff --git a/compiler/Makefile b/compiler/Makefile index 156e1cd4c..7b0e27462 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -142,7 +142,6 @@ generate_code: @echo "Copying generated_base_structure to create directory structure" @echo "COMPILER_SRC_DIRECTORY: ${COMPILER_SRC_DIRECTORY}" cp -R _generated_base_structure _generated - chmod -R 0775 _generated @echo "Copying go.mod file of datamodel" cp ${DATAMODEL_PATH}/go.mod _generated/go.mod sed -i'.bak' -e "1s|.*|module nexustempmodule|" _generated/go.mod @@ -179,6 +178,7 @@ generate_code: @echo "Nexus Compiler: Moving files to output directory" cp -r _generated/{client,apis,crds,common,nexus-client,helper,nexus-gql} ${GENERATED_OUTPUT_DIRECTORY} cp -r ${GOPATH}/src/nexustempmodule/nexus-gql/graphql.so ${GENERATED_OUTPUT_DIRECTORY}/nexus-gql + chmod -R 0777 ${GENERATED_OUTPUT_DIRECTORY} @echo "Nexus Compiler: Compiler code generation completed" .PHONY: test_generate_code_in_container diff --git a/compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak b/compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak new file mode 100644 index 000000000..044841fe8 --- /dev/null +++ b/compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak @@ -0,0 +1,3418 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// Intentionally left empty + +// Code generated by nexus-openapi-gen. DO NOT EDIT. + +// This file was autogenerated by openapi-gen. Do not edit it manually! + +package openapi + +import ( + common "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" + spec "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/validation/spec" +) + +func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { + return map[string]common.OpenAPIDefinition{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Child(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Cluster": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Cluster(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ClusterNamespace": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ClusterNamespace(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Config": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Config(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigNexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigNexusStatus(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigSpec": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigSpec(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.CrossPackageTester": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_CrossPackageTester(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Domain": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Domain(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainNexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainNexusStatus(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainSpec": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainSpec(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.EmptyStructTest": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_EmptyStructTest(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABC": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABC(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCNexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCNexusStatus(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCSpec": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCSpec(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Link(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_MatchCondition(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_NexusStatus(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.SomeStruct": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_SomeStruct(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.StructWithEmbeddedField": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_StructWithEmbeddedField(ref), + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.TestValMarkers": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_TestValMarkers(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalDescription": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalDescription(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsData": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsData(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataSpec(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Answer": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Answer(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChild": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChild(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildSpec(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Child(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Description(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Dns": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Dns(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.DnsNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_DnsNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Foo": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Foo(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooSpec(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Gns": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Gns(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsSpec(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsState": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsState(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.HostPort": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_HostPort(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChild": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChild(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildSpec(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Link(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_NexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomDescription": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomDescription(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsData": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsData(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataNexusStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataSpec(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomStatus(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ReplicationSource": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ReplicationSource(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ServiceSegmentRef(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.gnsQueryFilters": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_gnsQueryFilters(ref), + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.metricsFilers": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_metricsFilers(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfig": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfig(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigNexusStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigSpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigSpec(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPSvcGroupLinkInfo": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPSvcGroupLinkInfo(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicy": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicy(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicyNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicyNexusStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicySpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicySpec(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalDescription": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalDescription(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyData": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyData(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataNexusStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataSpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataSpec(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Child(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Link(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_NexusStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.PolicyCfgAction": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_PolicyCfgAction(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomDescription": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomDescription(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyData": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyData(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataNexusStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataSpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataSpec(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomStatus(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ResourceGroupID": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupID(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ResourceGroupRef": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupRef(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicy": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicy(ref), + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicyNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicyNexusStatus(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Child(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Link(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NexusStatus(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NonNexusType": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NonNexusType(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Root": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Root(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootNexusStatus": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootNexusStatus(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootSpec": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootSpec(ref), + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.queryFilters": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_queryFilters(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Child(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Link(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_NexusStatus(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroup": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroup(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfo": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfo(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoNexusStatus": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoNexusStatus(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoSpec": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoSpec(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupNexusStatus": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupNexusStatus(ref), + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupSpec": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupSpec(ref), + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Cluster(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "myID": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"name", "myID"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ClusterNamespace(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "cluster": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition"), + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition"), + }, + }, + }, + Required: []string{"cluster", "namespace"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Config(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigNexusStatus", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigSpec"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "myStr0": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "myStr1": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "myStr2": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "xYZPort": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "aBCHost": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "clusterNamespaces": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ClusterNamespace"), + }, + }, + }, + }, + }, + "testValMarkers": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.TestValMarkers"), + }, + }, + "instance": { + SchemaProps: spec.SchemaProps{ + Type: []string{"number"}, + Format: "float", + }, + }, + "option_cu": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "gNSGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "dNSGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "vMPPoliciesGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "domainGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "fooExampleGvk": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + }, + }, + }, + "svcGrpInfoGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "aCPPoliciesGvk": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Link"), + }, + }, + }, + }, + }, + }, + Required: []string{"myStr0", "myStr1", "myStr2", "xYZPort", "aBCHost", "clusterNamespaces", "testValMarkers", "instance", "option_cu"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ClusterNamespace", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Link", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.TestValMarkers"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_CrossPackageTester(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "test": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"test"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Domain(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainNexusStatus", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainSpec"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "pointPort": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "pointString": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "pointInt": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "pointMap": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "pointSlice": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "sliceOfPoints": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "sliceOfArrPoints": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + "mapOfArrsPoints": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + "pointStruct": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Cluster"), + }, + }, + }, + Required: []string{"pointPort", "pointString", "pointInt", "pointMap", "pointSlice", "sliceOfPoints", "sliceOfArrPoints", "mapOfArrsPoints", "pointStruct"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Cluster"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_EmptyStructTest(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABC(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCNexusStatus", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCSpec"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "fooA": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "fooB": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "FooC": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "byte", + }, + }, + "FooD": { + SchemaProps: spec.SchemaProps{ + Type: []string{"number"}, + Format: "float", + }, + }, + "foo_e": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "byte", + }, + }, + "foo_f": { + SchemaProps: spec.SchemaProps{ + Type: []string{"number"}, + Format: "float", + }, + }, + }, + Required: []string{"fooA", "fooB", "FooC", "FooD", "foo_e", "foo_f"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_MatchCondition(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name", "type"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "sourceGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + "remoteGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + Required: []string{"sourceGeneration", "remoteGeneration"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_SomeStruct(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_StructWithEmbeddedField(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "SomeStruct": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.SomeStruct"), + }, + }, + "MyStr": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"SomeStruct", "MyStr"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.SomeStruct"}, + } +} + +func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_TestValMarkers(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "myStr": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + MaxLength: IntPtr(8), + MinLength: IntPtr(2), + Pattern: "ab", + }, + }, + "myInt": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + Maximum: FloatPtr(8), + Minimum: FloatPtr(2), + ExclusiveMaximum: true, + }, + }, + "mySlice": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + MaxItems: IntPtr(3), + MinItems: IntPtr(2), + UniqueItems: true, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + Required: []string{"myStr", "myInt", "mySlice"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "discriptionA": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionB": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionC": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionD": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsData(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataSpec"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalStatus"), + }, + }, + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "description": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalDescription"), + }, + }, + }, + Required: []string{"description"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalDescription"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "statusX": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "statusY": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"statusX", "statusY"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Answer(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChild(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildSpec"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Description(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "color": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "version": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "projectId": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "testAns": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Answer"), + }, + }, + }, + }, + }, + "instance": { + SchemaProps: spec.SchemaProps{ + Type: []string{"number"}, + Format: "float", + }, + }, + "hostPort": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.HostPort"), + }, + }, + }, + Required: []string{"color", "version", "projectId", "testAns", "instance", "hostPort"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Answer", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.HostPort"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Dns(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.DnsNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.DnsNexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_DnsNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Foo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooSpec"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "password": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"password"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Gns(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsSpec"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "state": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsState"), + }, + }, + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsState", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "domain": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + MaxLength: IntPtr(8), + MinLength: IntPtr(2), + Pattern: "abc", + }, + }, + "useSharedGateway": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + "description": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description"), + }, + }, + "meta": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "otherDescription": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description"), + }, + }, + "mapPointer": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "slicePointer": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "workloadSpec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("github.com/vmware-tanzu/cartographer/pkg/apis/v1alpha1.WorkloadSpec"), + }, + }, + "differentSpec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("github.com/vmware-tanzu/cartographer/pkg/apis/v1alpha1.WorkloadSpec"), + }, + }, + "serviceSegmentRef": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), + }, + }, + "serviceSegmentRefPointer": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), + }, + }, + "serviceSegmentRefs": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), + }, + }, + }, + }, + }, + "serviceSegmentRefMap": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), + }, + }, + }, + }, + }, + "gnsServiceGroupsGvk": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + }, + }, + }, + "gnsAccessControlPolicyGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "fooChildGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "ignoreChildGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "fooGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + "dnsGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Link"), + }, + }, + }, + Required: []string{"domain", "useSharedGateway", "description", "meta", "port", "otherDescription", "mapPointer", "slicePointer", "workloadSpec", "differentSpec"}, + }, + }, + Dependencies: []string{ + "github.com/vmware-tanzu/cartographer/pkg/apis/v1alpha1.WorkloadSpec", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Link", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsState(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "working": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + "temperature": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"working", "temperature"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_HostPort(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "host": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"host", "port"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChild(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildSpec"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "sourceGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + "remoteGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + Required: []string{"sourceGeneration", "remoteGeneration"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "discriptionA": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionB": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionC": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionD": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsData(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataSpec"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomStatus"), + }, + }, + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomStatus"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "description": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomDescription"), + }, + }, + }, + Required: []string{"description"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomDescription"}, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "statusX": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "statusY": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"statusX", "statusY"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ReplicationSource(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"kind"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ServiceSegmentRef(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "field1": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "field2": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"field1", "field2"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_gnsQueryFilters(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "startTime": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "endTime": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "interval": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "isServiceDeployment": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + "startVal": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"startTime", "endTime", "interval", "isServiceDeployment", "startVal"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_metricsFilers(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "startTime": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "endTime": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "timeInterval": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "someUserArg1": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "someUserArg2": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "someUserArg3": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + Required: []string{"startTime", "endTime", "timeInterval", "someUserArg1", "someUserArg2", "someUserArg3"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigSpec"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPStatus"), + }, + }, + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "displayName": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "gns": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "description": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "tags": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "projectId": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "conditions": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "destSvcGroupsGvk": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link"), + }, + }, + }, + }, + }, + "sourceSvcGroupsGvk": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link"), + }, + }, + }, + }, + }, + }, + Required: []string{"displayName", "gns", "description", "tags", "projectId", "conditions"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "statusABC": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "statusXYZ": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"statusABC", "statusXYZ"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPSvcGroupLinkInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "serviceName": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "serviceType": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"serviceName", "serviceType"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicySpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicyNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicyNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicySpec"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicyNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "policyConfigsGvk": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Child"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "discriptionA": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionB": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionC": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionD": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyData(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataSpec"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalStatus"), + }, + }, + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "description": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalDescription"), + }, + }, + }, + Required: []string{"description"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalDescription"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "statusX": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "statusY": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"statusX", "statusY"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "sourceGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + "remoteGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + Required: []string{"sourceGeneration", "remoteGeneration"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_PolicyCfgAction(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "action": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"action"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "discriptionA": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionB": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionC": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "discriptionD": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyData(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataSpec"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomStatus"), + }, + }, + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomStatus"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "description": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomDescription"), + }, + }, + }, + Required: []string{"description"}, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomDescription"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "statusX": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "statusY": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"statusX", "statusY"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupID(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name", "type"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupRef(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name", "type"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicyNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicyNexusStatus"}, + } +} + +func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicyNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "sourceGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + "remoteGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + Required: []string{"sourceGeneration", "remoteGeneration"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NonNexusType(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "test": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"test"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Root(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootNexusStatus", "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootSpec"}, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "configGvk": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Child"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Child"}, + } +} + +func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_queryFilters(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "startTime": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "endTime": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "interval": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "isServiceDeployment": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + "startVal": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"startTime", "endTime", "interval", "isServiceDeployment", "startVal"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "kind": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"group", "kind", "name"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "sourceGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + "remoteGeneration": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + Required: []string{"sourceGeneration", "remoteGeneration"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroup(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupNexusStatus", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupSpec"}, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoNexusStatus"), + }, + }, + }, + Required: []string{"metadata"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoNexusStatus", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoSpec"}, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "clusterName": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "domainName": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "serviceName": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "serviceType": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"clusterName", "domainName", "serviceName", "serviceType"}, + }, + }, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "nexus": { + SchemaProps: spec.SchemaProps{ + Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"}, + } +} + +func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "displayName": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "description": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "color": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"displayName", "description", "color"}, + }, + }, + } +} From 76bf80e0a197cdb5b9db47b894304fa8b3a6a4f6 Mon Sep 17 00:00:00 2001 From: pavithras Date: Mon, 16 Jan 2023 15:36:17 +0530 Subject: [PATCH 12/21] Generate code --- .../example/output/generated/apis/apis.go | 0 .../config.tsm.tanzu.vmware.com/register.go | 0 .../config.tsm.tanzu.vmware.com/v1/doc.go | 0 .../v1/register.go | 0 .../config.tsm.tanzu.vmware.com/v1/types.go | 0 .../v1/zz_generated.deepcopy.go | 0 .../apis/gns.tsm.tanzu.vmware.com/register.go | 0 .../apis/gns.tsm.tanzu.vmware.com/v1/doc.go | 0 .../gns.tsm.tanzu.vmware.com/v1/register.go | 0 .../apis/gns.tsm.tanzu.vmware.com/v1/types.go | 0 .../v1/zz_generated.deepcopy.go | 0 .../register.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/doc.go | 0 .../v1/register.go | 0 .../v1/types.go | 0 .../v1/zz_generated.deepcopy.go | 0 .../root.tsm.tanzu.vmware.com/register.go | 0 .../apis/root.tsm.tanzu.vmware.com/v1/doc.go | 0 .../root.tsm.tanzu.vmware.com/v1/register.go | 0 .../root.tsm.tanzu.vmware.com/v1/types.go | 0 .../v1/zz_generated.deepcopy.go | 0 .../register.go | 0 .../v1/doc.go | 0 .../v1/register.go | 0 .../v1/types.go | 0 .../v1/zz_generated.deepcopy.go | 0 .../client/clientset/versioned/clientset.go | 0 .../client/clientset/versioned/doc.go | 0 .../versioned/fake/clientset_generated.go | 0 .../client/clientset/versioned/fake/doc.go | 0 .../clientset/versioned/fake/register.go | 0 .../client/clientset/versioned/scheme/doc.go | 0 .../clientset/versioned/scheme/register.go | 0 .../config.tsm.tanzu.vmware.com/v1/config.go | 0 .../v1/config.tsm.tanzu.vmware.com_client.go | 0 .../config.tsm.tanzu.vmware.com/v1/doc.go | 0 .../config.tsm.tanzu.vmware.com/v1/domain.go | 0 .../v1/fake/doc.go | 0 .../v1/fake/fake_config.go | 0 ...fake_config.tsm.tanzu.vmware.com_client.go | 0 .../v1/fake/fake_domain.go | 0 .../v1/fake/fake_footypeabc.go | 0 .../v1/footypeabc.go | 0 .../v1/generated_expansion.go | 0 .../v1/additionalgnsdata.go | 0 .../gns.tsm.tanzu.vmware.com/v1/barchild.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/dns.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/doc.go | 0 .../gns.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../v1/fake/fake_additionalgnsdata.go | 0 .../v1/fake/fake_barchild.go | 0 .../v1/fake/fake_dns.go | 0 .../v1/fake/fake_foo.go | 0 .../v1/fake/fake_gns.go | 0 .../fake_gns.tsm.tanzu.vmware.com_client.go | 0 .../v1/fake/fake_ignorechild.go | 0 .../v1/fake/fake_randomgnsdata.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/foo.go | 0 .../v1/generated_expansion.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/gns.go | 0 .../v1/gns.tsm.tanzu.vmware.com_client.go | 0 .../v1/ignorechild.go | 0 .../v1/randomgnsdata.go | 0 .../v1/accesscontrolpolicy.go | 0 .../v1/acpconfig.go | 0 .../v1/additionalpolicydata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/doc.go | 0 .../v1/fake/doc.go | 0 .../v1/fake/fake_accesscontrolpolicy.go | 0 .../v1/fake/fake_acpconfig.go | 0 .../v1/fake/fake_additionalpolicydata.go | 0 ...e_policypkg.tsm.tanzu.vmware.com_client.go | 0 .../v1/fake/fake_randompolicydata.go | 0 .../v1/fake/fake_vmpolicy.go | 0 .../v1/generated_expansion.go | 0 .../policypkg.tsm.tanzu.vmware.com_client.go | 0 .../v1/randompolicydata.go | 0 .../v1/vmpolicy.go | 0 .../typed/root.tsm.tanzu.vmware.com/v1/doc.go | 0 .../root.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../v1/fake/fake_root.go | 0 .../fake_root.tsm.tanzu.vmware.com_client.go | 0 .../v1/generated_expansion.go | 0 .../root.tsm.tanzu.vmware.com/v1/root.go | 0 .../v1/root.tsm.tanzu.vmware.com_client.go | 0 .../v1/doc.go | 0 .../v1/fake/doc.go | 0 ...ervicegroup.tsm.tanzu.vmware.com_client.go | 0 .../v1/fake/fake_svcgroup.go | 0 .../v1/fake/fake_svcgrouplinkinfo.go | 0 .../v1/generated_expansion.go | 0 ...ervicegroup.tsm.tanzu.vmware.com_client.go | 0 .../v1/svcgroup.go | 0 .../v1/svcgrouplinkinfo.go | 0 .../config.tsm.tanzu.vmware.com/interface.go | 0 .../config.tsm.tanzu.vmware.com/v1/config.go | 0 .../config.tsm.tanzu.vmware.com/v1/domain.go | 0 .../v1/footypeabc.go | 0 .../v1/interface.go | 0 .../informers/externalversions/factory.go | 0 .../informers/externalversions/generic.go | 0 .../gns.tsm.tanzu.vmware.com/interface.go | 0 .../v1/additionalgnsdata.go | 0 .../gns.tsm.tanzu.vmware.com/v1/barchild.go | 0 .../gns.tsm.tanzu.vmware.com/v1/dns.go | 0 .../gns.tsm.tanzu.vmware.com/v1/foo.go | 0 .../gns.tsm.tanzu.vmware.com/v1/gns.go | 0 .../v1/ignorechild.go | 0 .../gns.tsm.tanzu.vmware.com/v1/interface.go | 0 .../v1/randomgnsdata.go | 0 .../internalinterfaces/factory_interfaces.go | 0 .../interface.go | 0 .../v1/accesscontrolpolicy.go | 0 .../v1/acpconfig.go | 0 .../v1/additionalpolicydata.go | 0 .../v1/interface.go | 0 .../v1/randompolicydata.go | 0 .../v1/vmpolicy.go | 0 .../root.tsm.tanzu.vmware.com/interface.go | 0 .../root.tsm.tanzu.vmware.com/v1/interface.go | 0 .../root.tsm.tanzu.vmware.com/v1/root.go | 0 .../interface.go | 0 .../v1/interface.go | 0 .../v1/svcgroup.go | 0 .../v1/svcgrouplinkinfo.go | 0 .../config.tsm.tanzu.vmware.com/v1/config.go | 0 .../config.tsm.tanzu.vmware.com/v1/domain.go | 0 .../v1/expansion_generated.go | 0 .../v1/footypeabc.go | 0 .../v1/additionalgnsdata.go | 0 .../gns.tsm.tanzu.vmware.com/v1/barchild.go | 0 .../gns.tsm.tanzu.vmware.com/v1/dns.go | 0 .../v1/expansion_generated.go | 0 .../gns.tsm.tanzu.vmware.com/v1/foo.go | 0 .../gns.tsm.tanzu.vmware.com/v1/gns.go | 0 .../v1/ignorechild.go | 0 .../v1/randomgnsdata.go | 0 .../v1/accesscontrolpolicy.go | 0 .../v1/acpconfig.go | 0 .../v1/additionalpolicydata.go | 0 .../v1/expansion_generated.go | 0 .../v1/randompolicydata.go | 0 .../v1/vmpolicy.go | 0 .../v1/expansion_generated.go | 0 .../root.tsm.tanzu.vmware.com/v1/root.go | 0 .../v1/expansion_generated.go | 0 .../v1/svcgroup.go | 0 .../v1/svcgrouplinkinfo.go | 0 .../example/output/generated/common/common.go | 0 .../example/output/generated/crds/.gitkeep | 0 .../output/generated/crds/config_config.yaml | 0 .../output/generated/crds/config_domain.yaml | 0 .../generated/crds/config_footypeabc.yaml | 0 .../generated/crds/gns_additionalgnsdata.yaml | 0 .../output/generated/crds/gns_barchild.yaml | 0 .../output/generated/crds/gns_dns.yaml | 0 .../output/generated/crds/gns_foo.yaml | 0 .../output/generated/crds/gns_gns.yaml | 0 .../generated/crds/gns_ignorechild.yaml | 0 .../generated/crds/gns_randomgnsdata.yaml | 0 .../crds/policypkg_accesscontrolpolicy.yaml | 0 .../generated/crds/policypkg_acpconfig.yaml | 0 .../crds/policypkg_additionalpolicydata.yaml | 0 .../crds/policypkg_randompolicydata.yaml | 0 .../generated/crds/policypkg_vmpolicy.yaml | 0 .../output/generated/crds/root_root.yaml | 0 .../generated/crds/servicegroup_svcgroup.yaml | 0 .../crds/servicegroup_svcgrouplinkinfo.yaml | 0 compiler/example/output/generated/go.mod | 0 compiler/example/output/generated/go.sum | 0 .../example/output/generated/helper/helper.go | 0 .../output/generated/nexus-client/client.go | 0 .../output/generated/nexus-client/errors.go | 0 .../output/generated/nexus-gql/gqlgen.yml | 0 .../nexus-gql/graph/generated/generated.go | 0 .../nexus-gql/graph/graphqlResolver.go | 0 .../nexus-gql/graph/model/models_gen.go | 0 .../generated/nexus-gql/graph/resolver.go | 0 .../generated/nexus-gql/graph/schema.graphqls | 0 .../nexus-gql/graph/schema.resolvers.go | 0 .../output/generated/nexus-gql/server.go | 0 .../output/generated/nexus-gql/tools.go | 0 .../openapi/openapi_generated.go.bak | 3418 ----------------- 183 files changed, 3418 deletions(-) mode change 100644 => 100755 compiler/example/output/generated/apis/apis.go mode change 100644 => 100755 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/types.go mode change 100644 => 100755 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100644 => 100755 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go mode change 100644 => 100755 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100644 => 100755 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go mode change 100644 => 100755 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100644 => 100755 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go mode change 100644 => 100755 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100644 => 100755 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go mode change 100644 => 100755 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go mode change 100644 => 100755 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/clientset.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/fake/clientset_generated.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/fake/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/fake/register.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/scheme/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/scheme/register.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_accesscontrolpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_additionalpolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_randompolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/policypkg.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgrouplinkinfo.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/servicegroup.tsm.tanzu.vmware.com_client.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go mode change 100644 => 100755 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/config.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/domain.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/footypeabc.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/factory.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/generic.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/internalinterfaces/factory_interfaces.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/root.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/interface.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go mode change 100644 => 100755 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/config.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/domain.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/root.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go mode change 100644 => 100755 compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go mode change 100644 => 100755 compiler/example/output/generated/common/common.go mode change 100644 => 100755 compiler/example/output/generated/crds/.gitkeep mode change 100644 => 100755 compiler/example/output/generated/crds/config_config.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/config_domain.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/config_footypeabc.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_additionalgnsdata.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_barchild.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_dns.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_foo.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_gns.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_ignorechild.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/gns_randomgnsdata.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/policypkg_accesscontrolpolicy.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/policypkg_acpconfig.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/policypkg_additionalpolicydata.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/policypkg_randompolicydata.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/policypkg_vmpolicy.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/root_root.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/servicegroup_svcgroup.yaml mode change 100644 => 100755 compiler/example/output/generated/crds/servicegroup_svcgrouplinkinfo.yaml mode change 100644 => 100755 compiler/example/output/generated/go.mod mode change 100644 => 100755 compiler/example/output/generated/go.sum mode change 100644 => 100755 compiler/example/output/generated/helper/helper.go mode change 100644 => 100755 compiler/example/output/generated/nexus-client/client.go mode change 100644 => 100755 compiler/example/output/generated/nexus-client/errors.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/gqlgen.yml mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/graph/generated/generated.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/graph/graphqlResolver.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/graph/model/models_gen.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/graph/resolver.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/graph/schema.graphqls mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/graph/schema.resolvers.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/server.go mode change 100644 => 100755 compiler/example/output/generated/nexus-gql/tools.go delete mode 100644 compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak diff --git a/compiler/example/output/generated/apis/apis.go b/compiler/example/output/generated/apis/apis.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/types.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/clientset.go b/compiler/example/output/generated/client/clientset/versioned/clientset.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/doc.go b/compiler/example/output/generated/client/clientset/versioned/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/fake/clientset_generated.go b/compiler/example/output/generated/client/clientset/versioned/fake/clientset_generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/fake/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/fake/register.go b/compiler/example/output/generated/client/clientset/versioned/fake/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/scheme/doc.go b/compiler/example/output/generated/client/clientset/versioned/scheme/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/scheme/register.go b/compiler/example/output/generated/client/clientset/versioned/scheme/register.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_accesscontrolpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_accesscontrolpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_additionalpolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_additionalpolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_randompolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_randompolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/policypkg.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/policypkg.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgrouplinkinfo.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgrouplinkinfo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/servicegroup.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/servicegroup.tsm.tanzu.vmware.com_client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/config.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/config.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/domain.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/domain.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/footypeabc.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/footypeabc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/factory.go b/compiler/example/output/generated/client/informers/externalversions/factory.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/generic.go b/compiler/example/output/generated/client/informers/externalversions/generic.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/compiler/example/output/generated/client/informers/externalversions/internalinterfaces/factory_interfaces.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/root.go b/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/root.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/interface.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/config.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/config.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/domain.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/domain.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/root.go b/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/root.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go b/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go b/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/common/common.go b/compiler/example/output/generated/common/common.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/.gitkeep b/compiler/example/output/generated/crds/.gitkeep old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/config_config.yaml b/compiler/example/output/generated/crds/config_config.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/config_domain.yaml b/compiler/example/output/generated/crds/config_domain.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/config_footypeabc.yaml b/compiler/example/output/generated/crds/config_footypeabc.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_additionalgnsdata.yaml b/compiler/example/output/generated/crds/gns_additionalgnsdata.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_barchild.yaml b/compiler/example/output/generated/crds/gns_barchild.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_dns.yaml b/compiler/example/output/generated/crds/gns_dns.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_foo.yaml b/compiler/example/output/generated/crds/gns_foo.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_gns.yaml b/compiler/example/output/generated/crds/gns_gns.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_ignorechild.yaml b/compiler/example/output/generated/crds/gns_ignorechild.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/gns_randomgnsdata.yaml b/compiler/example/output/generated/crds/gns_randomgnsdata.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/policypkg_accesscontrolpolicy.yaml b/compiler/example/output/generated/crds/policypkg_accesscontrolpolicy.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/policypkg_acpconfig.yaml b/compiler/example/output/generated/crds/policypkg_acpconfig.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/policypkg_additionalpolicydata.yaml b/compiler/example/output/generated/crds/policypkg_additionalpolicydata.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/policypkg_randompolicydata.yaml b/compiler/example/output/generated/crds/policypkg_randompolicydata.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/policypkg_vmpolicy.yaml b/compiler/example/output/generated/crds/policypkg_vmpolicy.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/root_root.yaml b/compiler/example/output/generated/crds/root_root.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/servicegroup_svcgroup.yaml b/compiler/example/output/generated/crds/servicegroup_svcgroup.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/crds/servicegroup_svcgrouplinkinfo.yaml b/compiler/example/output/generated/crds/servicegroup_svcgrouplinkinfo.yaml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/go.mod b/compiler/example/output/generated/go.mod old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/go.sum b/compiler/example/output/generated/go.sum old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/helper/helper.go b/compiler/example/output/generated/helper/helper.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-client/client.go b/compiler/example/output/generated/nexus-client/client.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-client/errors.go b/compiler/example/output/generated/nexus-client/errors.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/gqlgen.yml b/compiler/example/output/generated/nexus-gql/gqlgen.yml old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/graph/generated/generated.go b/compiler/example/output/generated/nexus-gql/graph/generated/generated.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/graph/graphqlResolver.go b/compiler/example/output/generated/nexus-gql/graph/graphqlResolver.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/graph/model/models_gen.go b/compiler/example/output/generated/nexus-gql/graph/model/models_gen.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/graph/resolver.go b/compiler/example/output/generated/nexus-gql/graph/resolver.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/graph/schema.graphqls b/compiler/example/output/generated/nexus-gql/graph/schema.graphqls old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/graph/schema.resolvers.go b/compiler/example/output/generated/nexus-gql/graph/schema.resolvers.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/server.go b/compiler/example/output/generated/nexus-gql/server.go old mode 100644 new mode 100755 diff --git a/compiler/example/output/generated/nexus-gql/tools.go b/compiler/example/output/generated/nexus-gql/tools.go old mode 100644 new mode 100755 diff --git a/compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak b/compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak deleted file mode 100644 index 044841fe8..000000000 --- a/compiler/pkg/openapi_generator/openapi/openapi_generated.go.bak +++ /dev/null @@ -1,3418 +0,0 @@ -//go:build !ignore_autogenerated -// +build !ignore_autogenerated - -// Intentionally left empty - -// Code generated by nexus-openapi-gen. DO NOT EDIT. - -// This file was autogenerated by openapi-gen. Do not edit it manually! - -package openapi - -import ( - common "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/common" - spec "github.com/vmware-tanzu/graph-framework-for-microservices/kube-openapi/pkg/validation/spec" -) - -func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { - return map[string]common.OpenAPIDefinition{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Child(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Cluster": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Cluster(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ClusterNamespace": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ClusterNamespace(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Config": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Config(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigNexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigNexusStatus(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigSpec": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigSpec(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.CrossPackageTester": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_CrossPackageTester(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Domain": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Domain(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainNexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainNexusStatus(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainSpec": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainSpec(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.EmptyStructTest": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_EmptyStructTest(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABC": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABC(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCNexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCNexusStatus(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCSpec": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCSpec(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Link(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_MatchCondition(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_NexusStatus(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.SomeStruct": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_SomeStruct(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.StructWithEmbeddedField": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_StructWithEmbeddedField(ref), - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.TestValMarkers": schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_TestValMarkers(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalDescription": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalDescription(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsData": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsData(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataSpec(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Answer": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Answer(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChild": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChild(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildSpec(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Child(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Description(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Dns": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Dns(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.DnsNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_DnsNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Foo": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Foo(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooSpec(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Gns": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Gns(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsSpec(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsState": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsState(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.HostPort": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_HostPort(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChild": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChild(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildSpec(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Link(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_NexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomDescription": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomDescription(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsData": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsData(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataNexusStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataNexusStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataSpec": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataSpec(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomStatus": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomStatus(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ReplicationSource": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ReplicationSource(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ServiceSegmentRef(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.gnsQueryFilters": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_gnsQueryFilters(ref), - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.metricsFilers": schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_metricsFilers(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfig": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfig(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigNexusStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigSpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigSpec(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPSvcGroupLinkInfo": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPSvcGroupLinkInfo(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicy": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicy(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicyNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicyNexusStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicySpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicySpec(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalDescription": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalDescription(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyData": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyData(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataNexusStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataSpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataSpec(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Child(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Link(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_NexusStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.PolicyCfgAction": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_PolicyCfgAction(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomDescription": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomDescription(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyData": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyData(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataNexusStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataSpec": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataSpec(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomStatus(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ResourceGroupID": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupID(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ResourceGroupRef": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupRef(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicy": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicy(ref), - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicyNexusStatus": schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicyNexusStatus(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Child(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Link(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NexusStatus(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NonNexusType": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NonNexusType(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Root": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Root(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootNexusStatus": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootNexusStatus(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootSpec": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootSpec(ref), - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.queryFilters": schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_queryFilters(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.Child": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Child(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.Link": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Link(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_NexusStatus(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroup": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroup(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfo": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfo(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoNexusStatus": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoNexusStatus(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoSpec": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoSpec(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupNexusStatus": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupNexusStatus(ref), - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupSpec": schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupSpec(ref), - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Cluster(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "myID": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"name", "myID"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ClusterNamespace(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "cluster": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition"), - }, - }, - "namespace": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition"), - }, - }, - }, - Required: []string{"cluster", "namespace"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.MatchCondition"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Config(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigNexusStatus", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ConfigSpec"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_ConfigSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "myStr0": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "myStr1": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "myStr2": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "xYZPort": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "aBCHost": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "clusterNamespaces": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ClusterNamespace"), - }, - }, - }, - }, - }, - "testValMarkers": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.TestValMarkers"), - }, - }, - "instance": { - SchemaProps: spec.SchemaProps{ - Type: []string{"number"}, - Format: "float", - }, - }, - "option_cu": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "gNSGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "dNSGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "vMPPoliciesGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "domainGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "fooExampleGvk": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - }, - }, - }, - "svcGrpInfoGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "aCPPoliciesGvk": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Link"), - }, - }, - }, - }, - }, - }, - Required: []string{"myStr0", "myStr1", "myStr2", "xYZPort", "aBCHost", "clusterNamespaces", "testValMarkers", "instance", "option_cu"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Child", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.ClusterNamespace", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Link", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.TestValMarkers"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_CrossPackageTester(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "test": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"test"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Domain(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainNexusStatus", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.DomainSpec"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_DomainSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "pointPort": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "pointString": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "pointInt": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "pointMap": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "pointSlice": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "sliceOfPoints": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "sliceOfArrPoints": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - }, - }, - }, - "mapOfArrsPoints": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - }, - }, - }, - "pointStruct": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Cluster"), - }, - }, - }, - Required: []string{"pointPort", "pointString", "pointInt", "pointMap", "pointSlice", "sliceOfPoints", "sliceOfArrPoints", "mapOfArrsPoints", "pointStruct"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.Cluster"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_EmptyStructTest(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABC(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCNexusStatus", "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.FooTypeABCSpec"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_FooTypeABCSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "fooA": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "fooB": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "FooC": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "byte", - }, - }, - "FooD": { - SchemaProps: spec.SchemaProps{ - Type: []string{"number"}, - Format: "float", - }, - }, - "foo_e": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "byte", - }, - }, - "foo_f": { - SchemaProps: spec.SchemaProps{ - Type: []string{"number"}, - Format: "float", - }, - }, - }, - Required: []string{"fooA", "fooB", "FooC", "FooD", "foo_e", "foo_f"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_MatchCondition(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "type": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"name", "type"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "sourceGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - "remoteGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - }, - Required: []string{"sourceGeneration", "remoteGeneration"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_SomeStruct(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_StructWithEmbeddedField(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "SomeStruct": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.SomeStruct"), - }, - }, - "MyStr": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"SomeStruct", "MyStr"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/config.tsm.tanzu.vmware.com/v1.SomeStruct"}, - } -} - -func schema_nexustempmodule_apis_configtsmtanzuvmwarecom_v1_TestValMarkers(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "myStr": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - MaxLength: IntPtr(8), - MinLength: IntPtr(2), - Pattern: "ab", - }, - }, - "myInt": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - Maximum: FloatPtr(8), - Minimum: FloatPtr(2), - ExclusiveMaximum: true, - }, - }, - "mySlice": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - MaxItems: IntPtr(3), - MinItems: IntPtr(2), - UniqueItems: true, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - }, - Required: []string{"myStr", "myInt", "mySlice"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "discriptionA": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionB": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionC": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionD": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsData(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalGnsDataSpec"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalStatus"), - }, - }, - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalGnsDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "description": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalDescription"), - }, - }, - }, - Required: []string{"description"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.AdditionalDescription"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_AdditionalStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "statusX": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "statusY": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"statusX", "statusY"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Answer(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChild(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.BarChildSpec"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_BarChildSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Description(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "color": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "version": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "projectId": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "testAns": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Answer"), - }, - }, - }, - }, - }, - "instance": { - SchemaProps: spec.SchemaProps{ - Type: []string{"number"}, - Format: "float", - }, - }, - "hostPort": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.HostPort"), - }, - }, - }, - Required: []string{"color", "version", "projectId", "testAns", "instance", "hostPort"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Answer", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.HostPort"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Dns(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.DnsNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.DnsNexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_DnsNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Foo(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.FooSpec"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_FooSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "password": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"password"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Gns(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsSpec"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "state": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsState"), - }, - }, - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.GnsState", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "domain": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - MaxLength: IntPtr(8), - MinLength: IntPtr(2), - Pattern: "abc", - }, - }, - "useSharedGateway": { - SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", - }, - }, - "description": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description"), - }, - }, - "meta": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "port": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "otherDescription": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description"), - }, - }, - "mapPointer": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "slicePointer": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "workloadSpec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("github.com/vmware-tanzu/cartographer/pkg/apis/v1alpha1.WorkloadSpec"), - }, - }, - "differentSpec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("github.com/vmware-tanzu/cartographer/pkg/apis/v1alpha1.WorkloadSpec"), - }, - }, - "serviceSegmentRef": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), - }, - }, - "serviceSegmentRefPointer": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), - }, - }, - "serviceSegmentRefs": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), - }, - }, - }, - }, - }, - "serviceSegmentRefMap": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"), - }, - }, - }, - }, - }, - "gnsServiceGroupsGvk": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - }, - }, - }, - "gnsAccessControlPolicyGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "fooChildGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "ignoreChildGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "fooGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - "dnsGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Link"), - }, - }, - }, - Required: []string{"domain", "useSharedGateway", "description", "meta", "port", "otherDescription", "mapPointer", "slicePointer", "workloadSpec", "differentSpec"}, - }, - }, - Dependencies: []string{ - "github.com/vmware-tanzu/cartographer/pkg/apis/v1alpha1.WorkloadSpec", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Child", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Description", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.Link", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.ServiceSegmentRef"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_GnsState(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "working": { - SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", - }, - }, - "temperature": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"working", "temperature"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_HostPort(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "host": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "port": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"host", "port"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChild(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.IgnoreChildSpec"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_IgnoreChildSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "sourceGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - "remoteGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - }, - Required: []string{"sourceGeneration", "remoteGeneration"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "discriptionA": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionB": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionC": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionD": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsData(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataNexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomGnsDataSpec"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomStatus"), - }, - }, - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.NexusStatus", "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomStatus"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomGnsDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "description": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomDescription"), - }, - }, - }, - Required: []string{"description"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/gns.tsm.tanzu.vmware.com/v1.RandomDescription"}, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_RandomStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "statusX": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "statusY": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"statusX", "statusY"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ReplicationSource(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"kind"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_ServiceSegmentRef(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "field1": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "field2": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"field1", "field2"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_gnsQueryFilters(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "startTime": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "endTime": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "interval": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "isServiceDeployment": { - SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", - }, - }, - "startVal": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"startTime", "endTime", "interval", "isServiceDeployment", "startVal"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_gnstsmtanzuvmwarecom_v1_metricsFilers(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "startTime": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "endTime": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "timeInterval": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "someUserArg1": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "someUserArg2": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "someUserArg3": { - SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", - }, - }, - }, - Required: []string{"startTime", "endTime", "timeInterval", "someUserArg1", "someUserArg2", "someUserArg3"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPConfigSpec"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPStatus"), - }, - }, - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.ACPStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPConfigSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "displayName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "gns": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "description": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "tags": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "projectId": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "conditions": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "destSvcGroupsGvk": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link"), - }, - }, - }, - }, - }, - "sourceSvcGroupsGvk": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link"), - }, - }, - }, - }, - }, - }, - Required: []string{"displayName", "gns", "description", "tags", "projectId", "conditions"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Link"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "statusABC": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "statusXYZ": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"statusABC", "statusXYZ"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ACPSvcGroupLinkInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "serviceName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "serviceType": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"serviceName", "serviceType"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicySpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicyNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicyNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AccessControlPolicySpec"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicyNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AccessControlPolicySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "policyConfigsGvk": { - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - }, - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.Child"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "discriptionA": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionB": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionC": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionD": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyData(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalPolicyDataSpec"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalStatus"), - }, - }, - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalPolicyDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "description": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalDescription"), - }, - }, - }, - Required: []string{"description"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.AdditionalDescription"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_AdditionalStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "statusX": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "statusY": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"statusX", "statusY"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "sourceGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - "remoteGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - }, - Required: []string{"sourceGeneration", "remoteGeneration"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_PolicyCfgAction(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "action": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"action"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomDescription(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "discriptionA": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionB": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionC": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "discriptionD": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"discriptionA", "discriptionB", "discriptionC", "discriptionD"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyData(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataNexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomPolicyDataSpec"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomStatus"), - }, - }, - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomStatus"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomPolicyDataSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "description": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomDescription"), - }, - }, - }, - Required: []string{"description"}, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.RandomDescription"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_RandomStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "statusX": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - "statusY": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"statusX", "statusY"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupID(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "type": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"name", "type"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_ResourceGroupRef(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "type": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"name", "type"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicyNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.VMpolicyNexusStatus"}, - } -} - -func schema_nexustempmodule_apis_policypkgtsmtanzuvmwarecom_v1_VMpolicyNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/policypkg.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "sourceGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - "remoteGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - }, - Required: []string{"sourceGeneration", "remoteGeneration"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_NonNexusType(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "test": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"test"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_Root(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootNexusStatus", "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.RootSpec"}, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_RootSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "configGvk": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Child"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/root.tsm.tanzu.vmware.com/v1.Child"}, - } -} - -func schema_nexustempmodule_apis_roottsmtanzuvmwarecom_v1_queryFilters(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "startTime": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "endTime": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "interval": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "isServiceDeployment": { - SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", - }, - }, - "startVal": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - Required: []string{"startTime", "endTime", "interval", "isServiceDeployment", "startVal"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Child(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_Link(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "group": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "kind": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "name": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"group", "kind", "name"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_NexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "sourceGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - "remoteGeneration": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int64", - }, - }, - }, - Required: []string{"sourceGeneration", "remoteGeneration"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroup(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupNexusStatus", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupSpec"}, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoNexusStatus"), - }, - }, - }, - Required: []string{"metadata"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoNexusStatus", "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.SvcGroupLinkInfoSpec"}, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupLinkInfoSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "clusterName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "domainName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "serviceName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "serviceType": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"clusterName", "domainName", "serviceName", "serviceType"}, - }, - }, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupNexusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "nexus": { - SchemaProps: spec.SchemaProps{ - Ref: ref("nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "nexustempmodule/apis/servicegroup.tsm.tanzu.vmware.com/v1.NexusStatus"}, - } -} - -func schema_nexustempmodule_apis_servicegrouptsmtanzuvmwarecom_v1_SvcGroupSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "displayName": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "description": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - "color": { - SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", - }, - }, - }, - Required: []string{"displayName", "description", "color"}, - }, - }, - } -} From cb19d24c4f8ce4a76f4b240266a9e00b389cf3ce Mon Sep 17 00:00:00 2001 From: pavithras Date: Tue, 17 Jan 2023 14:59:01 +0530 Subject: [PATCH 13/21] Modify log to print full file path --- compiler/pkg/openapi_generator/check-backward-compatibility.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index f98d24d62..73c9f77ef 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -58,7 +58,7 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) if err := filepath.Walk(existingCRDsPath, func(path string, info os.FileInfo, err error) error { if err != nil { if errors.Is(err, os.ErrNotExist) { - fmt.Printf("No files exists on the path %q: %v", existingCRDsPath, err) + fmt.Printf("No files exists on the path %q: %v", path, err) return nil } return fmt.Errorf("walking existing CRD files: %v", err) From c8c6d01d6d96b88723dc0edf47c4d249644efdf5 Mon Sep 17 00:00:00 2001 From: pavithras Date: Wed, 18 Jan 2023 11:48:27 +0530 Subject: [PATCH 14/21] Address review remarks --- .../cmd/generate-openapischema/generate-openapischema.go | 4 ++-- .../pkg/openapi_generator/check-backward-compatibility.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/cmd/generate-openapischema/generate-openapischema.go b/compiler/cmd/generate-openapischema/generate-openapischema.go index 3492601e2..5b1bfa203 100644 --- a/compiler/cmd/generate-openapischema/generate-openapischema.go +++ b/compiler/cmd/generate-openapischema/generate-openapischema.go @@ -27,7 +27,7 @@ func main() { force, err := strconv.ParseBool(forceUpgrade) if err != nil { - panic(fmt.Sprintf("invalid flag for nexus datamodel upgrade %v", err)) + panic(fmt.Sprintf("parsing command line argument: force, failed with error: %v", err)) } ref := func(pkg string) spec.Ref { @@ -62,6 +62,6 @@ func main() { } if err = generator.CheckBackwardCompatibility(existingCRDsPath, yamlsPath, force); err != nil { - panic(fmt.Sprintf("Error occurred when checking datamodel compatibility: %v", err)) + panic(fmt.Sprintf("Datamodel backward compatibility check failed with error: %v", err)) } } diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index 73c9f77ef..cd6fcd5bd 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -61,15 +61,16 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) fmt.Printf("No files exists on the path %q: %v", path, err) return nil } - return fmt.Errorf("walking existing CRD files: %v", err) + return fmt.Errorf("walking existing CRD's failed with error: %v", err) } if info.IsDir() { - fmt.Printf("Skipping dir %q\n", path) + log.Debugf("Skipping dir %q\n", path) return nil } if !strings.HasSuffix(info.Name(), ".yaml") { + log.Debugf("Expected filename with suffix %v but got %v", ".yaml", info.Name()) return nil } @@ -96,8 +97,7 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) return fmt.Errorf("error reading the crd file on the path %q: %v", newFilePath, err) } - existingCRDParts := splitCRDs(existingCRDContent) - for _, existingCRDPart := range existingCRDParts { + for _, existingCRDPart := range splitCRDs(existingCRDContent) { if existingCRDPart == "" { continue } From 9c3a03933864429999ce3d17fab2240d6326dbda Mon Sep 17 00:00:00 2001 From: pavithras Date: Wed, 18 Jan 2023 13:20:10 +0530 Subject: [PATCH 15/21] Update tests --- .../check-backward-compatibility.go | 63 ++++---- .../pkg/openapi_generator/generator_test.go | 134 ++++++++++++------ 2 files changed, 122 insertions(+), 75 deletions(-) diff --git a/compiler/pkg/openapi_generator/check-backward-compatibility.go b/compiler/pkg/openapi_generator/check-backward-compatibility.go index cd6fcd5bd..be21000bd 100644 --- a/compiler/pkg/openapi_generator/check-backward-compatibility.go +++ b/compiler/pkg/openapi_generator/check-backward-compatibility.go @@ -19,36 +19,6 @@ func splitCRDs(content []byte) []string { return strings.Split(string(content), "---") } -func compareCRDs(inCompatibleCRDs []*bytes.Buffer, existingCRDName, existingCRDContent string, newCRDContent []byte) ([]*bytes.Buffer, error) { - newCRDParts := splitCRDs(newCRDContent) - for _, newCRDPart := range newCRDParts { - if newCRDPart == "" { - continue - } - - newCRD := &extensionsv1.CustomResourceDefinition{} - err := yaml.Unmarshal([]byte(newCRDPart), newCRD) - if err != nil { - return nil, fmt.Errorf("error unmarshaling new CRD: %v", err) - } - - if newCRD.Name != existingCRDName { - continue - } - - // When there is a backward incompatibility, we fail the build if we don't force an upgrade. - isInCompatible, message, err := nexus_compare.CompareFiles([]byte(existingCRDContent), []byte(newCRDPart)) - if err != nil { - panic(fmt.Sprintf("Error occurred while checking CRD's %q backward compatibility: %v", existingCRDName, err)) - } - if isInCompatible { - log.Warnf("CRD %q is incompatible with the previous version", existingCRDName) - inCompatibleCRDs = append(inCompatibleCRDs, message) - } - } - return inCompatibleCRDs, nil -} - func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) error { var ( removedCRDs []string @@ -108,15 +78,38 @@ func CheckBackwardCompatibility(existingCRDsPath, yamlsPath string, force bool) return fmt.Errorf("error unmarshaling existing CRD: %v", err) } + found := false + for _, newCRDPart := range splitCRDs(newCRDContent) { + if newCRDPart == "" { + continue + } + + newCRD := &extensionsv1.CustomResourceDefinition{} + err := yaml.Unmarshal([]byte(newCRDPart), newCRD) + if err != nil { + return fmt.Errorf("error unmarshaling new CRD: %v", err) + } + + if newCRD.Name != existingCRD.Name { + continue + } + + found = true + isInCompatible, message, err := nexus_compare.CompareFiles([]byte(existingCRDPart), []byte(newCRDPart)) + if err != nil { + return err + } + if isInCompatible { + log.Warnf("CRD %q is incompatible with the previous version", existingCRD.Name) + inCompatibleCRDs = append(inCompatibleCRDs, message) + } + } + // Appears node is removed in the latest version - if len(newCRDContent) == 0 { + if !found { removedCRDs = append(removedCRDs, existingCRD.Name) continue } - - if inCompatibleCRDs, err = compareCRDs(inCompatibleCRDs, existingCRD.Name, existingCRDPart, newCRDContent); err != nil { - return err - } } return nil }); err != nil { diff --git a/compiler/pkg/openapi_generator/generator_test.go b/compiler/pkg/openapi_generator/generator_test.go index 0c41414f5..a774a547b 100644 --- a/compiler/pkg/openapi_generator/generator_test.go +++ b/compiler/pkg/openapi_generator/generator_test.go @@ -11,6 +11,7 @@ import ( "github.com/ghodss/yaml" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" pkg_generator "github.com/vmware-tanzu/graph-framework-for-microservices/compiler/pkg/generator" @@ -468,7 +469,7 @@ var _ = Describe("Generator", func() { }) Context("checks backward compatibility", func() { - It("should check for incompatible changes when forcing flag enable/disable between new and existing CRDs", func() { + It("should fail when the spec is changed", func() { rawDefs := map[string]common.OpenAPIDefinition{ getSchemaName("foo"): { Schema: spec.Schema{ @@ -505,42 +506,10 @@ var _ = Describe("Generator", func() { Expect(gen.ResolveRefs()).To(Succeed()) - // create a new CRD with following changes - // removing a required field `password`. - // adding a new field `changePassword` - // modifying the `name` type from `string` to `int32` tmpFile := fmt.Sprintf("%s/%s.yaml", tmpDir, "foos") err = os.WriteFile(tmpFile, []byte(newFooCRD), 0665) Expect(err).NotTo(HaveOccurred()) - // should fail when change in annotation - fooContent, err := os.ReadFile(tmpFile) - Expect(err).To(BeNil()) - - var crd extensionsv1.CustomResourceDefinition - err = yaml.Unmarshal(fooContent, &crd) - Expect(err).To(BeNil()) - - f, err := os.OpenFile(tmpFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0755) - Expect(err).To(BeNil()) - - ann := crd.Annotations["nexus"] - nexusAnnotation := &pkg_generator.NexusAnnotation{} - err = json.Unmarshal([]byte(ann), &nexusAnnotation) - Expect(err).To(BeNil()) - - // modify singleton field to `true` which leads to DM incompatible with previous version - nexusAnnotation.IsSingleton = true - annotationInByte, err := yaml.Marshal(nexusAnnotation) - Expect(err).To(BeNil()) - - crd.Annotations["nexus"] = string(annotationInByte) - serialized, err := yaml.Marshal(crd) - Expect(err).To(BeNil()) - - _, err = f.Write(serialized) - Expect(err).To(BeNil()) - // should be unsuccessful due to the incompatibility of the new and old CDs + forcing an upgrade=false err = gen.UpdateYAMLs(tmpDir) Expect(err).To(BeNil()) @@ -552,9 +521,9 @@ var _ = Describe("Generator", func() { cleanTempTestDir(oldCRDDir) Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n " + "detected changes in model stored in foos\n\n" + - "spec changes: \n/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n " + - "- one field removed:\n " + - "password:\n " + + "spec changes: \n" + + "/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n - " + + "one field removed:\n password:\n " + "type: string\n " + "format: string\n \n \n\n" + "/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties/name/format\n " + @@ -568,17 +537,102 @@ var _ = Describe("Generator", func() { "/spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required/0\n " + "± value change\n " + "- password\n " + - "+ changePassword\n \n\n" + - "nexus annotation changes: \n/is_singleton\n ± value change\n - false\n + true\n \n\n")) + "+ changePassword\n \n\n")) + }) - // should fail when CRD is removed in the new list - oldCRDDir, err = exampleFileTempTestDir("zoos.yaml") + Context("should check nexus annotation and crd name compatibility", func() { + var ( + crd extensionsv1.CustomResourceDefinition + f *os.File + err error + ) + + AfterEach(func() { + f.Close() + }) + + BeforeEach(func() { + tmpFile := fmt.Sprintf("%s/%s.yaml", tmpDir, "foos") + err := os.WriteFile(tmpFile, []byte(newFooCRD), 0665) + Expect(err).NotTo(HaveOccurred()) + + fooContent, err := os.ReadFile(tmpFile) + Expect(err).To(BeNil()) + + err = yaml.Unmarshal(fooContent, &crd) + Expect(err).To(BeNil()) + + f, err = os.OpenFile(tmpFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0755) + Expect(err).To(BeNil()) + }) + + It("should fail when the nexus annotation is changed", func() { + ann := crd.Annotations["nexus"] + nexusAnnotation := &pkg_generator.NexusAnnotation{} + err = json.Unmarshal([]byte(ann), &nexusAnnotation) + Expect(err).To(BeNil()) + + // modify singleton field to `true` which leads to DM incompatible with previous version + nexusAnnotation.IsSingleton = true + annotationInByte, err := yaml.Marshal(nexusAnnotation) + Expect(err).To(BeNil()) + + crd.Annotations["nexus"] = string(annotationInByte) + serialized, err := yaml.Marshal(crd) + Expect(err).To(BeNil()) + + _, err = f.Write(serialized) + Expect(err).To(BeNil()) + + // should be unsuccessful due to the incompatibility of the new and old CDs + forcing an upgrade=false + oldCRDDir, err := exampleFileTempTestDir("foos.yaml") + Expect(err).NotTo(HaveOccurred()) + + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) + cleanTempTestDir(oldCRDDir) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n " + + "detected changes in model stored in foos\n\n" + + "nexus annotation changes: \n" + + "/is_singleton\n " + + "± value change\n " + + "- false\n " + + "+ true\n \n\n")) + }) + + It("should fail when the CRD name is not matched", func() { + crd.Name = "foos.new_test.it" + serialized, err := yaml.Marshal(crd) + Expect(err).To(BeNil()) + + _, err = f.Write(serialized) + Expect(err).To(BeNil()) + + // should be unsuccessful due to the incompatibility of the new and old CDs + forcing an upgrade=false + oldCRDDir, err := exampleFileTempTestDir("foos.yaml") + Expect(err).NotTo(HaveOccurred()) + + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) + cleanTempTestDir(oldCRDDir) + Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n \"foos\" is deleted\n")) + }) + }) + + It("should check for incompatible changes if a node is not found in the new CRDs directory", func() { + oldCRDDir, err := exampleFileTempTestDir("zoos.yaml") Expect(err).NotTo(HaveOccurred()) + // should fail when CRD/Node is removed in the new list on force=false err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, false) Expect(err.Error()).To(Equal("datamodel upgrade failed due to incompatible datamodel changes: \n \"foos\" is deleted\n")) cleanTempTestDir(oldCRDDir) + // should not fail when CRD/Node is removed in the new list on force=true + err = generator.CheckBackwardCompatibility(oldCRDDir, tmpDir, true) + Expect(err).To(BeNil()) + cleanTempTestDir(oldCRDDir) + }) + + It("should not fail when the existing CRDs directory is empty", func() { // shouldn't fail when no crds exists emptyDir, err := exampleTestDir() Expect(err).NotTo(HaveOccurred()) From dc26434d5d1e39d4ac132653a53b445b72ea04e5 Mon Sep 17 00:00:00 2001 From: pavithras Date: Thu, 19 Jan 2023 15:43:31 +0530 Subject: [PATCH 16/21] Revert "change permisssions to _generated folder" --- compiler/Makefile | 1 - compiler/example/output/generated/apis/apis.go | 0 .../generated/apis/config.tsm.tanzu.vmware.com/register.go | 0 .../output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go | 0 .../generated/apis/config.tsm.tanzu.vmware.com/v1/register.go | 0 .../generated/apis/config.tsm.tanzu.vmware.com/v1/types.go | 0 .../apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go | 0 .../output/generated/apis/gns.tsm.tanzu.vmware.com/register.go | 0 .../output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go | 0 .../generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go | 0 .../output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go | 0 .../apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go | 0 .../generated/apis/policypkg.tsm.tanzu.vmware.com/register.go | 0 .../generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go | 0 .../generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go | 0 .../generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go | 0 .../output/generated/apis/root.tsm.tanzu.vmware.com/register.go | 0 .../output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go | 0 .../generated/apis/root.tsm.tanzu.vmware.com/v1/register.go | 0 .../output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go | 0 .../apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go | 0 .../generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go | 0 .../generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go | 0 .../apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go | 0 .../generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go | 0 .../v1/zz_generated.deepcopy.go | 0 .../output/generated/client/clientset/versioned/clientset.go | 0 .../example/output/generated/client/clientset/versioned/doc.go | 0 .../client/clientset/versioned/fake/clientset_generated.go | 0 .../output/generated/client/clientset/versioned/fake/doc.go | 0 .../output/generated/client/clientset/versioned/fake/register.go | 0 .../output/generated/client/clientset/versioned/scheme/doc.go | 0 .../generated/client/clientset/versioned/scheme/register.go | 0 .../versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go | 0 .../v1/config.tsm.tanzu.vmware.com_client.go | 0 .../versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go | 0 .../versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go | 0 .../versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go | 0 .../v1/fake/fake_config.tsm.tanzu.vmware.com_client.go | 0 .../typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go | 0 .../typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go | 0 .../versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go | 0 .../typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go | 0 .../clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go | 0 .../clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go | 0 .../v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go | 0 .../clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go | 0 .../typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go | 0 .../clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go | 0 .../v1/gns.tsm.tanzu.vmware.com_client.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go | 0 .../versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go | 0 .../typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go | 0 .../versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go | 0 .../typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../v1/fake/fake_accesscontrolpolicy.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go | 0 .../v1/fake/fake_additionalpolicydata.go | 0 .../v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go | 0 .../v1/fake/fake_randompolicydata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go | 0 .../v1/policypkg.tsm.tanzu.vmware.com_client.go | 0 .../typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go | 0 .../typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go | 0 .../versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go | 0 .../versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go | 0 .../v1/fake/fake_root.tsm.tanzu.vmware.com_client.go | 0 .../typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go | 0 .../versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go | 0 .../v1/root.tsm.tanzu.vmware.com_client.go | 0 .../versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go | 0 .../typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go | 0 .../v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go | 0 .../v1/fake/fake_svcgrouplinkinfo.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go | 0 .../v1/servicegroup.tsm.tanzu.vmware.com_client.go | 0 .../typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go | 0 .../externalversions/config.tsm.tanzu.vmware.com/interface.go | 0 .../externalversions/config.tsm.tanzu.vmware.com/v1/config.go | 0 .../externalversions/config.tsm.tanzu.vmware.com/v1/domain.go | 0 .../config.tsm.tanzu.vmware.com/v1/footypeabc.go | 0 .../externalversions/config.tsm.tanzu.vmware.com/v1/interface.go | 0 .../generated/client/informers/externalversions/factory.go | 0 .../generated/client/informers/externalversions/generic.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/interface.go | 0 .../gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go | 0 .../externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go | 0 .../gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go | 0 .../externalversions/internalinterfaces/factory_interfaces.go | 0 .../externalversions/policypkg.tsm.tanzu.vmware.com/interface.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/interface.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go | 0 .../externalversions/root.tsm.tanzu.vmware.com/interface.go | 0 .../externalversions/root.tsm.tanzu.vmware.com/v1/interface.go | 0 .../externalversions/root.tsm.tanzu.vmware.com/v1/root.go | 0 .../servicegroup.tsm.tanzu.vmware.com/interface.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/interface.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go | 0 .../client/listers/config.tsm.tanzu.vmware.com/v1/config.go | 0 .../client/listers/config.tsm.tanzu.vmware.com/v1/domain.go | 0 .../config.tsm.tanzu.vmware.com/v1/expansion_generated.go | 0 .../client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go | 0 .../listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go | 0 .../client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go | 0 .../generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go | 0 .../listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go | 0 .../generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go | 0 .../generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go | 0 .../client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go | 0 .../client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go | 0 .../listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go | 0 .../policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go | 0 .../client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go | 0 .../listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go | 0 .../client/listers/root.tsm.tanzu.vmware.com/v1/root.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go | 0 .../listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go | 0 .../servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go | 0 compiler/example/output/generated/common/common.go | 0 compiler/example/output/generated/crds/.gitkeep | 0 compiler/example/output/generated/crds/config_config.yaml | 0 compiler/example/output/generated/crds/config_domain.yaml | 0 compiler/example/output/generated/crds/config_footypeabc.yaml | 0 .../example/output/generated/crds/gns_additionalgnsdata.yaml | 0 compiler/example/output/generated/crds/gns_barchild.yaml | 0 compiler/example/output/generated/crds/gns_dns.yaml | 0 compiler/example/output/generated/crds/gns_foo.yaml | 0 compiler/example/output/generated/crds/gns_gns.yaml | 0 compiler/example/output/generated/crds/gns_ignorechild.yaml | 0 compiler/example/output/generated/crds/gns_randomgnsdata.yaml | 0 .../output/generated/crds/policypkg_accesscontrolpolicy.yaml | 0 compiler/example/output/generated/crds/policypkg_acpconfig.yaml | 0 .../output/generated/crds/policypkg_additionalpolicydata.yaml | 0 .../output/generated/crds/policypkg_randompolicydata.yaml | 0 compiler/example/output/generated/crds/policypkg_vmpolicy.yaml | 0 compiler/example/output/generated/crds/root_root.yaml | 0 .../example/output/generated/crds/servicegroup_svcgroup.yaml | 0 .../output/generated/crds/servicegroup_svcgrouplinkinfo.yaml | 0 compiler/example/output/generated/go.mod | 0 compiler/example/output/generated/go.sum | 0 compiler/example/output/generated/helper/helper.go | 0 compiler/example/output/generated/nexus-client/client.go | 0 compiler/example/output/generated/nexus-client/errors.go | 0 compiler/example/output/generated/nexus-gql/gqlgen.yml | 0 .../output/generated/nexus-gql/graph/generated/generated.go | 0 .../example/output/generated/nexus-gql/graph/graphqlResolver.go | 0 .../example/output/generated/nexus-gql/graph/model/models_gen.go | 0 compiler/example/output/generated/nexus-gql/graph/resolver.go | 0 .../example/output/generated/nexus-gql/graph/schema.graphqls | 0 .../example/output/generated/nexus-gql/graph/schema.resolvers.go | 0 compiler/example/output/generated/nexus-gql/server.go | 0 compiler/example/output/generated/nexus-gql/tools.go | 0 183 files changed, 1 deletion(-) mode change 100755 => 100644 compiler/example/output/generated/apis/apis.go mode change 100755 => 100644 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/types.go mode change 100755 => 100644 compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100755 => 100644 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go mode change 100755 => 100644 compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100755 => 100644 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go mode change 100755 => 100644 compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100755 => 100644 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go mode change 100755 => 100644 compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100755 => 100644 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go mode change 100755 => 100644 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go mode change 100755 => 100644 compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/clientset.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/fake/clientset_generated.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/fake/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/fake/register.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/scheme/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/scheme/register.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_accesscontrolpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_additionalpolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_randompolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/policypkg.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgrouplinkinfo.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/servicegroup.tsm.tanzu.vmware.com_client.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go mode change 100755 => 100644 compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/config.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/domain.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/footypeabc.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/factory.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/generic.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/internalinterfaces/factory_interfaces.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/root.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/interface.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go mode change 100755 => 100644 compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/config.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/domain.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/root.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go mode change 100755 => 100644 compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go mode change 100755 => 100644 compiler/example/output/generated/common/common.go mode change 100755 => 100644 compiler/example/output/generated/crds/.gitkeep mode change 100755 => 100644 compiler/example/output/generated/crds/config_config.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/config_domain.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/config_footypeabc.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_additionalgnsdata.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_barchild.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_dns.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_foo.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_gns.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_ignorechild.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/gns_randomgnsdata.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/policypkg_accesscontrolpolicy.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/policypkg_acpconfig.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/policypkg_additionalpolicydata.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/policypkg_randompolicydata.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/policypkg_vmpolicy.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/root_root.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/servicegroup_svcgroup.yaml mode change 100755 => 100644 compiler/example/output/generated/crds/servicegroup_svcgrouplinkinfo.yaml mode change 100755 => 100644 compiler/example/output/generated/go.mod mode change 100755 => 100644 compiler/example/output/generated/go.sum mode change 100755 => 100644 compiler/example/output/generated/helper/helper.go mode change 100755 => 100644 compiler/example/output/generated/nexus-client/client.go mode change 100755 => 100644 compiler/example/output/generated/nexus-client/errors.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/gqlgen.yml mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/graph/generated/generated.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/graph/graphqlResolver.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/graph/model/models_gen.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/graph/resolver.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/graph/schema.graphqls mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/graph/schema.resolvers.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/server.go mode change 100755 => 100644 compiler/example/output/generated/nexus-gql/tools.go diff --git a/compiler/Makefile b/compiler/Makefile index 7b0e27462..10b0a3d49 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -178,7 +178,6 @@ generate_code: @echo "Nexus Compiler: Moving files to output directory" cp -r _generated/{client,apis,crds,common,nexus-client,helper,nexus-gql} ${GENERATED_OUTPUT_DIRECTORY} cp -r ${GOPATH}/src/nexustempmodule/nexus-gql/graphql.so ${GENERATED_OUTPUT_DIRECTORY}/nexus-gql - chmod -R 0777 ${GENERATED_OUTPUT_DIRECTORY} @echo "Nexus Compiler: Compiler code generation completed" .PHONY: test_generate_code_in_container diff --git a/compiler/example/output/generated/apis/apis.go b/compiler/example/output/generated/apis/apis.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/types.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/config.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/types.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/gns.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/types.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/policypkg.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/types.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/root.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/types.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go b/compiler/example/output/generated/apis/servicegroup.tsm.tanzu.vmware.com/v1/zz_generated.deepcopy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/clientset.go b/compiler/example/output/generated/client/clientset/versioned/clientset.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/doc.go b/compiler/example/output/generated/client/clientset/versioned/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/fake/clientset_generated.go b/compiler/example/output/generated/client/clientset/versioned/fake/clientset_generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/fake/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/fake/register.go b/compiler/example/output/generated/client/clientset/versioned/fake/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/scheme/doc.go b/compiler/example/output/generated/client/clientset/versioned/scheme/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/scheme/register.go b/compiler/example/output/generated/client/clientset/versioned/scheme/register.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/config.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/domain.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_config.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_domain.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/fake/fake_footypeabc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/footypeabc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/config.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/barchild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/dns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_additionalgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_barchild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_dns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_foo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_gns.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_ignorechild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/fake/fake_randomgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/foo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/gns.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/ignorechild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go b/compiler/example/output/generated/client/clientset/versioned/typed/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_accesscontrolpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_accesscontrolpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_acpconfig.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_additionalpolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_additionalpolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_policypkg.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_randompolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_randompolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/fake/fake_vmpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/policypkg.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/policypkg.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go b/compiler/example/output/generated/client/clientset/versioned/typed/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/fake/fake_root.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/root.tsm.tanzu.vmware.com/v1/root.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/doc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_servicegroup.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgroup.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgrouplinkinfo.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/fake/fake_svcgrouplinkinfo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/generated_expansion.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/servicegroup.tsm.tanzu.vmware.com_client.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/servicegroup.tsm.tanzu.vmware.com_client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go b/compiler/example/output/generated/client/clientset/versioned/typed/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/config.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/config.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/domain.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/domain.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/footypeabc.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/footypeabc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/config.tsm.tanzu.vmware.com/v1/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/factory.go b/compiler/example/output/generated/client/informers/externalversions/factory.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/generic.go b/compiler/example/output/generated/client/informers/externalversions/generic.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/barchild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/dns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/foo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/gns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/ignorechild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go b/compiler/example/output/generated/client/informers/externalversions/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/compiler/example/output/generated/client/informers/externalversions/internalinterfaces/factory_interfaces.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go b/compiler/example/output/generated/client/informers/externalversions/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/root.go b/compiler/example/output/generated/client/informers/externalversions/root.tsm.tanzu.vmware.com/v1/root.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/interface.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/interface.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/interface.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go b/compiler/example/output/generated/client/informers/externalversions/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/config.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/config.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/domain.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/domain.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go b/compiler/example/output/generated/client/listers/config.tsm.tanzu.vmware.com/v1/footypeabc.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/additionalgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/barchild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/dns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/foo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/gns.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/ignorechild.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go b/compiler/example/output/generated/client/listers/gns.tsm.tanzu.vmware.com/v1/randomgnsdata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/accesscontrolpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/acpconfig.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/additionalpolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/randompolicydata.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go b/compiler/example/output/generated/client/listers/policypkg.tsm.tanzu.vmware.com/v1/vmpolicy.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/root.go b/compiler/example/output/generated/client/listers/root.tsm.tanzu.vmware.com/v1/root.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go b/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/expansion_generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go b/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgroup.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go b/compiler/example/output/generated/client/listers/servicegroup.tsm.tanzu.vmware.com/v1/svcgrouplinkinfo.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/common/common.go b/compiler/example/output/generated/common/common.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/.gitkeep b/compiler/example/output/generated/crds/.gitkeep old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/config_config.yaml b/compiler/example/output/generated/crds/config_config.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/config_domain.yaml b/compiler/example/output/generated/crds/config_domain.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/config_footypeabc.yaml b/compiler/example/output/generated/crds/config_footypeabc.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_additionalgnsdata.yaml b/compiler/example/output/generated/crds/gns_additionalgnsdata.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_barchild.yaml b/compiler/example/output/generated/crds/gns_barchild.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_dns.yaml b/compiler/example/output/generated/crds/gns_dns.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_foo.yaml b/compiler/example/output/generated/crds/gns_foo.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_gns.yaml b/compiler/example/output/generated/crds/gns_gns.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_ignorechild.yaml b/compiler/example/output/generated/crds/gns_ignorechild.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/gns_randomgnsdata.yaml b/compiler/example/output/generated/crds/gns_randomgnsdata.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/policypkg_accesscontrolpolicy.yaml b/compiler/example/output/generated/crds/policypkg_accesscontrolpolicy.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/policypkg_acpconfig.yaml b/compiler/example/output/generated/crds/policypkg_acpconfig.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/policypkg_additionalpolicydata.yaml b/compiler/example/output/generated/crds/policypkg_additionalpolicydata.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/policypkg_randompolicydata.yaml b/compiler/example/output/generated/crds/policypkg_randompolicydata.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/policypkg_vmpolicy.yaml b/compiler/example/output/generated/crds/policypkg_vmpolicy.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/root_root.yaml b/compiler/example/output/generated/crds/root_root.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/servicegroup_svcgroup.yaml b/compiler/example/output/generated/crds/servicegroup_svcgroup.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/crds/servicegroup_svcgrouplinkinfo.yaml b/compiler/example/output/generated/crds/servicegroup_svcgrouplinkinfo.yaml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/go.mod b/compiler/example/output/generated/go.mod old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/go.sum b/compiler/example/output/generated/go.sum old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/helper/helper.go b/compiler/example/output/generated/helper/helper.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-client/client.go b/compiler/example/output/generated/nexus-client/client.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-client/errors.go b/compiler/example/output/generated/nexus-client/errors.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/gqlgen.yml b/compiler/example/output/generated/nexus-gql/gqlgen.yml old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/graph/generated/generated.go b/compiler/example/output/generated/nexus-gql/graph/generated/generated.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/graph/graphqlResolver.go b/compiler/example/output/generated/nexus-gql/graph/graphqlResolver.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/graph/model/models_gen.go b/compiler/example/output/generated/nexus-gql/graph/model/models_gen.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/graph/resolver.go b/compiler/example/output/generated/nexus-gql/graph/resolver.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/graph/schema.graphqls b/compiler/example/output/generated/nexus-gql/graph/schema.graphqls old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/graph/schema.resolvers.go b/compiler/example/output/generated/nexus-gql/graph/schema.resolvers.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/server.go b/compiler/example/output/generated/nexus-gql/server.go old mode 100755 new mode 100644 diff --git a/compiler/example/output/generated/nexus-gql/tools.go b/compiler/example/output/generated/nexus-gql/tools.go old mode 100755 new mode 100644 From 3e9d893672e7931a72794458337c7f78dfcd4ef4 Mon Sep 17 00:00:00 2001 From: pavithras Date: Fri, 20 Jan 2023 20:27:23 +0530 Subject: [PATCH 17/21] Improve upgrade doc --- docs/getting_started/UpgradingDatamodel.md | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 docs/getting_started/UpgradingDatamodel.md diff --git a/docs/getting_started/UpgradingDatamodel.md b/docs/getting_started/UpgradingDatamodel.md new file mode 100644 index 000000000..24e35859f --- /dev/null +++ b/docs/getting_started/UpgradingDatamodel.md @@ -0,0 +1,103 @@ +# Upgrading the Datamodel + +This workflow will walk you through the steps to upgrade your applocal datamodel. + +* [Pre-requisites](UpgradingDatamodel.md#pre-requisites) +* [Upgrading](UpgradingDatamodel.md#Upgrading) + +## Pre-requisites +1. This workflow requires Datamodel to be initialised and installed before proceeding to further steps. Please follow the below link to configure datamodel + + #### [Playground](docs/getting_started/Playground.md) + +## Upgrading + +1. Make changes to root.go file in your datamodel, remove one field, change name of another and add one. + These changes are incompatible (although added filed wouldn't be, if it would have `json:"omitempty"` tag ) + ```shell + cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 + +++ root.go 2023-01-17 05:41:07.993795597 -0800 + @@ -25,7 +25,8 @@ + type Leader struct { + // Tags "Root" as a node in datamodel graph + nexus.Node + + - Name string + - Designation string + - DirectReports Manager `nexus:"children"` + + Name string + + Designation int + + DirectReports Manager `nexus:"children"` + + AdditionalData string + } + ' | patch root.go --ignore-whitespace + ``` + + + +2. Build your datamodel again. We have to use `--force=true` flag, or else the build would fail and show us the incompatible changes. + ``` + nexus datamodel build --name orgchart --force=true + DOCKER_REPO=orgchart VERSION=latest make docker_build + kind load docker-image orgchart:latest --name + ``` + +3. Delete leader object manually, as it is backwards incompatible + ```shell + kubectl -s localhost:5000 delete leaders.root.orgchart.org + ``` + +4. Install built datamodel into runtime. Like the build part, we also have to use force flag, or else the upgrade will fail due to incompatibility. + ``` + nexus datamodel install image orgchart:latest --namespace --force=true + ``` + +## Parameters + +### Common parameters(Build + Install) + + +| Name | Description | Type | Short | Value | +|--------------------|------------------------------|:------:|:-----:|:---------------| +| `force` | Force upgrade of a datamodel | bool | f | `false` | + + +### Build parameters + +| Name | Description | Type | Value | +|--------------------|-------------------------------------------------------|:------:|:-----------------| +| `prev-spec-dir` | The path to the directory containing all current CRDs | string | `build/crds` | +| `prev-spec-branch` | Branch of current CRDs to compare to new CRDs | string | `current branch` | + +* if "prev-spec-dir" is provided, (users can provide a directory path), where all the CRD's can be found. We would use those files as a source of truth. +* if "prev-spec-branch" is given, we can use the specified branch to figure out the CRDs directory. Otherwise, default to the HEAD of the current working branch. + +Specify each parameter using the `--key=value` argument to `nexus datamodel build`. For example, + +```console +$ nexus datamodel build --name orgchart --force=false --prev-spec-dir= --prev-spec-branch= +``` + +The above command builds the new datamodel against the master branch of the build/crds directory. + +## Compatibility + +| Use Cases | force=false | force=true | +|-------------------------------------------------------|:-----------:|:----------:| +| Add/Remove a field in the nexus node | ✗ | ✓ | +| Add a field with "omitempty" tag | ✓ | ✓ | +| Remove a field with "omitempty" tag | ✗ | ✓ | +| Add/Remove a child/link | ✗ | ✓ | +| Modify the type of a field | ✗ | ✓ | +| Modify the field name | ✗ | ✓ | +| Modify the REST API URIs | ✓ | ✓ | +| Add a field in status sub-resource of a nexus node | ✓ | ✓ | +| Remove a field in status sub-resource of a nexus node | ✗ | ✓ | +| Modify the field in status sub-resource | ✗ | ✓ | + + +* To achieve a successful installation with force=true, you must manually delete any CR objects that are already in the system. From f28b4921a4bf28069d840d0462c27d9a817053e9 Mon Sep 17 00:00:00 2001 From: pavithras Date: Mon, 23 Jan 2023 13:22:10 +0530 Subject: [PATCH 18/21] Improve doc --- docs/getting_started/UpgradingDatamodel.md | 109 +++++++++++---------- 1 file changed, 59 insertions(+), 50 deletions(-) diff --git a/docs/getting_started/UpgradingDatamodel.md b/docs/getting_started/UpgradingDatamodel.md index 24e35859f..12970f0ab 100644 --- a/docs/getting_started/UpgradingDatamodel.md +++ b/docs/getting_started/UpgradingDatamodel.md @@ -1,19 +1,74 @@ # Upgrading the Datamodel +## Purpose + +The purpose of Datamodel Upgrade is to make it possible to reinstall Datamodel without having to first uninstall and then reinstall it. + +## Parameters + +### Common parameters(Build + Install) + + +| Name | Description | Type | Shorthand | Value | +|---------|------------------------------|:----:|:---------:|:--------| +| `force` | Force upgrade of a datamodel | bool | f | `false` | + + +### Build parameters + +| Name | Description | Type | Value | +|--------------------|-------------------------------------------------------|:------:|:----------------------| +| `prev-spec-dir` | The path to the directory containing all current CRDs | string | `build/crds` | +| `prev-spec-branch` | Branch of current CRDs to compare to new CRDs | string | `current branch HEAD` | + +* if "prev-spec-dir" is provided, (users can provide a directory path), where all the CRD's can be found. We would use those files as a source of truth. +* if "prev-spec-branch" is given, we can use the specified branch to figure out the CRDs directory. Otherwise, default to the HEAD of the current working branch. + +Specify each parameter using the `--key=value` argument to `nexus datamodel build`. For example, + +``` +$ nexus datamodel build --name orgchart --force=false --prev-spec-dir= --prev-spec-branch= +``` + +The above command builds the new datamodel against the master branch of the build/crds directory. + +## Ensure Backwards Compatibility + +Please read the following scenarios to learn more about backwards compatibility. + +| Use Cases | force=false | force=true | +|-------------------------------------------------------|:-----------:|:----------:| +| Add/Remove a field in the nexus node | ✗ | ✓ | +| Add a field with "omitempty" tag | ✓ | ✓ | +| Remove a field with "omitempty" tag | ✗ | ✓ | +| Add/Remove a child/link | ✗ | ✓ | +| Modify the type of a field | ✗ | ✓ | +| Modify the field name | ✗ | ✓ | +| Modify the REST API URIs | ✓ | ✓ | +| Add a field in status sub-resource of a nexus node | ✓ | ✓ | +| Remove a field in status sub-resource of a nexus node | ✗ | ✓ | +| Modify the field in status sub-resource | ✗ | ✓ | + + +* To achieve a successful installation with force=true, you must manually delete any CR objects that are already in the system. + + +## Trying the example + This workflow will walk you through the steps to upgrade your applocal datamodel. * [Pre-requisites](UpgradingDatamodel.md#pre-requisites) * [Upgrading](UpgradingDatamodel.md#Upgrading) -## Pre-requisites +### Pre-requisites 1. This workflow requires Datamodel to be initialised and installed before proceeding to further steps. Please follow the below link to configure datamodel #### [Playground](docs/getting_started/Playground.md) -## Upgrading +### Upgrading -1. Make changes to root.go file in your datamodel, remove one field, change name of another and add one. - These changes are incompatible (although added filed wouldn't be, if it would have `json:"omitempty"` tag ) +1. Make changes to the root.go file in your datamodel by remove one field, renaming another and adding one. + These datamodel changes are incompatible (although the newly added field wouldn't be incompatible if it had the `json:"omitempty"` tag ) ```shell cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 +++ root.go 2023-01-17 05:41:07.993795597 -0800 @@ -55,49 +110,3 @@ This workflow will walk you through the steps to upgrade your applocal datamodel ``` nexus datamodel install image orgchart:latest --namespace --force=true ``` - -## Parameters - -### Common parameters(Build + Install) - - -| Name | Description | Type | Short | Value | -|--------------------|------------------------------|:------:|:-----:|:---------------| -| `force` | Force upgrade of a datamodel | bool | f | `false` | - - -### Build parameters - -| Name | Description | Type | Value | -|--------------------|-------------------------------------------------------|:------:|:-----------------| -| `prev-spec-dir` | The path to the directory containing all current CRDs | string | `build/crds` | -| `prev-spec-branch` | Branch of current CRDs to compare to new CRDs | string | `current branch` | - -* if "prev-spec-dir" is provided, (users can provide a directory path), where all the CRD's can be found. We would use those files as a source of truth. -* if "prev-spec-branch" is given, we can use the specified branch to figure out the CRDs directory. Otherwise, default to the HEAD of the current working branch. - -Specify each parameter using the `--key=value` argument to `nexus datamodel build`. For example, - -```console -$ nexus datamodel build --name orgchart --force=false --prev-spec-dir= --prev-spec-branch= -``` - -The above command builds the new datamodel against the master branch of the build/crds directory. - -## Compatibility - -| Use Cases | force=false | force=true | -|-------------------------------------------------------|:-----------:|:----------:| -| Add/Remove a field in the nexus node | ✗ | ✓ | -| Add a field with "omitempty" tag | ✓ | ✓ | -| Remove a field with "omitempty" tag | ✗ | ✓ | -| Add/Remove a child/link | ✗ | ✓ | -| Modify the type of a field | ✗ | ✓ | -| Modify the field name | ✗ | ✓ | -| Modify the REST API URIs | ✓ | ✓ | -| Add a field in status sub-resource of a nexus node | ✓ | ✓ | -| Remove a field in status sub-resource of a nexus node | ✗ | ✓ | -| Modify the field in status sub-resource | ✗ | ✓ | - - -* To achieve a successful installation with force=true, you must manually delete any CR objects that are already in the system. From 650e206d56419c6a24bfbf5f4a4ca113ccd00bb3 Mon Sep 17 00:00:00 2001 From: pavithras Date: Mon, 23 Jan 2023 17:28:05 +0530 Subject: [PATCH 19/21] Improve table --- docs/getting_started/UpgradingDatamodel.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/getting_started/UpgradingDatamodel.md b/docs/getting_started/UpgradingDatamodel.md index 12970f0ab..97240704d 100644 --- a/docs/getting_started/UpgradingDatamodel.md +++ b/docs/getting_started/UpgradingDatamodel.md @@ -32,15 +32,15 @@ $ nexus datamodel build --name orgchart --force=false --prev-spec-dir= Date: Tue, 24 Jan 2023 18:20:44 +0530 Subject: [PATCH 20/21] Explain the rules in detail --- docs/getting_started/UpgradingDatamodel.md | 340 +++++++++++++++++++-- 1 file changed, 323 insertions(+), 17 deletions(-) diff --git a/docs/getting_started/UpgradingDatamodel.md b/docs/getting_started/UpgradingDatamodel.md index 97240704d..c07e2bd27 100644 --- a/docs/getting_started/UpgradingDatamodel.md +++ b/docs/getting_started/UpgradingDatamodel.md @@ -34,23 +34,329 @@ The above command builds the new datamodel against the master branch of the buil ## What is considered a non-breaking and backward incompatible change? -The following cases are considered non-breaking and backward incompatible changes: - -| Use Cases | force=false | force=true | -|-------------------------------------------------------|:-----------:|:----------:| -| Add/Remove a field in the nexus node | ✗ | ✓ | -| Add a optional field ("omitempty" tag ) | ✓ | ✓ | -| Remove a optional field ("omitempty" tag ) | ✗ | ✓ | -| Add/Remove a child/link | ✗ | ✓ | -| Modify the type of a field | ✗ | ✓ | -| Modify the field name | ✗ | ✓ | -| Modify the REST API URIs | ✓ | ✓ | -| Add a field in status sub-resource of a nexus node | ✓ | ✓ | -| Remove a field in status sub-resource of a nexus node | ✗ | ✓ | -| Modify the field in status sub-resource | ✗ | ✓ | - - -* To achieve a successful installation with force=true, you must manually delete any CR objects that are already in the system. +#### To try the example + +1. It requires the Datamodel to be initialised and installed before proceeding to further steps. Please follow the below link to configure datamodel. + + #### [Playground](docs/getting_started/Playground.md) + +These are considered non-breaking or backward compatible changes: + +##### 1. Add an optional field in the nexus node (field with "omitempty" tag ) + +
+:eyes: Show example + +1. Edit the root.go file in your datamodel. +2. Add an optional field called `AdditionalField` (field with `omitempty` tag) in the node + ```shell + cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 + +++ root.go 2023-01-17 05:41:07.993795597 -0800 + @@ -25,7 +25,8 @@ + type Leader struct { + // Tags "Root" as a node in datamodel graph + nexus.Node + + - Name string + - Designation string + - DirectReports Manager `nexus:"children"` + + Name string + + Designation string + + DirectReports Manager `nexus:"children"` + + AdditionalField string `json:"additionalField,omitempty"` + } + ' | patch root.go --ignore-whitespace + ``` + + + +3. Rebuild your datamodel + ``` + nexus datamodel build --name orgchart + ``` + + Now, the build would succeed + +
+ +##### 2. Modify the existing REST API URIs + +
+:eyes: Show example + +1. Edit the root.go file in your datamodel. +2. Remove the GET URI from the spec + ```shell + var LeaderRestAPISpec = nexus.RestAPISpec{ + Uris: []nexus.RestURIs{ + { + Uri: "/leaders", + Methods: nexus.HTTPListResponse, + }, + }, + } + + // nexus-rest-api-gen:LeaderRestAPISpec + type Leader struct { + nexus.Node Name string + Designation string + DirectReports Manager `nexus:"children"` + } + ' | patch root.go --ignore-whitespace + ``` + + + +3. Rebuild your datamodel + ``` + nexus datamodel build --name orgchart + ``` + + Now, the build would succeed + +
+ +##### 3. Modify the existing REST APIs annotation + +
+:eyes: Show example + +1. Edit the root.go file and modify the nexus-rest-api-gen annotation spec + + ```shell + var NewLeaderRestAPISpec = nexus.RestAPISpec{ + Uris: []nexus.RestURIs{ + { + Uri: "/leaders", + Methods: nexus.HTTPListResponse, + }, + }, + } + + // nexus-rest-api-gen:NewLeaderRestAPISpec <==== + type Leader struct { + nexus.Node Name string + Designation string + DirectReports Manager `nexus:"children"` + } + ' | patch root.go --ignore-whitespace + ``` + + + +2. Rebuild your datamodel + ``` + nexus datamodel build --name orgchart + ``` + + Now, the build would succeed + +
+ +And these would be considered breaking changes: + +##### 1. Add a new field in the nexus node + +
+:eyes: Show example + +1. Edit the root.go file in your datamodel. +2. Add a new field called `AdditionalField` in the nexus node + ```shell + cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 + +++ root.go 2023-01-17 05:41:07.993795597 -0800 + @@ -25,7 +25,8 @@ + type Leader struct { + // Tags "Root" as a node in datamodel graph + nexus.Node + + - Name string + - Designation string + - DirectReports Manager `nexus:"children"` + + Name string + + Designation int + + DirectReports Manager `nexus:"children"` + + AdditionalField string + } + ' | patch root.go --ignore-whitespace + ``` + + + +3. Build your datamodel again + ``` + nexus datamodel build --name orgchart + ``` + + Now, the build would fail and display the incompatible changes as shown below. + ``` + panic: Error occurred when checking datamodel compatibility: datamodel upgrade failed due to incompatible datamodel changes: \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > detected changes in model stored in leaders.root.orgchart.org\n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > spec changes: \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required\n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > + one required field added:\n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > - additionalField\n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" + time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" + +4. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. + ``` + nexus datamodel build --name orgchart --force=true + ``` + +
+ +##### 2. Remove a field from the nexus node + +
+:eyes: Show example + +1. Edit the root.go file in your datamodel. +2. Remove a field called `Designation` from the `Leader` node + ```shell + cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 + +++ root.go 2023-01-17 05:41:07.993795597 -0800 + @@ -25,7 +25,8 @@ + type Leader struct { + // Tags "Root" as a node in datamodel graph + nexus.Node + + - Name string + - Designation string + - DirectReports Manager `nexus:"children"` + + Name string + + DirectReports Manager `nexus:"children"` + } + ' | patch root.go --ignore-whitespace + ``` + + + +3. Build your datamodel again + ``` + nexus datamodel build --name orgchart + ``` + + Now, the build would fail and display the incompatible changes as shown below. + + ``` + panic: Error occurred when checking datamodel compatibility: datamodel upgrade failed due to incompatible datamodel changes: \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > detected changes in model stored in leaders.root.orgchart.org\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > spec changes: \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one field removed:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > designation:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > type: string\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one required field removed:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - designation\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + +4. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. + ``` + nexus datamodel build --name orgchart --force=true + ``` + +
+ +##### 3. Remove an optional field from the nexus node (field with "omitempty" tag ) + +
+:eyes: Show example + +1. Edit the root.go file in your datamodel. +2. Remove an optional field called `Designation` from the `Leader` node + ```shell + cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 + +++ root.go 2023-01-17 05:41:07.993795597 -0800 + @@ -25,7 +25,8 @@ + type Leader struct { + // Tags "Root" as a node in datamodel graph + nexus.Node + + - Name string + - Designation string `json:"additionalField,omitempty"` + - DirectReports Manager `nexus:"children"` + + Name string + + DirectReports Manager `nexus:"children"` + } + ' | patch root.go --ignore-whitespace + ``` + + + +3. Build your datamodel again + ``` + nexus datamodel build --name orgchart + ``` + + Now, the build would fail and display the incompatible changes as shown below. + + ``` + panic: Error occurred when checking datamodel compatibility: datamodel upgrade failed due to incompatible datamodel changes: \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > detected changes in model stored in leaders.root.orgchart.org\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > spec changes: \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one field removed:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > designation:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > type: string\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one required field removed:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - designation\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" + +4. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. + ``` + nexus datamodel build --name orgchart --force=true + ``` + +
+ + ## Trying the example From c10d670df24380eab17e76d327ec368cdcd2b7de Mon Sep 17 00:00:00 2001 From: pavithras Date: Tue, 24 Jan 2023 21:04:58 +0530 Subject: [PATCH 21/21] Improve doc --- docs/getting_started/UpgradingDatamodel.md | 280 ++++++--------------- 1 file changed, 70 insertions(+), 210 deletions(-) diff --git a/docs/getting_started/UpgradingDatamodel.md b/docs/getting_started/UpgradingDatamodel.md index c07e2bd27..f84a8ecbb 100644 --- a/docs/getting_started/UpgradingDatamodel.md +++ b/docs/getting_started/UpgradingDatamodel.md @@ -32,49 +32,26 @@ $ nexus datamodel build --name orgchart --force=false --prev-spec-dir= -:eyes: Show example +Show example -1. Edit the root.go file in your datamodel. -2. Add an optional field called `AdditionalField` (field with `omitempty` tag) in the node - ```shell - cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 - +++ root.go 2023-01-17 05:41:07.993795597 -0800 - @@ -25,7 +25,8 @@ +1. Add an optional field called `Location` (field with `omitempty` tag) in the node + ``` type Leader struct { // Tags "Root" as a node in datamodel graph nexus.Node - - Name string - - Designation string - - DirectReports Manager `nexus:"children"` - + Name string - + Designation string - + DirectReports Manager `nexus:"children"` - + AdditionalField string `json:"additionalField,omitempty"` + Name string + Designation string + DirectReports Manager `nexus:"children"` + + Location string `json:"location,omitempty"` } - ' | patch root.go --ignore-whitespace - ``` - - -3. Rebuild your datamodel +2. Rebuild your datamodel ``` nexus datamodel build --name orgchart ``` @@ -83,16 +60,19 @@ These are considered non-breaking or backward compatible changes: -##### 2. Modify the existing REST API URIs +##### 2. Modify the REST APIs URIs
-:eyes: Show example +Show example -1. Edit the root.go file in your datamodel. -2. Remove the GET URI from the spec +1. Remove the GET URI from the spec ```shell var LeaderRestAPISpec = nexus.RestAPISpec{ Uris: []nexus.RestURIs{ + - { + - Uri: "/leader/{root.Leader}", + - Methods: nexus.DefaultHTTPMethodsResponses, + - }, { Uri: "/leaders", Methods: nexus.HTTPListResponse, @@ -105,17 +85,10 @@ These are considered non-breaking or backward compatible changes: nexus.Node Name string Designation string DirectReports Manager `nexus:"children"` + Location string `json:"location,omitempty"` } - ' | patch root.go --ignore-whitespace - ``` - - -3. Rebuild your datamodel +2. Rebuild your datamodel ``` nexus datamodel build --name orgchart ``` @@ -124,12 +97,12 @@ These are considered non-breaking or backward compatible changes:
-##### 3. Modify the existing REST APIs annotation +##### 3. Modify the REST APIs annotation
-:eyes: Show example +Show example -1. Edit the root.go file and modify the nexus-rest-api-gen annotation spec +1. Modify the `nexus-rest-api-gen` annotation spec from `LeaderRestAPISpec` to `NewLeaderRestAPISpec` ```shell var NewLeaderRestAPISpec = nexus.RestAPISpec{ @@ -141,20 +114,13 @@ These are considered non-breaking or backward compatible changes: }, } - // nexus-rest-api-gen:NewLeaderRestAPISpec <==== + // nexus-rest-api-gen:NewLeaderRestAPISpec <== type Leader struct { nexus.Node Name string Designation string DirectReports Manager `nexus:"children"` + Location string `json:"location,omitempty"` } - ' | patch root.go --ignore-whitespace - ``` - - 2. Rebuild your datamodel ``` @@ -165,41 +131,27 @@ These are considered non-breaking or backward compatible changes:
-And these would be considered breaking changes: +## What is considered a backward incompatible change? -##### 1. Add a new field in the nexus node +##### 1. Add a required field in the nexus node
-:eyes: Show example +Show example -1. Edit the root.go file in your datamodel. -2. Add a new field called `AdditionalField` in the nexus node - ```shell - cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 - +++ root.go 2023-01-17 05:41:07.993795597 -0800 - @@ -25,7 +25,8 @@ +1. Add a required field called `AdditionalField` in the existing nexus node + ``` type Leader struct { // Tags "Root" as a node in datamodel graph nexus.Node - - Name string - - Designation string - - DirectReports Manager `nexus:"children"` - + Name string - + Designation int - + DirectReports Manager `nexus:"children"` - + AdditionalField string + Name string + Designation int + DirectReports Manager `nexus:"children"` + Location string `json:"location,omitempty"` + + AdditionalField string } - ' | patch root.go --ignore-whitespace - ``` - - -3. Build your datamodel again +2. Rebuild the datamodel ``` nexus datamodel build --name orgchart ``` @@ -219,44 +171,32 @@ And these would be considered breaking changes: time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" time="2023-01-24T12:21:56+05:30" level=error msg="\t > \n" -4. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. +3. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. ``` nexus datamodel build --name orgchart --force=true ```
-##### 2. Remove a field from the nexus node +##### 2. Remove a required field from the nexus node
-:eyes: Show example +Show example -1. Edit the root.go file in your datamodel. -2. Remove a field called `Designation` from the `Leader` node - ```shell - cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 - +++ root.go 2023-01-17 05:41:07.993795597 -0800 - @@ -25,7 +25,8 @@ +1. Remove a required field called `AdditionalField` from the `Leader` node + ``` type Leader struct { // Tags "Root" as a node in datamodel graph nexus.Node - - Name string - - Designation string - - DirectReports Manager `nexus:"children"` - + Name string - + DirectReports Manager `nexus:"children"` + Name string + Designation int + DirectReports Manager `nexus:"children"` + Location string `json:"location,omitempty"` + - AdditionalField string } - ' | patch root.go --ignore-whitespace - ``` - - -3. Build your datamodel again +2. Rebuild the datamodel ``` nexus datamodel build --name orgchart ``` @@ -270,21 +210,21 @@ And these would be considered breaking changes: time="2023-01-24T14:08:00+05:30" level=error msg="\t > spec changes: \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one field removed:\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > designation:\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > additionalField:\n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > type: string\n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required\n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one required field removed:\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > - designation\n" + time="2023-01-24T14:08:00+05:30" level=error msg="\t > - additionalField\n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" -4. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. +3. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. ``` nexus datamodel build --name orgchart --force=true ``` @@ -294,34 +234,21 @@ And these would be considered breaking changes: ##### 3. Remove an optional field from the nexus node (field with "omitempty" tag )
-:eyes: Show example +Show example -1. Edit the root.go file in your datamodel. -2. Remove an optional field called `Designation` from the `Leader` node - ```shell - cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 - +++ root.go 2023-01-17 05:41:07.993795597 -0800 - @@ -25,7 +25,8 @@ +1. Remove an optional field called `Location` from the `Leader` node + ``` type Leader struct { // Tags "Root" as a node in datamodel graph nexus.Node - - Name string - - Designation string `json:"additionalField,omitempty"` - - DirectReports Manager `nexus:"children"` - + Name string - + DirectReports Manager `nexus:"children"` + Name string + Designation int + DirectReports Manager `nexus:"children"` + - Location string `json:"location,omitempty"` } - ' | patch root.go --ignore-whitespace - ``` - - -3. Build your datamodel again +2. Rebuild the datamodel ``` nexus datamodel build --name orgchart ``` @@ -330,89 +257,22 @@ And these would be considered breaking changes: ``` panic: Error occurred when checking datamodel compatibility: datamodel upgrade failed due to incompatible datamodel changes: \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > detected changes in model stored in leaders.root.orgchart.org\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > spec changes: \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one field removed:\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > designation:\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > type: string\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/required\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > - one required field removed:\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > - designation\n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - time="2023-01-24T14:08:00+05:30" level=error msg="\t > \n" - -4. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. + time="2023-01-24T20:56:26+05:30" level=error msg="\t > detected changes in model stored in leaders.root.orgchart.org\n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > \n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > spec changes: \n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > /spec/versions/name=v1/schema/openAPIV3Schema/properties/spec/properties\n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > - one field removed:\n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > location:\n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > type: string\n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > \n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > \n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > \n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > \n" + time="2023-01-24T20:56:26+05:30" level=error msg="\t > \n" + +3. Use the `—force=true` flag to ignore any build failures and obtain successful code generation. ``` nexus datamodel build --name orgchart --force=true ```
- - - - -## Trying the example - -This workflow will walk you through the steps to upgrade your applocal datamodel. - -* [Pre-requisites](UpgradingDatamodel.md#pre-requisites) -* [Upgrading](UpgradingDatamodel.md#Upgrading) - -### Pre-requisites -1. This workflow requires Datamodel to be initialised and installed before proceeding to further steps. Please follow the below link to configure datamodel - - #### [Playground](docs/getting_started/Playground.md) - -### Upgrading - -1. Make changes to the root.go file in your datamodel by remove one field, renaming another and adding one. - These datamodel changes are incompatible (although the newly added field wouldn't be incompatible if it had the `json:"omitempty"` tag ) - ```shell - cat <<< '--- root.go.orig 2023-01-05 04:22:07.475996737 -0800 - +++ root.go 2023-01-17 05:41:07.993795597 -0800 - @@ -25,7 +25,8 @@ - type Leader struct { - // Tags "Root" as a node in datamodel graph - nexus.Node - - - Name string - - Designation string - - DirectReports Manager `nexus:"children"` - + Name string - + Designation int - + DirectReports Manager `nexus:"children"` - + AdditionalData string - } - ' | patch root.go --ignore-whitespace - ``` - - - -2. Build your datamodel again. We have to use `--force=true` flag, or else the build would fail and show us the incompatible changes. - ``` - nexus datamodel build --name orgchart --force=true - DOCKER_REPO=orgchart VERSION=latest make docker_build - kind load docker-image orgchart:latest --name - ``` - -3. Delete leader object manually, as it is backwards incompatible - ```shell - kubectl -s localhost:5000 delete leaders.root.orgchart.org - ``` - -4. Install built datamodel into runtime. Like the build part, we also have to use force flag, or else the upgrade will fail due to incompatibility. - ``` - nexus datamodel install image orgchart:latest --namespace --force=true - ```